Commit 6e382114 authored by Hideaki Yoshifuji's avatar Hideaki Yoshifuji

[IPV6] Don't update FAILED entries on receipt of NAs.

As NAs do not create new entries (RFC2461 7.2.5),
NA should not change state of FAILED entries.
Signed-off-by: default avatarHideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
parent e1aafe5a
...@@ -903,6 +903,9 @@ static void ndisc_recv_na(struct sk_buff *skb) ...@@ -903,6 +903,9 @@ static void ndisc_recv_na(struct sk_buff *skb)
if (neigh) { if (neigh) {
u8 old_flags = neigh->flags; u8 old_flags = neigh->flags;
if (neigh->nud_state & NUD_FAILED)
goto out;
neigh_update(neigh, lladdr, neigh_update(neigh, lladdr,
msg->icmph.icmp6_solicited ? NUD_REACHABLE : NUD_STALE, msg->icmph.icmp6_solicited ? NUD_REACHABLE : NUD_STALE,
NEIGH_UPDATE_F_WEAK_OVERRIDE| NEIGH_UPDATE_F_WEAK_OVERRIDE|
...@@ -920,6 +923,7 @@ static void ndisc_recv_na(struct sk_buff *skb) ...@@ -920,6 +923,7 @@ static void ndisc_recv_na(struct sk_buff *skb)
ip6_del_rt(rt, NULL, NULL); ip6_del_rt(rt, NULL, NULL);
} }
out:
neigh_release(neigh); neigh_release(neigh);
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment