diff options
Diffstat (limited to 'net/ipv6/ip6_output.c')
-rw-r--r-- | net/ipv6/ip6_output.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c index dd08cfd8999e..3a692d529163 100644 --- a/net/ipv6/ip6_output.c +++ b/net/ipv6/ip6_output.c | |||
@@ -213,6 +213,7 @@ int ip6_xmit(struct sock *sk, struct sk_buff *skb, struct flowi6 *fl6, | |||
213 | hdr->saddr = fl6->saddr; | 213 | hdr->saddr = fl6->saddr; |
214 | hdr->daddr = *first_hop; | 214 | hdr->daddr = *first_hop; |
215 | 215 | ||
216 | skb->protocol = htons(ETH_P_IPV6); | ||
216 | skb->priority = sk->sk_priority; | 217 | skb->priority = sk->sk_priority; |
217 | skb->mark = sk->sk_mark; | 218 | skb->mark = sk->sk_mark; |
218 | 219 | ||
@@ -1032,6 +1033,7 @@ static inline int ip6_ufo_append_data(struct sock *sk, | |||
1032 | /* initialize protocol header pointer */ | 1033 | /* initialize protocol header pointer */ |
1033 | skb->transport_header = skb->network_header + fragheaderlen; | 1034 | skb->transport_header = skb->network_header + fragheaderlen; |
1034 | 1035 | ||
1036 | skb->protocol = htons(ETH_P_IPV6); | ||
1035 | skb->ip_summed = CHECKSUM_PARTIAL; | 1037 | skb->ip_summed = CHECKSUM_PARTIAL; |
1036 | skb->csum = 0; | 1038 | skb->csum = 0; |
1037 | } | 1039 | } |
@@ -1334,6 +1336,7 @@ alloc_new_skb: | |||
1334 | /* | 1336 | /* |
1335 | * Fill in the control structures | 1337 | * Fill in the control structures |
1336 | */ | 1338 | */ |
1339 | skb->protocol = htons(ETH_P_IPV6); | ||
1337 | skb->ip_summed = CHECKSUM_NONE; | 1340 | skb->ip_summed = CHECKSUM_NONE; |
1338 | skb->csum = 0; | 1341 | skb->csum = 0; |
1339 | /* reserve for fragmentation and ipsec header */ | 1342 | /* reserve for fragmentation and ipsec header */ |