From: James Prestwood <prestwoj@gmail.com>
To: netdev@vger.kernel.org
Cc: davem@davemloft.net, kuba@kernel.org, corbet@lwn.net,
yoshfuji@linux-ipv6.org, dsahern@kernel.org, roopa@nvidia.com,
daniel@iogearbox.net, vladimir.oltean@nxp.com, idosch@nvidia.com,
nikolay@nvidia.com, yajun.deng@linux.dev, zhutong@amazon.com,
johannes@sipsolutions.net, jouni@codeaurora.org,
James Prestwood <prestwoj@gmail.com>
Subject: [RESEND PATCH v7 0/3] Make neighbor eviction controllable by userspace
Date: Mon, 25 Oct 2021 09:45:44 -0700 [thread overview]
Message-ID: <20211025164547.1097091-1-prestwoj@gmail.com> (raw)
v1 -> v2:
- It was suggested by Daniel Borkmann to extend the neighbor table settings
rather than adding IPv4/IPv6 options for ARP/NDISC separately. I agree
this way is much more concise since there is now only one place where the
option is checked and defined.
- Moved documentation/code into the same patch
- Explained in more detail the test scenario and results
v2 -> v3:
- Renamed 'skip_perm' to 'nocarrier'. The way this parameter is used
matches this naming.
- Changed logic to still flush if 'nocarrier' is false.
v3 -> v4:
- Moved NDTPA_EVICT_NOCARRIER after NDTPA_PAD
v4 -> v5:
- Went back to the original v1 patchset and changed:
- Used ANDCONF for IN_DEV macro
- Got RCU lock prior to __in_dev_get_rcu(). Do note that the logic
here was extended to handle if __in_dev_get_rcu() fails. If this
happens the existing behavior should be maintained and set the
carrier down. I'm unsure if get_rcu() can fail in this context
though. Similar logic was used for in6_dev_get.
- Changed ndisc_evict_nocarrier to use a u8, proper handler, and
set min/max values.
v5 -> v6
- Added selftests for both sysctl options
- (arp) Used __in_dev_get_rtnl rather than getting the rcu lock
- (ndisc) Added in6_dev_put
- (ndisc) Check 'all' option as well as device specific
v6 -> v7
- Corrected logic checking all and netdev option
Resend v7:
- Fixed (hopefully) the issue with CC's only getting the cover letter
James Prestwood (3):
net: arp: introduce arp_evict_nocarrier sysctl parameter
net: ndisc: introduce ndisc_evict_nocarrier sysctl parameter
selftests: net: add arp_ndisc_evict_nocarrier
Documentation/networking/ip-sysctl.rst | 18 ++
include/linux/inetdevice.h | 2 +
include/linux/ipv6.h | 1 +
include/uapi/linux/ip.h | 1 +
include/uapi/linux/ipv6.h | 1 +
include/uapi/linux/sysctl.h | 1 +
net/ipv4/arp.c | 11 +-
net/ipv4/devinet.c | 4 +
net/ipv6/addrconf.c | 12 ++
net/ipv6/ndisc.c | 12 +-
.../net/arp_ndisc_evict_nocarrier.sh | 181 ++++++++++++++++++
11 files changed, 242 insertions(+), 2 deletions(-)
create mode 100755 tools/testing/selftests/net/arp_ndisc_evict_nocarrier.sh
--
2.31.1
next reply other threads:[~2021-10-25 16:51 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-25 16:45 James Prestwood [this message]
2021-10-25 16:45 ` [RESEND PATCH v7 1/3] net: arp: introduce arp_evict_nocarrier sysctl parameter James Prestwood
2021-10-26 14:50 ` David Ahern
2021-10-25 16:45 ` [RESEND PATCH v7 2/3] net: ndisc: introduce ndisc_evict_nocarrier " James Prestwood
2021-10-26 14:52 ` David Ahern
2021-10-25 16:45 ` [RESEND PATCH v7 3/3] selftests: net: add arp_ndisc_evict_nocarrier James Prestwood
2021-10-26 14:57 ` David Ahern
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=20211025164547.1097091-1-prestwoj@gmail.com \
--to=prestwoj@gmail.com \
--cc=corbet@lwn.net \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=dsahern@kernel.org \
--cc=idosch@nvidia.com \
--cc=johannes@sipsolutions.net \
--cc=jouni@codeaurora.org \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=nikolay@nvidia.com \
--cc=roopa@nvidia.com \
--cc=vladimir.oltean@nxp.com \
--cc=yajun.deng@linux.dev \
--cc=yoshfuji@linux-ipv6.org \
--cc=zhutong@amazon.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.