OSDN Git Service

udp_tunnel: remove REGISTER/UNREGISTER handling from tunnel drivers
authorJakub Kicinski <kuba@kernel.org>
Wed, 6 Jan 2021 21:06:35 +0000 (13:06 -0800)
committerJakub Kicinski <kuba@kernel.org>
Thu, 7 Jan 2021 20:53:29 +0000 (12:53 -0800)
udp_tunnel_nic handles REGISTER and UNREGISTER event, now that all
drivers use that infra we can drop the event handling in the tunnel
drivers.

Reviewed-by: Alexander Duyck <alexanderduyck@fb.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/geneve.c
drivers/net/vxlan.c

index 5523f06..6aa775d 100644 (file)
@@ -1851,16 +1851,10 @@ static int geneve_netdevice_event(struct notifier_block *unused,
 {
        struct net_device *dev = netdev_notifier_info_to_dev(ptr);
 
-       if (event == NETDEV_UDP_TUNNEL_PUSH_INFO ||
-           event == NETDEV_UDP_TUNNEL_DROP_INFO) {
-               geneve_offload_rx_ports(dev, event == NETDEV_UDP_TUNNEL_PUSH_INFO);
-       } else if (event == NETDEV_UNREGISTER) {
-               if (!dev->udp_tunnel_nic_info)
-                       geneve_offload_rx_ports(dev, false);
-       } else if (event == NETDEV_REGISTER) {
-               if (!dev->udp_tunnel_nic_info)
-                       geneve_offload_rx_ports(dev, true);
-       }
+       if (event == NETDEV_UDP_TUNNEL_PUSH_INFO)
+               geneve_offload_rx_ports(dev, true);
+       else if (event == NETDEV_UDP_TUNNEL_DROP_INFO)
+               geneve_offload_rx_ports(dev, false);
 
        return NOTIFY_DONE;
 }
index a8ad710..b936443 100644 (file)
@@ -4521,17 +4521,12 @@ static int vxlan_netdevice_event(struct notifier_block *unused,
        struct net_device *dev = netdev_notifier_info_to_dev(ptr);
        struct vxlan_net *vn = net_generic(dev_net(dev), vxlan_net_id);
 
-       if (event == NETDEV_UNREGISTER) {
-               if (!dev->udp_tunnel_nic_info)
-                       vxlan_offload_rx_ports(dev, false);
+       if (event == NETDEV_UNREGISTER)
                vxlan_handle_lowerdev_unregister(vn, dev);
-       } else if (event == NETDEV_REGISTER) {
-               if (!dev->udp_tunnel_nic_info)
-                       vxlan_offload_rx_ports(dev, true);
-       } else if (event == NETDEV_UDP_TUNNEL_PUSH_INFO ||
-                  event == NETDEV_UDP_TUNNEL_DROP_INFO) {
-               vxlan_offload_rx_ports(dev, event == NETDEV_UDP_TUNNEL_PUSH_INFO);
-       }
+       else if (event == NETDEV_UDP_TUNNEL_PUSH_INFO)
+               vxlan_offload_rx_ports(dev, true);
+       else if (event == NETDEV_UDP_TUNNEL_DROP_INFO)
+               vxlan_offload_rx_ports(dev, false);
 
        return NOTIFY_DONE;
 }