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 f5d3d62..acdf525 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)