diff options
author | Andrey V. Elsukov <ae@FreeBSD.org> | 2020-04-01 02:13:01 +0000 |
---|---|---|
committer | Andrey V. Elsukov <ae@FreeBSD.org> | 2020-04-01 02:13:01 +0000 |
commit | cfad76968928c258c63dda353ae5a27ba6187fe6 (patch) | |
tree | c16dc807232a7e77c186979c838d699d5a79b5c1 /sys/netinet6 | |
parent | be68b4b323334f2729345c0fb74cdf486b7b9683 (diff) | |
download | src-cfad76968928c258c63dda353ae5a27ba6187fe6.tar.gz src-cfad76968928c258c63dda353ae5a27ba6187fe6.zip |
Ignore ND6 neighbor advertisement received for static link-layer entries.
Previously such NA could override manually created LLE.
Reported by: Martin Beran <martin at mber cz>
Reviewed by: melifaro
MFC after: 10 days
Notes
Notes:
svn path=/head/; revision=359498
Diffstat (limited to 'sys/netinet6')
-rw-r--r-- | sys/netinet6/nd6_nbr.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/netinet6/nd6_nbr.c b/sys/netinet6/nd6_nbr.c index 28fefd160fb4..1af336e3f2ed 100644 --- a/sys/netinet6/nd6_nbr.c +++ b/sys/netinet6/nd6_nbr.c @@ -754,6 +754,12 @@ nd6_na_input(struct mbuf *m, int off, int icmp6len) goto freeit; } + /* + * Do not try to override static entry. + */ + if (ln->la_flags & LLE_STATIC) + goto freeit; + if (ln->ln_state == ND6_LLINFO_INCOMPLETE) { /* * If the link-layer has address, and no lladdr option came, |