mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 19:51:31 -04:00
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: Documentation/feature-removal-schedule.txt drivers/net/wireless/ath/ar9170/usb.c drivers/scsi/iscsi_tcp.c net/ipv4/ipmr.c
This commit is contained in:
commit
278554bd65
649 changed files with 7406 additions and 3769 deletions
|
|
@ -200,7 +200,7 @@ lookup_protocol:
|
|||
|
||||
inet_sk(sk)->pinet6 = np = inet6_sk_generic(sk);
|
||||
np->hop_limit = -1;
|
||||
np->mcast_hops = -1;
|
||||
np->mcast_hops = IPV6_DEFAULT_MCASTHOPS;
|
||||
np->mc_loop = 1;
|
||||
np->pmtudisc = IPV6_PMTUDISC_WANT;
|
||||
np->ipv6only = net->ipv6.sysctl.bindv6only;
|
||||
|
|
|
|||
|
|
@ -222,6 +222,8 @@ void ipv6_icmp_error(struct sock *sk, struct sk_buff *skb, int err,
|
|||
if (!skb)
|
||||
return;
|
||||
|
||||
skb->protocol = htons(ETH_P_IPV6);
|
||||
|
||||
serr = SKB_EXT_ERR(skb);
|
||||
serr->ee.ee_errno = err;
|
||||
serr->ee.ee_origin = SO_EE_ORIGIN_ICMP6;
|
||||
|
|
@ -255,6 +257,8 @@ void ipv6_local_error(struct sock *sk, int err, struct flowi *fl, u32 info)
|
|||
if (!skb)
|
||||
return;
|
||||
|
||||
skb->protocol = htons(ETH_P_IPV6);
|
||||
|
||||
skb_put(skb, sizeof(struct ipv6hdr));
|
||||
skb_reset_network_header(skb);
|
||||
iph = ipv6_hdr(skb);
|
||||
|
|
@ -358,7 +362,7 @@ int ipv6_recv_error(struct sock *sk, struct msghdr *msg, int len)
|
|||
sin->sin6_flowinfo = 0;
|
||||
sin->sin6_port = serr->port;
|
||||
sin->sin6_scope_id = 0;
|
||||
if (serr->ee.ee_origin == SO_EE_ORIGIN_ICMP6) {
|
||||
if (skb->protocol == htons(ETH_P_IPV6)) {
|
||||
ipv6_addr_copy(&sin->sin6_addr,
|
||||
(struct in6_addr *)(nh + serr->addr_offset));
|
||||
if (np->sndflow)
|
||||
|
|
@ -380,7 +384,7 @@ int ipv6_recv_error(struct sock *sk, struct msghdr *msg, int len)
|
|||
sin->sin6_family = AF_INET6;
|
||||
sin->sin6_flowinfo = 0;
|
||||
sin->sin6_scope_id = 0;
|
||||
if (serr->ee.ee_origin == SO_EE_ORIGIN_ICMP6) {
|
||||
if (skb->protocol == htons(ETH_P_IPV6)) {
|
||||
ipv6_addr_copy(&sin->sin6_addr, &ipv6_hdr(skb)->saddr);
|
||||
if (np->rxopt.all)
|
||||
datagram_recv_ctl(sk, msg, skb);
|
||||
|
|
|
|||
Loading…
Reference in a new issue