Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
This commit is contained in:
@@ -586,6 +586,7 @@ static void ndisc_send_na(struct net_device *dev, struct neighbour *neigh,
|
||||
src_addr = solicited_addr;
|
||||
if (ifp->flags & IFA_F_OPTIMISTIC)
|
||||
override = 0;
|
||||
inc_opt |= ifp->idev->cnf.force_tllao;
|
||||
in6_ifa_put(ifp);
|
||||
} else {
|
||||
if (ipv6_dev_get_saddr(dev_net(dev), dev, daddr,
|
||||
@@ -599,7 +600,6 @@ static void ndisc_send_na(struct net_device *dev, struct neighbour *neigh,
|
||||
icmp6h.icmp6_solicited = solicited;
|
||||
icmp6h.icmp6_override = override;
|
||||
|
||||
inc_opt |= ifp->idev->cnf.force_tllao;
|
||||
__ndisc_send(dev, neigh, daddr, src_addr,
|
||||
&icmp6h, solicited_addr,
|
||||
inc_opt ? ND_OPT_TARGET_LL_ADDR : 0);
|
||||
|
@@ -97,9 +97,11 @@ static void send_reset(struct net *net, struct sk_buff *oldskb)
|
||||
fl.fl_ip_dport = otcph.source;
|
||||
security_skb_classify_flow(oldskb, &fl);
|
||||
dst = ip6_route_output(net, NULL, &fl);
|
||||
if (dst == NULL)
|
||||
if (dst == NULL || dst->error) {
|
||||
dst_release(dst);
|
||||
return;
|
||||
if (dst->error || xfrm_lookup(net, &dst, &fl, NULL, 0))
|
||||
}
|
||||
if (xfrm_lookup(net, &dst, &fl, NULL, 0))
|
||||
return;
|
||||
|
||||
hh_len = (dst->dev->hard_header_len + 15)&~15;
|
||||
|
@@ -124,6 +124,8 @@ _decode_session6(struct sk_buff *skb, struct flowi *fl, int reverse)
|
||||
u8 nexthdr = nh[IP6CB(skb)->nhoff];
|
||||
|
||||
memset(fl, 0, sizeof(struct flowi));
|
||||
fl->mark = skb->mark;
|
||||
|
||||
ipv6_addr_copy(&fl->fl6_dst, reverse ? &hdr->saddr : &hdr->daddr);
|
||||
ipv6_addr_copy(&fl->fl6_src, reverse ? &hdr->daddr : &hdr->saddr);
|
||||
|
||||
|
Reference in New Issue
Block a user