aboutsummaryrefslogtreecommitdiff
path: root/sys/netinet6
diff options
context:
space:
mode:
authorAndrey V. Elsukov <ae@FreeBSD.org>2020-04-01 02:13:01 +0000
committerAndrey V. Elsukov <ae@FreeBSD.org>2020-04-01 02:13:01 +0000
commitcfad76968928c258c63dda353ae5a27ba6187fe6 (patch)
treec16dc807232a7e77c186979c838d699d5a79b5c1 /sys/netinet6
parentbe68b4b323334f2729345c0fb74cdf486b7b9683 (diff)
downloadsrc-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.c6
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,