From: Jiri Pirko <jiri@resnulli.us>
To: netdev@vger.kernel.org
Cc: davem@davemloft.net, idosch@mellanox.com, yotamg@mellanox.com,
eladr@mellanox.com, nogahf@mellanox.com, ogerlitz@mellanox.com,
sfeldma@gmail.com, roopa@cumulusnetworks.com, andy@greyhouse.net,
dsa@cumulusnetworks.com, tgraf@suug.ch, jhs@mojatatu.com,
linville@tuxdriver.com, ivecera@redhat.com
Subject: [patch net-next 00/16] mlxsw: Implement IPV4 unicast routing
Date: Tue, 5 Jul 2016 11:27:36 +0200 [thread overview]
Message-ID: <1467710872-20056-1-git-send-email-jiri@resnulli.us> (raw)
From: Jiri Pirko <jiri@mellanox.com>
This patchset enables IPv4 unicast routing in the Mellanox Spectrum ASIC
switch driver. This builds upon the work that was done by a couple of
previous patchsets.
Patches 1,2,6 add a couple of dependencies outside the driver. Namely, the
ability to propagate ndo_neigh_construct()/destroy() through stacked devices and
a notification whenever DELAY_PROBE_TIME changes. When propagated down, the
ndos allow drivers to add and remove neighbour entries from their private
neighbour table. The DELAY_PROBE_TIME notification gives drivers the ability to
correctly configure their polling interval for neighbour activity, so that
active neighbour won't be marked as STALE.
Patches 3-5,7-8 add the neighbour offloading infrastructure, where patch 7 uses
the DELAY_PROBE_TIME notification in order to correctly configure the device's
polling interval. Patch 8 finally programs neighbours to the device's table
based on NEIGH_UPDATE notifications, so that directly connected routes can
be used.
Patches 9-16 build upon the previous patches and extend the router with
remote routes (nexthop) support.
Ido Schimmel (1):
neigh: Send a notification when DELAY_PROBE_TIME changes
Jiri Pirko (8):
net: add dev arg to ndo_neigh_construct/destroy
net: introduce default neigh_construct/destroy ndo calls for L2 upper
devices
mlxsw: spectrum_router: Add private neigh table
mlxsw: Add KVD sizes configuration into profile
mlxsw: spectrum: Define sizes of KVD areas
mlxsw: Introduce simplistic KVD linear area manager
mlxsw: reg: Add Router Algorithmic LPM ECMP Update Register
mlxsw: spectrum_router: Implement next-hop routing
Yotam Gigi (7):
mlxsw: reg: Add Router Algorithmic LPM Unicast Host Table register
mlxsw: reg: Add Router Algorithmic LPM Unicast Host Table Dump
register
mlxsw: spectrum_router: Periodically update the kernel's neigh table
mlxsw: spectrum_router: Offload neighbours based on NUD state change
mlxsw: reg: Add Router Adjacency Table register
mlxsw: spectrum_router: Add the nexthop neigh activity update
mlxsw: Add the unresolved next-hops probes
drivers/net/bonding/bond_main.c | 2 +
drivers/net/ethernet/mellanox/mlxsw/Makefile | 3 +-
drivers/net/ethernet/mellanox/mlxsw/cmd.h | 43 +
drivers/net/ethernet/mellanox/mlxsw/core.h | 6 +-
drivers/net/ethernet/mellanox/mlxsw/pci.c | 14 +
drivers/net/ethernet/mellanox/mlxsw/reg.h | 490 ++++++++++
drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 6 +
drivers/net/ethernet/mellanox/mlxsw/spectrum.h | 24 +
.../net/ethernet/mellanox/mlxsw/spectrum_kvdl.c | 91 ++
.../net/ethernet/mellanox/mlxsw/spectrum_router.c | 1006 +++++++++++++++++++-
drivers/net/ethernet/rocker/rocker_main.c | 3 +-
drivers/net/team/team.c | 2 +
include/linux/netdevice.h | 10 +-
include/net/netevent.h | 1 +
net/8021q/vlan_dev.c | 2 +
net/atm/clip.c | 2 +-
net/bridge/br_device.c | 2 +
net/core/dev.c | 44 +
net/core/neighbour.c | 6 +-
net/ieee802154/6lowpan/core.c | 2 +-
20 files changed, 1747 insertions(+), 12 deletions(-)
create mode 100644 drivers/net/ethernet/mellanox/mlxsw/spectrum_kvdl.c
--
2.5.5
next reply other threads:[~2016-07-05 9:27 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-05 9:27 Jiri Pirko [this message]
2016-07-05 9:27 ` [patch net-next 01/16] net: add dev arg to ndo_neigh_construct/destroy Jiri Pirko
2016-07-05 11:03 ` Yuval Mintz
2016-07-05 12:05 ` Jiri Pirko
2016-07-05 11:04 ` Yuval Mintz
2016-07-05 12:06 ` Jiri Pirko
2016-07-05 9:27 ` [patch net-next 02/16] net: introduce default neigh_construct/destroy ndo calls for L2 upper devices Jiri Pirko
2016-07-05 9:27 ` [patch net-next 03/16] mlxsw: spectrum_router: Add private neigh table Jiri Pirko
2016-07-05 9:27 ` [patch net-next 04/16] mlxsw: reg: Add Router Algorithmic LPM Unicast Host Table register Jiri Pirko
2016-07-05 9:27 ` [patch net-next 05/16] mlxsw: reg: Add Router Algorithmic LPM Unicast Host Table Dump register Jiri Pirko
2016-07-05 9:27 ` [patch net-next 06/16] neigh: Send a notification when DELAY_PROBE_TIME changes Jiri Pirko
2016-07-05 9:27 ` [patch net-next 07/16] mlxsw: spectrum_router: Periodically update the kernel's neigh table Jiri Pirko
2016-07-05 9:27 ` [patch net-next 08/16] mlxsw: spectrum_router: Offload neighbours based on NUD state change Jiri Pirko
2016-07-05 9:27 ` [patch net-next 09/16] mlxsw: Add KVD sizes configuration into profile Jiri Pirko
2016-07-05 9:27 ` [patch net-next 10/16] mlxsw: spectrum: Define sizes of KVD areas Jiri Pirko
2016-07-05 9:27 ` [patch net-next 11/16] mlxsw: Introduce simplistic KVD linear area manager Jiri Pirko
2016-07-05 9:27 ` [patch net-next 12/16] mlxsw: reg: Add Router Adjacency Table register Jiri Pirko
2016-07-05 9:27 ` [patch net-next 13/16] mlxsw: reg: Add Router Algorithmic LPM ECMP Update Register Jiri Pirko
2016-07-05 9:27 ` [patch net-next 14/16] mlxsw: spectrum_router: Implement next-hop routing Jiri Pirko
2016-07-05 9:27 ` [patch net-next 15/16] mlxsw: spectrum_router: Add the nexthop neigh activity update Jiri Pirko
2016-07-05 9:27 ` [patch net-next 16/16] mlxsw: Add the unresolved next-hops probes Jiri Pirko
2016-07-05 16:10 ` [patch net-next 00/16] mlxsw: Implement IPV4 unicast routing David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1467710872-20056-1-git-send-email-jiri@resnulli.us \
--to=jiri@resnulli.us \
--cc=andy@greyhouse.net \
--cc=davem@davemloft.net \
--cc=dsa@cumulusnetworks.com \
--cc=eladr@mellanox.com \
--cc=idosch@mellanox.com \
--cc=ivecera@redhat.com \
--cc=jhs@mojatatu.com \
--cc=linville@tuxdriver.com \
--cc=netdev@vger.kernel.org \
--cc=nogahf@mellanox.com \
--cc=ogerlitz@mellanox.com \
--cc=roopa@cumulusnetworks.com \
--cc=sfeldma@gmail.com \
--cc=tgraf@suug.ch \
--cc=yotamg@mellanox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).