Skip to content
  1. May 23, 2020
    • Roopa Prabhu's avatar
      vxlan: ecmp support for mac fdb entries · 1274e1cc
      Roopa Prabhu authored
      Todays vxlan mac fdb entries can point to multiple remote
      ips (rdsts) with the sole purpose of replicating
      broadcast-multicast and unknown unicast packets to those remote ips.
      
      E-VPN multihoming [1,2,3] requires bridged vxlan traffic to be
      load balanced to remote switches (vteps) belonging to the
      same multi-homed ethernet segment (E-VPN multihoming is analogous
      to multi-homed LAG implementations, but with the inter-switch
      peerlink replaced with a vxlan tunnel). In other words it needs
      support for mac ecmp. Furthermore, for faster convergence, E-VPN
      multihoming needs the ability to update fdb ecmp nexthops independent
      of the fdb entries.
      
      New route nexthop API is perfect for this usecase.
      This patch extends the vxlan fdb code to take a nexthop id
      pointing to an ecmp nexthop group.
      
      Changes include:
      - New NDA_NH_ID attribute for fdbs
      - Use the newly added fdb nexthop groups
      - makes vxlan rdsts and nexthop handling code mutually
        exclusive
      - since this is a new use-case and the requirement is for ecmp
      nexthop groups, the fdb add and update path checks that the
      nexthop is really an ecmp nexthop group. This check can be relaxed
      in the future, if we want to introduce replication fdb nexthop groups
      and allow its use in lieu of current rdst lists.
      - fdb update requests with nexthop id's only allowed for existing
      fdb's that have nexthop id's
      - learning will not override an existing fdb entry with nexthop
      group
      - I have wrapped the switchdev offload code around the presence of
      rdst
      
      [1] E-VPN RFC https://tools.ietf.org/html/rfc7432
      [2] E-VPN with vxlan https://tools.ietf.org/html/rfc8365
      [3] http://vger.kernel.org/lpc_net2018_talks/scaling_bridge_fdb_database_slidesV3.pdf
      
      
      
      Includes a null check fix in vxlan_xmit from Nikolay
      
      v2 - Fixed build issue:
      Reported-by: default avatarkbuild test robot <lkp@intel.com>
      Signed-off-by: default avatarRoopa Prabhu <roopa@cumulusnetworks.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1274e1cc
    • Roopa Prabhu's avatar
      nexthop: support for fdb ecmp nexthops · 38428d68
      Roopa Prabhu authored
      This patch introduces ecmp nexthops and nexthop groups
      for mac fdb entries. In subsequent patches this is used
      by the vxlan driver fdb entries. The use case is
      E-VPN multihoming [1,2,3] which requires bridged vxlan traffic
      to be load balanced to remote switches (vteps) belonging to
      the same multi-homed ethernet segment (This is analogous to
      a multi-homed LAG but over vxlan).
      
      Changes include new nexthop flag NHA_FDB for nexthops
      referenced by fdb entries. These nexthops only have ip.
      This patch includes appropriate checks to avoid routes
      referencing such nexthops.
      
      example:
      $ip nexthop add id 12 via 172.16.1.2 fdb
      $ip nexthop add id 13 via 172.16.1.3 fdb
      $ip nexthop add id 102 group 12/13 fdb
      
      $bridge fdb add 02:02:00:00:00:13 dev vxlan1000 nhid 101 self
      
      [1] E-VPN https://tools.ietf.org/html/rfc7432
      [2] E-VPN VxLAN: https://tools.ietf.org/html/rfc8365
      [3] LPC talk with mention of nexthop groups for L2 ecmp
      http://vger.kernel.org/lpc_net2018_talks/scaling_bridge_fdb_database_slidesV3.pdf
      
      
      
      v4 - fixed uninitialized variable reported by kernel test robot
      Reported-by: default avatarkernel test robot <rong.a.chen@intel.com>
      
      Signed-off-by: default avatarRoopa Prabhu <roopa@cumulusnetworks.com>
      Reviewed-by: default avatarDavid Ahern <dsahern@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      38428d68
    • David S. Miller's avatar
      Merge branch '1GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue · 7b1b843a
      David S. Miller authored
      
      
      Jeff Kirsher says:
      
      ====================
      1GbE Intel Wired LAN Driver Updates 2020-05-21
      
      This series contains updates to igc and e1000.
      
      Andre cleans up code that was left over from the igb driver that handled
      MAC address filters based on the source address, which is not currently
      supported.  Simplifies the MAC address filtering code and prepare the
      igc driver for future source address support.  Updated the MAC address
      filter internal APIs to support filters based on source address.  Added
      support for Network Flow Classification (NFC) rules based on source MAC
      address.  Cleaned up the 'cookie' field which is not used anywhere in
      the code and cleaned up a wrapper function that was not needed.
      Simplified the filtering code for readability and aligned the ethtool
      functions, so that function names were consistent.
      
      Alex provides a fix for e1000 to resolve a deadlock issue when NAPI is
      being disabled.
      
      Sasha does additional cleanup of the igc driver of dead code that is not
      used or needed.
      
      v2: Fix the function header comment in patch 3 of the series, based on
          the feedback from Jakub Kicinski.
      ====================
      
      Reviewed-by: default avatarJakub Kicinski <kuba@kernel.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7b1b843a
  2. May 22, 2020
  3. May 21, 2020