ixgbe: don't clear UDP tunnel ports when RXCSUM is disabled
authorJakub Kicinski <kuba@kernel.org>
Fri, 10 Jul 2020 00:42:50 +0000 (17:42 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 10 Jul 2020 20:54:00 +0000 (13:54 -0700)
It appears the clearing of UDP tunnel ports when RXCSUM
is disabled is unnecessary. Driver will not pay attention
to checksum bits if RXCSUM is not set, so we can let
the hardware parse the packets.

Note that the UDP tunnel port NDO handlers don't pay attention
to the state of RXCSUM, so the ports could had been re-programmed,
anyway.

This cleanup simplifies later conversion patch.

v2:
 - break this out of the following patch.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c

index f5d3d6230786753ef1192fb0afb9e932f489fa77..acdf525272a3474addf546262e37c07586fec85c 100644 (file)
@@ -9784,26 +9784,6 @@ static int ixgbe_set_features(struct net_device *netdev,
 
        netdev->features = features;
 
-       if ((adapter->flags & IXGBE_FLAG_VXLAN_OFFLOAD_CAPABLE)) {
-               if (features & NETIF_F_RXCSUM) {
-                       adapter->flags2 |= IXGBE_FLAG2_UDP_TUN_REREG_NEEDED;
-               } else {
-                       u32 port_mask = IXGBE_VXLANCTRL_VXLAN_UDPPORT_MASK;
-
-                       ixgbe_clear_udp_tunnel_port(adapter, port_mask);
-               }
-       }
-
-       if ((adapter->flags & IXGBE_FLAG_GENEVE_OFFLOAD_CAPABLE)) {
-               if (features & NETIF_F_RXCSUM) {
-                       adapter->flags2 |= IXGBE_FLAG2_UDP_TUN_REREG_NEEDED;
-               } else {
-                       u32 port_mask = IXGBE_VXLANCTRL_GENEVE_UDPPORT_MASK;
-
-                       ixgbe_clear_udp_tunnel_port(adapter, port_mask);
-               }
-       }
-
        if ((changed & NETIF_F_HW_L2FW_DOFFLOAD) && adapter->num_rx_pools > 1)
                ixgbe_reset_l2fw_offload(adapter);
        else if (need_reset)