X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=net%2Fipv6%2Fndisc.c;h=a7eae30f4554b86ed9d035f0fa1863fab073a115;hb=67d2c36e901403bb97cb79ddb44d702c3284d0ba;hp=7ae72d4c9bd2cbc31cb23f8ad553109bd5fd657a;hpb=29516d75a0b09e0a0328dd55c98a342515c9615a;p=powerpc.git diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c index 7ae72d4c9b..a7eae30f45 100644 --- a/net/ipv6/ndisc.c +++ b/net/ipv6/ndisc.c @@ -812,7 +812,7 @@ static void ndisc_recv_ns(struct sk_buff *skb) if (ipv6_chk_acast_addr(dev, &msg->target) || (idev->cnf.forwarding && pneigh_lookup(&nd_tbl, &msg->target, dev, 0))) { - if (skb->stamp.tv_sec != LOCALLY_ENQUEUED && + if (!(NEIGH_CB(skb)->flags & LOCALLY_ENQUEUED) && skb->pkt_type != PACKET_HOST && inc != 0 && idev->nd_parms->proxy_delay != 0) { @@ -1487,6 +1487,8 @@ int ndisc_rcv(struct sk_buff *skb) return 0; } + memset(NEIGH_CB(skb), 0, sizeof(struct neighbour_cb)); + switch (msg->icmph.icmp6_type) { case NDISC_NEIGHBOUR_SOLICITATION: ndisc_recv_ns(skb);