mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 18:51:56 -04:00
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: drivers/net/e100.c drivers/net/e1000e/netdev.c
This commit is contained in:
commit
e1703b36c3
29 changed files with 794 additions and 120 deletions
|
|
@ -42,11 +42,16 @@ int inet6_csk_bind_conflict(const struct sock *sk,
|
|||
if (sk != sk2 &&
|
||||
(!sk->sk_bound_dev_if ||
|
||||
!sk2->sk_bound_dev_if ||
|
||||
sk->sk_bound_dev_if == sk2->sk_bound_dev_if) &&
|
||||
(!sk->sk_reuse || !sk2->sk_reuse ||
|
||||
sk2->sk_state == TCP_LISTEN) &&
|
||||
ipv6_rcv_saddr_equal(sk, sk2))
|
||||
break;
|
||||
sk->sk_bound_dev_if == sk2->sk_bound_dev_if)) {
|
||||
if ((!sk->sk_reuse || !sk2->sk_reuse ||
|
||||
sk2->sk_state == TCP_LISTEN) &&
|
||||
ipv6_rcv_saddr_equal(sk, sk2))
|
||||
break;
|
||||
else if (sk->sk_reuse && sk2->sk_reuse &&
|
||||
!ipv6_addr_any(inet6_rcv_saddr(sk)) &&
|
||||
ipv6_rcv_saddr_equal(sk, sk2))
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return node != NULL;
|
||||
|
|
|
|||
|
|
@ -625,7 +625,7 @@ static int ip6_fragment(struct sk_buff *skb, int (*output)(struct sk_buff *))
|
|||
/* We must not fragment if the socket is set to force MTU discovery
|
||||
* or if the skb it not generated by a local socket.
|
||||
*/
|
||||
if (!skb->local_df) {
|
||||
if (!skb->local_df && skb->len > mtu) {
|
||||
skb->dev = skb_dst(skb)->dev;
|
||||
icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu);
|
||||
IP6_INC_STATS(net, ip6_dst_idev(skb_dst(skb)),
|
||||
|
|
|
|||
|
|
@ -815,7 +815,7 @@ struct dst_entry * ip6_route_output(struct net *net, struct sock *sk,
|
|||
{
|
||||
int flags = 0;
|
||||
|
||||
if (rt6_need_strict(&fl->fl6_dst))
|
||||
if (fl->oif || rt6_need_strict(&fl->fl6_dst))
|
||||
flags |= RT6_LOOKUP_F_IFACE;
|
||||
|
||||
if (!ipv6_addr_any(&fl->fl6_src))
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ static int xfrm6_fill_dst(struct xfrm_dst *xdst, struct net_device *dev,
|
|||
xdst->u.dst.dev = dev;
|
||||
dev_hold(dev);
|
||||
|
||||
xdst->u.rt6.rt6i_idev = in6_dev_get(rt->u.dst.dev);
|
||||
xdst->u.rt6.rt6i_idev = in6_dev_get(dev);
|
||||
if (!xdst->u.rt6.rt6i_idev)
|
||||
return -ENODEV;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue