kernel-fxtec-pro1x/drivers/hv
Vitaly Kuznetsov 4dbfc2e680 Drivers: hv: kvp: fix IP Failover
Hyper-V VMs can be replicated to another hosts and there is a feature to
set different IP for replicas, it is called 'Failover TCP/IP'. When
such guest starts Hyper-V host sends it KVP_OP_SET_IP_INFO message as soon
as we finish negotiation procedure. The problem is that it can happen (and
it actually happens) before userspace daemon connects and we reply with
HV_E_FAIL to the message. As there are no repetitions we fail to set the
requested IP.

Solve the issue by postponing our reply to the negotiation message till
userspace daemon is connected. We can't wait too long as there is a
host-side timeout (cca. 75 seconds) and if we fail to reply in this time
frame the whole KVP service will become inactive. The solution is not
ideal - if it takes userspace daemon more than 60 seconds to connect
IP Failover will still fail but I don't see a solution with our current
separation between kernel and userspace parts.

Other two modules (VSS and FCOPY) don't require such delay, leave them
untouched.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-05-01 09:23:14 -07:00
..
channel.c Drivers: hv: vmbus: Give control over how the ring access is serialized 2016-02-07 21:34:12 -08:00
channel_mgmt.c Drivers: hv: vmbus: avoid unneeded compiler optimizations in vmbus_wait_for_unload() 2016-03-01 16:57:20 -08:00
connection.c Drivers: hv: vmbus: Export the vmbus_set_event() API 2016-04-30 14:00:19 -07:00
hv.c Drivers: hv: vmbus: Support handling messages on multiple CPUs 2016-03-01 16:57:20 -08:00
hv_balloon.c Drivers: hv: balloon: Enable dynamic memory protocol negotiation with Windows 10 hosts 2015-08-04 22:28:39 -07:00
hv_fcopy.c Drivers: hv: util: Pass the channel information during the init call 2016-03-01 16:57:20 -08:00
hv_kvp.c Drivers: hv: kvp: fix IP Failover 2016-05-01 09:23:14 -07:00
hv_snapshot.c Drivers: hv: util: Pass the channel information during the init call 2016-03-01 16:57:20 -08:00
hv_util.c Drivers: hv: util: Pass the channel information during the init call 2016-03-01 16:57:20 -08:00
hv_utils_transport.c Drivers: hv: utils: Remove util transport handler from list if registration fails 2016-03-01 16:57:20 -08:00
hv_utils_transport.h Drivers: hv: utils: introduce HVUTIL_TRANSPORT_DESTROY mode 2015-12-14 19:27:30 -08:00
hyperv_vmbus.h Drivers: hv: kvp: fix IP Failover 2016-05-01 09:23:14 -07:00
Kconfig x86: Make Linux guest support optional 2013-03-04 13:14:25 -08:00
Makefile Drivers: hv: util: introduce hv_utils_transport abstraction 2015-05-24 12:17:41 -07:00
ring_buffer.c Drivers: hv: vmbus: Implement APIs to support "in place" consumption of vmbus packets 2016-04-30 14:00:19 -07:00
vmbus_drv.c drivers:hv: Separate out frame buffer logic when picking MMIO range 2016-04-30 14:01:37 -07:00