1. 05 Jun, 2019 35 commits
  2. 04 Jun, 2019 5 commits
    • David Ahern's avatar
      ipv6: Always allocate pcpu memory in a fib6_nh · 7dd73168
      David Ahern authored
      A recent commit had an unintended side effect with reject routes:
      rt6i_pcpu is expected to always be initialized for all fib6_info except
      the null entry. The commit mentioned below skips it for reject routes
      and ends up leaking references to the loopback device. For example,
      
          ip netns add foo
          ip -netns foo li set lo up
          ip -netns foo -6 ro add blackhole 2001:db8:1::1
          ip netns exec foo ping6 2001:db8:1::1
          ip netns del foo
      
      ends up spewing:
          unregister_netdevice: waiting for lo to become free. Usage count = 3
      
      The fib_nh_common_init is not needed for reject routes (no ipv4 caching
      or encaps), so move the alloc_percpu_gfp after it and adjust the goto label.
      
      Fixes: f40b6ae2 ("ipv6: Move pcpu cached routes to fib6_nh")
      Signed-off-by: default avatarDavid Ahern <dsahern@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7dd73168
    • Xue Chaojing's avatar
      hinic: add LRO support · 1e007181
      Xue Chaojing authored
      This patch adds LRO support for the HiNIC driver.
      Reported-by: default avatarkbuild test robot <lkp@intel.com>
      Reviewed-by: default avatarJesse Brandeburg <jesse.brandeburg@intel.com>
      Signed-off-by: default avatarXue Chaojing <xuechaojing@huawei.com>
      Reviewed-by: default avatarJesse Brandeburg <jesse.brandeburg@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1e007181
    • David S. Miller's avatar
      Merge branch 'bond-mpls' · 600bb031
      David S. Miller authored
      Ariel Levkovich says:
      
      ====================
      Support MPLS features in bonding and vlan net devices
      
      Netdevice HW MPLS features are not passed from device driver's netdevice to
      upper netdevice, specifically VLAN and bonding netdevice which are created
      by the kernel when needed.
      
      This prevents enablement and usage of HW offloads, such as TSO and checksumming
      for MPLS tagged traffic when running via VLAN or bonding interface.
      
      The patches introduce changes to the initialization steps of the VLAN and bonding
      netdevices to inherit the MPLS features from lower netdevices to allow the HW
      offloads.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      600bb031
    • Ariel Levkovich's avatar
      net: vlan: Inherit MPLS features from parent device · 8b6912a5
      Ariel Levkovich authored
      During the creation of the VLAN interface net device,
      the various device features and offloads are being set based
      on the parent device's features.
      The code initiates the basic, vlan and encapsulation features
      but doesn't address the MPLS features set and they remain blank.
      As a result, all device offloads that have significant performance
      effect are disabled for MPLS traffic going via this VLAN device such
      as checksumming and TSO.
      
      This patch makes sure that MPLS features are also set for the
      VLAN device based on the parent which will allow HW offloads of
      checksumming and TSO to be performed on MPLS tagged packets.
      Signed-off-by: default avatarAriel Levkovich <lariel@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8b6912a5
    • Ariel Levkovich's avatar
      net: bonding: Inherit MPLS features from slave devices · 2e770b50
      Ariel Levkovich authored
      When setting the bonding interface net device features,
      the kernel code doesn't address the slaves' MPLS features
      and doesn't inherit them.
      
      Therefore, HW offloads that enhance performance such as
      checksumming and TSO are disabled for MPLS tagged traffic
      flowing via the bonding interface.
      
      The patch add the inheritance of the MPLS features from the
      slave devices with a similar logic to setting the bonding device's
      VLAN and encapsulation features.
      
      CC: Jay Vosburgh <j.vosburgh@gmail.com>
      CC: Veaceslav Falico <vfalico@gmail.com>
      CC: Andy Gospodarek <andy@greyhouse.net>
      Signed-off-by: default avatarAriel Levkovich <lariel@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2e770b50