1
0
Fork 0
alistair23-linux/drivers/net/hyperv
Vitaly Kuznetsov 27a70af3f4 hv_netvsc: rework link status change handling
There are several issues in hv_netvsc driver with regards to link status
change handling:
- RNDIS_STATUS_NETWORK_CHANGE results in calling userspace helper doing
  '/etc/init.d/network restart' and this is inappropriate and broken for
  many reasons.
- link_watch infrastructure only sends one notification per second and
  in case of e.g. paired disconnect/connect events we get only one
  notification with last status. This makes it impossible to handle such
  situations in userspace.

Redo link status changes handling in the following way:
- Create a list of reconfig events in network device context.
- On a reconfig event add it to the list of events and schedule
  netvsc_link_change().
- In netvsc_link_change() ensure 2-second delay between link status
  changes.
- Handle RNDIS_STATUS_NETWORK_CHANGE as a paired disconnect/connect event.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-12-01 14:58:07 -05:00
..
Kconfig
Makefile
hyperv_net.h hv_netvsc: rework link status change handling 2015-12-01 14:58:07 -05:00
netvsc.c hv_netvsc: Add structs and handlers for VF messages 2015-07-27 01:12:26 -07:00
netvsc_drv.c hv_netvsc: rework link status change handling 2015-12-01 14:58:07 -05:00
rndis_filter.c hv_netvsc: Set vRSS with num_chn in RNDIS filter 2015-08-12 14:45:38 -07:00