On 5/30/22 4:14 AM, Arun Ajith S wrote:
RFC 9131 changes default behaviour of handling RX of NA messages when the corresponding entry is absent in the neighbour cache. The current implementation is limited to accept just unsolicited NAs. However, the RFC is more generic where it also accepts solicited NAs. Both types should result in adding a STALE entry for this case.
Expand accept_untracked_na behaviour to also accept solicited NAs to be compliant with the RFC and rename the sysctl knob to accept_untracked_na.
Fixes: f9a2fb73318e ("net/ipv6: Introduce accept_unsolicited_na knob to implement router-side changes for RFC9131") Signed-off-by: Arun Ajith S aajith@arista.com
This change updates the accept_unsolicited_na feature that merged to net-next for v5.19 to be better compliant with the RFC. It also involves renaming the sysctl knob to accept_untracked_na before shipping in a release.
Note that the behaviour table has been modifed in the code comments, but dropped from the Documentation. This is because the table documents behaviour that is not unique to the knob, and it is more relevant to understanding the code. The documentation has been updated to be unambiguous even without the table.
v2:
- Changed commit message and subject as suggested.
- Added Fixes tag.
- Used en-uk spellings consistently.
- Added a couple of missing comments.
- Refactored patch to be smaller by avoiding early return.
- Made the documentation more clearer.
v3:
- Fixed build issue. (Verified make defconfig && make && make htmldocs SPHINXDIRS=networking)
Documentation/networking/ip-sysctl.rst | 23 ++++------ include/linux/ipv6.h | 2 +- include/uapi/linux/ipv6.h | 2 +- net/ipv6/addrconf.c | 6 +-- net/ipv6/ndisc.c | 42 +++++++++++-------- .../net/ndisc_unsolicited_na_test.sh | 23 +++++----- 6 files changed, 50 insertions(+), 48 deletions(-)
Reviewed-by: David Ahern dsahern@kernel.org