net: call udp_tunnel_get_rx_info when NETIF_F_RX_UDP_TUNNEL_PORT is toggled
authorSabrina Dubroca <sd@queasysnail.net>
Fri, 21 Jul 2017 10:49:31 +0000 (12:49 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 24 Jul 2017 20:52:59 +0000 (13:52 -0700)
commitae847f40b6418a7d6e197f6ef0d85f40e313c4d4
tree9793fc7c21ee9924d32f56f61c607228a35ae40e
parent296d8ee37c50f139d934bdefbab85509b2e4a525
net: call udp_tunnel_get_rx_info when NETIF_F_RX_UDP_TUNNEL_PORT is toggled

NETIF_F_RX_UDP_TUNNEL_PORT is special, in that we need to do more than
just flip the bit in dev->features. When disabling we must also clear
currently offloaded ports from the device, and when enabling we must
tell the device to offload the ports it can.

Because vxlan stores its sockets in a hashtable and they are inserted at
the head of per-bucket lists, switching the feature off and then on can
result in a different set of ports being offloaded (depending on the
HW's limits).

Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/dev.c