From: Tom Herbert <tom@quantonium.net>
To: davem@davemloft.net
Cc: netdev@vger.kernel.org, roopa@cumulusnetworks.com,
rohit@quantonium.net, Tom Herbert <tom@quantonium.net>
Subject: [PATCH v5 net-next 0/7] net: ILA notification mechanism and fixes
Date: Thu, 21 Dec 2017 11:33:25 -0800 [thread overview]
Message-ID: <20171221193332.15303-1-tom@quantonium.net> (raw)
This patch set adds support to get netlink notifications for ILA
routes when a route is used.
This patch set contains:
- General infrastructure for route notifications
- The ILA route notification mechanism
- Add net to ila build_state
- Add flush command to ila_xlat
- Fix use of rhashtable for latest fixes
Route notifications will be used in conjunction with populating
ILA forwarding caches. There are three methods described in
the ILA Mapping Protocol. These are redirects, request/reply,
and push. The ILA route mechanism is relevant to the first two methods.
- ILA router secure redirect mechanism-- This is used on an ILA
router where a notification is sent when an ILA host route is
used. The purpose of this notification is to send an
ILA redirect towards the ILA forwarding node of a source to
inform it of a direct ILA route. When the forwarding node
receives the redirect it can populate its cache so that
subsequent packets take the direct path. This is the
RECOMMENDED method.
- Cache address resolution-- This used to perform request/reply
address resolution on a route. As noted on netdev list, a
request/reply mechanism is susceptible to DOS attacks.
For this reason, this method is not NOT RECOMMENDED as the
primary means to populate an ILA cache.
ILAMP is described in
https://www.ietf.org/internet-drafts/draft-herbert-ila-ilamp-00.txt
Tested:
Ran ILA traffic, set up ILA notify routes and observed correct
routing message via ip monitor.
v5:
- Fix some compiler and sparse warnings
- Generalize route notify with RTM_NOTIFYROUTE,
RTNLGRP_ROUTE_NOTIFY (suggested by Roopa)
v4:
- Remove front end cache per davem feedback
- Eliminate separate LWT type just use ILA LWT already in place
v3:
- Removed rhashtable changes to their own patch set
- Restructure ILA code to be more amenable to changes
- Remove extra call back functions in resolution interface
Changes from initial RFC:
- Added net argument to LWT build_state
- Made resolve timeout an attribute of the LWT encap route
- Changed ILA notifications to be regular routing messages of event
RTM_ADDR_RESOLVE, family RTNL_FAMILY_ILA, and group
RTNLGRP_ILA_NOTIFY
Tom Herbert (7):
lwt: Add net to build_state argument
rtnetlink: Add notify route message types
ila: Fix use of rhashtable walk in ila_xlat.c
ila: Call library function alloc_bucket_locks
ila: Create main ila source file
ila: Flush netlink command to clear xlat table
ila: Route notify
include/net/lwtunnel.h | 6 +-
include/uapi/linux/ila.h | 3 +
include/uapi/linux/rtnetlink.h | 6 +
net/core/lwt_bpf.c | 2 +-
net/core/lwtunnel.c | 4 +-
net/ipv4/fib_semantics.c | 13 +-
net/ipv4/ip_tunnel_core.c | 4 +-
net/ipv6/ila/Makefile | 2 +-
net/ipv6/ila/ila.h | 27 +++-
net/ipv6/ila/ila_common.c | 30 -----
net/ipv6/ila/ila_lwt.c | 275 ++++++++++++++++++++++++++------------
net/ipv6/ila/ila_main.c | 121 +++++++++++++++++
net/ipv6/ila/ila_xlat.c | 290 ++++++++++++++++++++---------------------
net/ipv6/route.c | 2 +-
net/ipv6/seg6_iptunnel.c | 2 +-
net/ipv6/seg6_local.c | 5 +-
net/mpls/mpls_iptunnel.c | 2 +-
17 files changed, 511 insertions(+), 283 deletions(-)
create mode 100644 net/ipv6/ila/ila_main.c
--
2.11.0
next reply other threads:[~2017-12-21 19:33 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-21 19:33 Tom Herbert [this message]
2017-12-21 19:33 ` [PATCH v5 net-next 1/7] lwt: Add net to build_state argument Tom Herbert
2017-12-21 19:33 ` [PATCH v5 net-next 2/7] rtnetlink: Add notify route message types Tom Herbert
2017-12-21 19:33 ` [PATCH v5 net-next 3/7] ila: Fix use of rhashtable walk in ila_xlat.c Tom Herbert
2017-12-21 19:33 ` [PATCH v5 net-next 4/7] ila: Call library function alloc_bucket_locks Tom Herbert
2017-12-21 19:33 ` [PATCH v5 net-next 5/7] ila: Create main ila source file Tom Herbert
2017-12-21 19:33 ` [PATCH v5 net-next 6/7] ila: Flush netlink command to clear xlat table Tom Herbert
2017-12-21 19:33 ` [PATCH v5 net-next 7/7] ila: Route notify Tom Herbert
2017-12-26 22:29 ` [PATCH v5 net-next 0/7] net: ILA notification mechanism and fixes David Miller
2017-12-26 23:50 ` Tom Herbert
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=20171221193332.15303-1-tom@quantonium.net \
--to=tom@quantonium.net \
--cc=davem@davemloft.net \
--cc=netdev@vger.kernel.org \
--cc=rohit@quantonium.net \
--cc=roopa@cumulusnetworks.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