Patch "bonding: Fix feature propagation of NETIF_F_GSO_ENCAP_ALL" has been added to the 6.1-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    bonding: Fix feature propagation of NETIF_F_GSO_ENCAP_ALL

to the 6.1-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     bonding-fix-feature-propagation-of-netif_f_gso_encap.patch
and it can be found in the queue-6.1 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit daa4b2dc2184b464a16688b8dbbf4238a05d62aa
Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Date:   Tue Dec 10 15:12:43 2024 +0100

    bonding: Fix feature propagation of NETIF_F_GSO_ENCAP_ALL
    
    [ Upstream commit 77b11c8bf3a228d1c63464534c2dcc8d9c8bf7ff ]
    
    Drivers like mlx5 expose NIC's vlan_features such as
    NETIF_F_GSO_UDP_TUNNEL & NETIF_F_GSO_UDP_TUNNEL_CSUM which are
    later not propagated when the underlying devices are bonded and
    a vlan device created on top of the bond.
    
    Right now, the more cumbersome workaround for this is to create
    the vlan on top of the mlx5 and then enslave the vlan devices
    to a bond.
    
    To fix this, add NETIF_F_GSO_ENCAP_ALL to BOND_VLAN_FEATURES
    such that bond_compute_features() can probe and propagate the
    vlan_features from the slave devices up to the vlan device.
    
    Given the following bond:
    
      # ethtool -i enp2s0f{0,1}np{0,1}
      driver: mlx5_core
      [...]
    
      # ethtool -k enp2s0f0np0 | grep udp
      tx-udp_tnl-segmentation: on
      tx-udp_tnl-csum-segmentation: on
      tx-udp-segmentation: on
      rx-udp_tunnel-port-offload: on
      rx-udp-gro-forwarding: off
    
      # ethtool -k enp2s0f1np1 | grep udp
      tx-udp_tnl-segmentation: on
      tx-udp_tnl-csum-segmentation: on
      tx-udp-segmentation: on
      rx-udp_tunnel-port-offload: on
      rx-udp-gro-forwarding: off
    
      # ethtool -k bond0 | grep udp
      tx-udp_tnl-segmentation: on
      tx-udp_tnl-csum-segmentation: on
      tx-udp-segmentation: on
      rx-udp_tunnel-port-offload: off [fixed]
      rx-udp-gro-forwarding: off
    
    Before:
    
      # ethtool -k bond0.100 | grep udp
      tx-udp_tnl-segmentation: off [requested on]
      tx-udp_tnl-csum-segmentation: off [requested on]
      tx-udp-segmentation: on
      rx-udp_tunnel-port-offload: off [fixed]
      rx-udp-gro-forwarding: off
    
    After:
    
      # ethtool -k bond0.100 | grep udp
      tx-udp_tnl-segmentation: on
      tx-udp_tnl-csum-segmentation: on
      tx-udp-segmentation: on
      rx-udp_tunnel-port-offload: off [fixed]
      rx-udp-gro-forwarding: off
    
    Various users have run into this reporting performance issues when
    configuring Cilium in vxlan tunneling mode and having the combination
    of bond & vlan for the core devices connecting the Kubernetes cluster
    to the outside world.
    
    Fixes: a9b3ace44c7d ("bonding: fix vlan_features computing")
    Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
    Cc: Nikolay Aleksandrov <razor@xxxxxxxxxxxxx>
    Cc: Ido Schimmel <idosch@xxxxxxxxxx>
    Cc: Jiri Pirko <jiri@xxxxxxxxxx>
    Reviewed-by: Nikolay Aleksandrov <razor@xxxxxxxxxxxxx>
    Reviewed-by: Hangbin Liu <liuhangbin@xxxxxxxxx>
    Link: https://patch.msgid.link/20241210141245.327886-3-daniel@xxxxxxxxxxxxx
    Signed-off-by: Paolo Abeni <pabeni@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index 26a9f99882e6..ded9e369e403 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -1454,6 +1454,7 @@ static netdev_features_t bond_fix_features(struct net_device *dev,
 
 #define BOND_VLAN_FEATURES	(NETIF_F_HW_CSUM | NETIF_F_SG | \
 				 NETIF_F_FRAGLIST | NETIF_F_GSO_SOFTWARE | \
+				 NETIF_F_GSO_ENCAP_ALL | \
 				 NETIF_F_HIGHDMA | NETIF_F_LRO)
 
 #define BOND_ENC_FEATURES	(NETIF_F_HW_CSUM | NETIF_F_SG | \




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux