diff options
Diffstat (limited to 'net/ipv6/ndisc.c')
-rw-r--r-- | net/ipv6/ndisc.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c index 76517a5f6576..0304b5fe8d6a 100644 --- a/net/ipv6/ndisc.c +++ b/net/ipv6/ndisc.c | |||
@@ -496,7 +496,7 @@ static void ndisc_send_na(struct net_device *dev, struct neighbour *neigh, | |||
496 | msg->icmph.icmp6_unused = 0; | 496 | msg->icmph.icmp6_unused = 0; |
497 | msg->icmph.icmp6_router = router; | 497 | msg->icmph.icmp6_router = router; |
498 | msg->icmph.icmp6_solicited = solicited; | 498 | msg->icmph.icmp6_solicited = solicited; |
499 | msg->icmph.icmp6_override = !!override; | 499 | msg->icmph.icmp6_override = override; |
500 | 500 | ||
501 | /* Set the target address. */ | 501 | /* Set the target address. */ |
502 | ipv6_addr_copy(&msg->target, solicited_addr); | 502 | ipv6_addr_copy(&msg->target, solicited_addr); |
@@ -847,10 +847,7 @@ static void ndisc_recv_ns(struct sk_buff *skb) | |||
847 | goto out; | 847 | goto out; |
848 | } | 848 | } |
849 | 849 | ||
850 | if (pneigh) | 850 | is_router = !!(pneigh ? pneigh->flags & NTF_ROUTER : idev->cnf.forwarding); |
851 | is_router = pneigh->flags & NTF_ROUTER; | ||
852 | else | ||
853 | is_router = idev->cnf.forwarding; | ||
854 | 851 | ||
855 | if (dad) { | 852 | if (dad) { |
856 | struct in6_addr maddr; | 853 | struct in6_addr maddr; |