[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1589998991-40120-1-git-send-email-roopa@cumulusnetworks.com>
Date: Wed, 20 May 2020 11:23:06 -0700
From: Roopa Prabhu <roopa@...ulusnetworks.com>
To: dsahern@...il.com, davem@...emloft.net
Cc: netdev@...r.kernel.org, nikolay@...ulusnetworks.com,
jiri@...lanox.com, idosch@...lanox.com, petrm@...lanox.com
Subject: [PATCH net-next v3 0/5] Support for fdb ECMP nexthop groups
From: Roopa Prabhu <roopa@...ulusnetworks.com>
This series 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.
The patches make sure that routes dont reference 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
v3 - fix wording in selftest print as pointed out by davidA
v2 -
- dropped nikolays fixes for nexthop multipath null pointer deref
(he will send those separately)
- added negative tests for route add with fdb nexthop + a few more
- Fixes for a few fdb replace conditions found during more testing
- Moved to rcu_dereference_rtnl in vxlan_fdb_info and consolidate rcu
dereferences
- Fixes to build failures Reported-by: kbuild test robot <lkp@...el.com>
- DavidA, I am going to send a separate patch for the neighbor code validation
for NDA_NH_ID if thats ok.
Roopa Prabhu (5):
nexthop: support for fdb ecmp nexthops
vxlan: ecmp support for mac fdb entries
nexthop: add support for notifiers
vxlan: support for nexthop notifiers
selftests: net: add fdb nexthop tests
drivers/net/vxlan.c | 334 ++++++++++++++++++++++------
include/net/ip6_fib.h | 1 +
include/net/netns/nexthop.h | 1 +
include/net/nexthop.h | 44 ++++
include/net/vxlan.h | 25 +++
include/uapi/linux/neighbour.h | 1 +
include/uapi/linux/nexthop.h | 3 +
net/core/neighbour.c | 2 +
net/ipv4/nexthop.c | 158 ++++++++++---
net/ipv6/route.c | 5 +
tools/testing/selftests/net/fib_nexthops.sh | 160 ++++++++++++-
11 files changed, 644 insertions(+), 90 deletions(-)
--
2.1.4
Powered by blists - more mailing lists