diff options
Diffstat (limited to 'net/ipv4')
-rw-r--r-- | net/ipv4/ah4.c | 4 | ||||
-rw-r--r-- | net/ipv4/igmp.c | 2 | ||||
-rw-r--r-- | net/ipv4/ip_gre.c | 2 | ||||
-rw-r--r-- | net/ipv4/ip_output.c | 11 | ||||
-rw-r--r-- | net/ipv4/ipcomp.c | 2 | ||||
-rw-r--r-- | net/ipv4/ipip.c | 4 | ||||
-rw-r--r-- | net/ipv4/ipmr.c | 8 | ||||
-rw-r--r-- | net/ipv4/ipvs/ip_vs_xmit.c | 4 | ||||
-rw-r--r-- | net/ipv4/netfilter/ipt_LOG.c | 2 | ||||
-rw-r--r-- | net/ipv4/netfilter/ipt_ULOG.c | 2 | ||||
-rw-r--r-- | net/ipv4/raw.c | 2 | ||||
-rw-r--r-- | net/ipv4/xfrm4_mode_beet.c | 4 | ||||
-rw-r--r-- | net/ipv4/xfrm4_mode_transport.c | 8 | ||||
-rw-r--r-- | net/ipv4/xfrm4_mode_tunnel.c | 2 |
14 files changed, 28 insertions, 29 deletions
diff --git a/net/ipv4/ah4.c b/net/ipv4/ah4.c index e1bb9e0aa5f3..6da8ff597ad3 100644 --- a/net/ipv4/ah4.c +++ b/net/ipv4/ah4.c | |||
@@ -181,9 +181,9 @@ static int ah_input(struct xfrm_state *x, struct sk_buff *skb) | |||
181 | } | 181 | } |
182 | } | 182 | } |
183 | ((struct iphdr*)work_buf)->protocol = ah->nexthdr; | 183 | ((struct iphdr*)work_buf)->protocol = ah->nexthdr; |
184 | skb->nh.raw += ah_hlen; | 184 | skb->network_header += ah_hlen; |
185 | memcpy(skb_network_header(skb), work_buf, ihl); | 185 | memcpy(skb_network_header(skb), work_buf, ihl); |
186 | skb->h.raw = skb->nh.raw; | 186 | skb->transport_header = skb->network_header; |
187 | __skb_pull(skb, ah_hlen + ihl); | 187 | __skb_pull(skb, ah_hlen + ihl); |
188 | 188 | ||
189 | return 0; | 189 | return 0; |
diff --git a/net/ipv4/igmp.c b/net/ipv4/igmp.c index 4695ada1d9b1..1fc637fb6750 100644 --- a/net/ipv4/igmp.c +++ b/net/ipv4/igmp.c | |||
@@ -333,7 +333,7 @@ static struct sk_buff *igmpv3_newpack(struct net_device *dev, int size) | |||
333 | ((u8*)&pip[1])[2] = 0; | 333 | ((u8*)&pip[1])[2] = 0; |
334 | ((u8*)&pip[1])[3] = 0; | 334 | ((u8*)&pip[1])[3] = 0; |
335 | 335 | ||
336 | skb->h.raw = skb->nh.raw + sizeof(struct iphdr) + 4; | 336 | skb->transport_header = skb->network_header + sizeof(struct iphdr) + 4; |
337 | skb_put(skb, sizeof(*pig)); | 337 | skb_put(skb, sizeof(*pig)); |
338 | pig = igmpv3_report_hdr(skb); | 338 | pig = igmpv3_report_hdr(skb); |
339 | pig->type = IGMPV3_HOST_MEMBERSHIP_REPORT; | 339 | pig->type = IGMPV3_HOST_MEMBERSHIP_REPORT; |
diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c index e6a9e452fd61..f49afaa81298 100644 --- a/net/ipv4/ip_gre.c +++ b/net/ipv4/ip_gre.c | |||
@@ -828,7 +828,7 @@ static int ipgre_tunnel_xmit(struct sk_buff *skb, struct net_device *dev) | |||
828 | old_iph = ip_hdr(skb); | 828 | old_iph = ip_hdr(skb); |
829 | } | 829 | } |
830 | 830 | ||
831 | skb->h.raw = skb->nh.raw; | 831 | skb->transport_header = skb->network_header; |
832 | skb_push(skb, gre_hlen); | 832 | skb_push(skb, gre_hlen); |
833 | skb_reset_network_header(skb); | 833 | skb_reset_network_header(skb); |
834 | memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt)); | 834 | memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt)); |
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c index 02988fb262d6..875da382d9b9 100644 --- a/net/ipv4/ip_output.c +++ b/net/ipv4/ip_output.c | |||
@@ -582,7 +582,7 @@ slow_path: | |||
582 | skb_reserve(skb2, ll_rs); | 582 | skb_reserve(skb2, ll_rs); |
583 | skb_put(skb2, len + hlen); | 583 | skb_put(skb2, len + hlen); |
584 | skb_reset_network_header(skb2); | 584 | skb_reset_network_header(skb2); |
585 | skb2->h.raw = skb2->nh.raw + hlen; | 585 | skb2->transport_header = skb2->network_header + hlen; |
586 | 586 | ||
587 | /* | 587 | /* |
588 | * Charge the memory for the fragment to any owner | 588 | * Charge the memory for the fragment to any owner |
@@ -713,7 +713,7 @@ static inline int ip_ufo_append_data(struct sock *sk, | |||
713 | skb_reset_network_header(skb); | 713 | skb_reset_network_header(skb); |
714 | 714 | ||
715 | /* initialize protocol header pointer */ | 715 | /* initialize protocol header pointer */ |
716 | skb->h.raw = skb->nh.raw + fragheaderlen; | 716 | skb->transport_header = skb->network_header + fragheaderlen; |
717 | 717 | ||
718 | skb->ip_summed = CHECKSUM_PARTIAL; | 718 | skb->ip_summed = CHECKSUM_PARTIAL; |
719 | skb->csum = 0; | 719 | skb->csum = 0; |
@@ -918,7 +918,8 @@ alloc_new_skb: | |||
918 | */ | 918 | */ |
919 | data = skb_put(skb, fraglen); | 919 | data = skb_put(skb, fraglen); |
920 | skb_set_network_header(skb, exthdrlen); | 920 | skb_set_network_header(skb, exthdrlen); |
921 | skb->h.raw = skb->nh.raw + fragheaderlen; | 921 | skb->transport_header = (skb->network_header + |
922 | fragheaderlen); | ||
922 | data += fragheaderlen; | 923 | data += fragheaderlen; |
923 | 924 | ||
924 | if (fraggap) { | 925 | if (fraggap) { |
@@ -1112,8 +1113,8 @@ ssize_t ip_append_page(struct sock *sk, struct page *page, | |||
1112 | */ | 1113 | */ |
1113 | skb_put(skb, fragheaderlen + fraggap); | 1114 | skb_put(skb, fragheaderlen + fraggap); |
1114 | skb_reset_network_header(skb); | 1115 | skb_reset_network_header(skb); |
1115 | skb->h.raw = skb->nh.raw + fragheaderlen; | 1116 | skb->transport_header = (skb->network_header + |
1116 | 1117 | fragheaderlen); | |
1117 | if (fraggap) { | 1118 | if (fraggap) { |
1118 | skb->csum = skb_copy_and_csum_bits(skb_prev, | 1119 | skb->csum = skb_copy_and_csum_bits(skb_prev, |
1119 | maxfraglen, | 1120 | maxfraglen, |
diff --git a/net/ipv4/ipcomp.c b/net/ipv4/ipcomp.c index 1f13cc507a47..ba348b1e5f84 100644 --- a/net/ipv4/ipcomp.c +++ b/net/ipv4/ipcomp.c | |||
@@ -87,7 +87,7 @@ static int ipcomp_input(struct xfrm_state *x, struct sk_buff *skb) | |||
87 | iph = ip_hdr(skb); | 87 | iph = ip_hdr(skb); |
88 | ipch = (void *)skb->data; | 88 | ipch = (void *)skb->data; |
89 | iph->protocol = ipch->nexthdr; | 89 | iph->protocol = ipch->nexthdr; |
90 | skb->h.raw = skb->nh.raw + sizeof(*ipch); | 90 | skb->transport_header = skb->network_header + sizeof(*ipch); |
91 | __skb_pull(skb, sizeof(*ipch)); | 91 | __skb_pull(skb, sizeof(*ipch)); |
92 | err = ipcomp_decompress(x, skb); | 92 | err = ipcomp_decompress(x, skb); |
93 | 93 | ||
diff --git a/net/ipv4/ipip.c b/net/ipv4/ipip.c index b32b50114806..37ab39170175 100644 --- a/net/ipv4/ipip.c +++ b/net/ipv4/ipip.c | |||
@@ -485,7 +485,7 @@ static int ipip_rcv(struct sk_buff *skb) | |||
485 | 485 | ||
486 | secpath_reset(skb); | 486 | secpath_reset(skb); |
487 | 487 | ||
488 | skb->mac.raw = skb->nh.raw; | 488 | skb->mac_header = skb->network_header; |
489 | skb_reset_network_header(skb); | 489 | skb_reset_network_header(skb); |
490 | skb->protocol = htons(ETH_P_IP); | 490 | skb->protocol = htons(ETH_P_IP); |
491 | skb->pkt_type = PACKET_HOST; | 491 | skb->pkt_type = PACKET_HOST; |
@@ -617,7 +617,7 @@ static int ipip_tunnel_xmit(struct sk_buff *skb, struct net_device *dev) | |||
617 | old_iph = ip_hdr(skb); | 617 | old_iph = ip_hdr(skb); |
618 | } | 618 | } |
619 | 619 | ||
620 | skb->h.raw = skb->nh.raw; | 620 | skb->transport_header = skb->network_header; |
621 | skb_push(skb, sizeof(struct iphdr)); | 621 | skb_push(skb, sizeof(struct iphdr)); |
622 | skb_reset_network_header(skb); | 622 | skb_reset_network_header(skb); |
623 | memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt)); | 623 | memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt)); |
diff --git a/net/ipv4/ipmr.c b/net/ipv4/ipmr.c index 357894259f8f..50d0b301380e 100644 --- a/net/ipv4/ipmr.c +++ b/net/ipv4/ipmr.c | |||
@@ -597,7 +597,7 @@ static int ipmr_cache_report(struct sk_buff *pkt, vifi_t vifi, int assert) | |||
597 | msg->im_msgtype = assert; | 597 | msg->im_msgtype = assert; |
598 | igmp->code = 0; | 598 | igmp->code = 0; |
599 | ip_hdr(skb)->tot_len = htons(skb->len); /* Fix the length */ | 599 | ip_hdr(skb)->tot_len = htons(skb->len); /* Fix the length */ |
600 | skb->h.raw = skb->nh.raw; | 600 | skb->transport_header = skb->network_header; |
601 | } | 601 | } |
602 | 602 | ||
603 | if (mroute_socket == NULL) { | 603 | if (mroute_socket == NULL) { |
@@ -1102,7 +1102,7 @@ static void ip_encap(struct sk_buff *skb, __be32 saddr, __be32 daddr) | |||
1102 | struct iphdr *old_iph = ip_hdr(skb); | 1102 | struct iphdr *old_iph = ip_hdr(skb); |
1103 | 1103 | ||
1104 | skb_push(skb, sizeof(struct iphdr)); | 1104 | skb_push(skb, sizeof(struct iphdr)); |
1105 | skb->h.raw = skb->nh.raw; | 1105 | skb->transport_header = skb->network_header; |
1106 | skb_reset_network_header(skb); | 1106 | skb_reset_network_header(skb); |
1107 | iph = ip_hdr(skb); | 1107 | iph = ip_hdr(skb); |
1108 | 1108 | ||
@@ -1461,7 +1461,7 @@ int pim_rcv_v1(struct sk_buff * skb) | |||
1461 | if (reg_dev == NULL) | 1461 | if (reg_dev == NULL) |
1462 | goto drop; | 1462 | goto drop; |
1463 | 1463 | ||
1464 | skb->mac.raw = skb->nh.raw; | 1464 | skb->mac_header = skb->network_header; |
1465 | skb_pull(skb, (u8*)encap - skb->data); | 1465 | skb_pull(skb, (u8*)encap - skb->data); |
1466 | skb_reset_network_header(skb); | 1466 | skb_reset_network_header(skb); |
1467 | skb->dev = reg_dev; | 1467 | skb->dev = reg_dev; |
@@ -1517,7 +1517,7 @@ static int pim_rcv(struct sk_buff * skb) | |||
1517 | if (reg_dev == NULL) | 1517 | if (reg_dev == NULL) |
1518 | goto drop; | 1518 | goto drop; |
1519 | 1519 | ||
1520 | skb->mac.raw = skb->nh.raw; | 1520 | skb->mac_header = skb->network_header; |
1521 | skb_pull(skb, (u8*)encap - skb->data); | 1521 | skb_pull(skb, (u8*)encap - skb->data); |
1522 | skb_reset_network_header(skb); | 1522 | skb_reset_network_header(skb); |
1523 | skb->dev = reg_dev; | 1523 | skb->dev = reg_dev; |
diff --git a/net/ipv4/ipvs/ip_vs_xmit.c b/net/ipv4/ipvs/ip_vs_xmit.c index c6276d08b31e..fded9b2f227c 100644 --- a/net/ipv4/ipvs/ip_vs_xmit.c +++ b/net/ipv4/ipvs/ip_vs_xmit.c | |||
@@ -323,7 +323,7 @@ ip_vs_tunnel_xmit(struct sk_buff *skb, struct ip_vs_conn *cp, | |||
323 | struct iphdr *old_iph = ip_hdr(skb); | 323 | struct iphdr *old_iph = ip_hdr(skb); |
324 | u8 tos = old_iph->tos; | 324 | u8 tos = old_iph->tos; |
325 | __be16 df = old_iph->frag_off; | 325 | __be16 df = old_iph->frag_off; |
326 | unsigned char *old_h = skb_transport_header(skb); | 326 | unsigned char *old_transport_header = skb->transport_header; |
327 | struct iphdr *iph; /* Our new IP header */ | 327 | struct iphdr *iph; /* Our new IP header */ |
328 | int max_headroom; /* The extra header space needed */ | 328 | int max_headroom; /* The extra header space needed */ |
329 | int mtu; | 329 | int mtu; |
@@ -381,7 +381,7 @@ ip_vs_tunnel_xmit(struct sk_buff *skb, struct ip_vs_conn *cp, | |||
381 | old_iph = ip_hdr(skb); | 381 | old_iph = ip_hdr(skb); |
382 | } | 382 | } |
383 | 383 | ||
384 | skb->h.raw = old_h; | 384 | skb->transport_header = old_transport_header; |
385 | 385 | ||
386 | /* fix old IP header checksum */ | 386 | /* fix old IP header checksum */ |
387 | ip_send_check(old_iph); | 387 | ip_send_check(old_iph); |
diff --git a/net/ipv4/netfilter/ipt_LOG.c b/net/ipv4/netfilter/ipt_LOG.c index c697971fe317..2fa36618c517 100644 --- a/net/ipv4/netfilter/ipt_LOG.c +++ b/net/ipv4/netfilter/ipt_LOG.c | |||
@@ -399,7 +399,7 @@ ipt_log_packet(unsigned int pf, | |||
399 | /* MAC logging for input chain only. */ | 399 | /* MAC logging for input chain only. */ |
400 | printk("MAC="); | 400 | printk("MAC="); |
401 | if (skb->dev && skb->dev->hard_header_len | 401 | if (skb->dev && skb->dev->hard_header_len |
402 | && skb->mac.raw != skb->nh.raw) { | 402 | && skb->mac_header != skb->network_header) { |
403 | int i; | 403 | int i; |
404 | const unsigned char *p = skb_mac_header(skb); | 404 | const unsigned char *p = skb_mac_header(skb); |
405 | for (i = 0; i < skb->dev->hard_header_len; i++,p++) | 405 | for (i = 0; i < skb->dev->hard_header_len; i++,p++) |
diff --git a/net/ipv4/netfilter/ipt_ULOG.c b/net/ipv4/netfilter/ipt_ULOG.c index fae2a34d23d0..ace711e2b05a 100644 --- a/net/ipv4/netfilter/ipt_ULOG.c +++ b/net/ipv4/netfilter/ipt_ULOG.c | |||
@@ -251,7 +251,7 @@ static void ipt_ulog_packet(unsigned int hooknum, | |||
251 | *(pm->prefix) = '\0'; | 251 | *(pm->prefix) = '\0'; |
252 | 252 | ||
253 | if (in && in->hard_header_len > 0 | 253 | if (in && in->hard_header_len > 0 |
254 | && skb->mac.raw != skb->nh.raw | 254 | && skb->mac_header != skb->network_header |
255 | && in->hard_header_len <= ULOG_MAC_LEN) { | 255 | && in->hard_header_len <= ULOG_MAC_LEN) { |
256 | memcpy(pm->mac, skb_mac_header(skb), in->hard_header_len); | 256 | memcpy(pm->mac, skb_mac_header(skb), in->hard_header_len); |
257 | pm->mac_len = in->hard_header_len; | 257 | pm->mac_len = in->hard_header_len; |
diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c index bf101dc1a972..24d7c9f31918 100644 --- a/net/ipv4/raw.c +++ b/net/ipv4/raw.c | |||
@@ -297,7 +297,7 @@ static int raw_send_hdrinc(struct sock *sk, void *from, size_t length, | |||
297 | 297 | ||
298 | skb->ip_summed = CHECKSUM_NONE; | 298 | skb->ip_summed = CHECKSUM_NONE; |
299 | 299 | ||
300 | skb->h.raw = skb->nh.raw; | 300 | skb->transport_header = skb->network_header; |
301 | err = memcpy_fromiovecend((void *)iph, from, 0, length); | 301 | err = memcpy_fromiovecend((void *)iph, from, 0, length); |
302 | if (err) | 302 | if (err) |
303 | goto error_fault; | 303 | goto error_fault; |
diff --git a/net/ipv4/xfrm4_mode_beet.c b/net/ipv4/xfrm4_mode_beet.c index 74859dfb3a25..3650e027ce70 100644 --- a/net/ipv4/xfrm4_mode_beet.c +++ b/net/ipv4/xfrm4_mode_beet.c | |||
@@ -33,7 +33,7 @@ static int xfrm4_beet_output(struct xfrm_state *x, struct sk_buff *skb) | |||
33 | int hdrlen, optlen; | 33 | int hdrlen, optlen; |
34 | 34 | ||
35 | iph = ip_hdr(skb); | 35 | iph = ip_hdr(skb); |
36 | skb->h.raw = skb->nh.raw; | 36 | skb->transport_header = skb->network_header; |
37 | 37 | ||
38 | hdrlen = 0; | 38 | hdrlen = 0; |
39 | optlen = iph->ihl * 4 - sizeof(*iph); | 39 | optlen = iph->ihl * 4 - sizeof(*iph); |
@@ -43,7 +43,7 @@ static int xfrm4_beet_output(struct xfrm_state *x, struct sk_buff *skb) | |||
43 | skb_push(skb, x->props.header_len + hdrlen); | 43 | skb_push(skb, x->props.header_len + hdrlen); |
44 | skb_reset_network_header(skb); | 44 | skb_reset_network_header(skb); |
45 | top_iph = ip_hdr(skb); | 45 | top_iph = ip_hdr(skb); |
46 | skb->h.raw += sizeof(*iph) - hdrlen; | 46 | skb->transport_header += sizeof(*iph) - hdrlen; |
47 | 47 | ||
48 | memmove(top_iph, iph, sizeof(*iph)); | 48 | memmove(top_iph, iph, sizeof(*iph)); |
49 | if (unlikely(optlen)) { | 49 | if (unlikely(optlen)) { |
diff --git a/net/ipv4/xfrm4_mode_transport.c b/net/ipv4/xfrm4_mode_transport.c index dc8834ea3754..601047161ea6 100644 --- a/net/ipv4/xfrm4_mode_transport.c +++ b/net/ipv4/xfrm4_mode_transport.c | |||
@@ -26,9 +26,7 @@ static int xfrm4_transport_output(struct xfrm_state *x, struct sk_buff *skb) | |||
26 | struct iphdr *iph = ip_hdr(skb); | 26 | struct iphdr *iph = ip_hdr(skb); |
27 | int ihl = iph->ihl * 4; | 27 | int ihl = iph->ihl * 4; |
28 | 28 | ||
29 | skb->h.raw = skb->nh.raw; | 29 | skb->transport_header = skb->network_header + ihl; |
30 | skb->h.raw += ihl; | ||
31 | |||
32 | skb_push(skb, x->props.header_len); | 30 | skb_push(skb, x->props.header_len); |
33 | skb_reset_network_header(skb); | 31 | skb_reset_network_header(skb); |
34 | memmove(skb_network_header(skb), iph, ihl); | 32 | memmove(skb_network_header(skb), iph, ihl); |
@@ -47,10 +45,10 @@ static int xfrm4_transport_input(struct xfrm_state *x, struct sk_buff *skb) | |||
47 | { | 45 | { |
48 | int ihl = skb->data - skb_transport_header(skb); | 46 | int ihl = skb->data - skb_transport_header(skb); |
49 | 47 | ||
50 | if (skb->h.raw != skb->nh.raw) { | 48 | if (skb->transport_header != skb->network_header) { |
51 | memmove(skb_transport_header(skb), | 49 | memmove(skb_transport_header(skb), |
52 | skb_network_header(skb), ihl); | 50 | skb_network_header(skb), ihl); |
53 | skb->nh.raw = skb->h.raw; | 51 | skb->network_header = skb->transport_header; |
54 | } | 52 | } |
55 | ip_hdr(skb)->tot_len = htons(skb->len + ihl); | 53 | ip_hdr(skb)->tot_len = htons(skb->len + ihl); |
56 | skb_reset_transport_header(skb); | 54 | skb_reset_transport_header(skb); |
diff --git a/net/ipv4/xfrm4_mode_tunnel.c b/net/ipv4/xfrm4_mode_tunnel.c index 521e52f055c1..a2f2e6a5ec5d 100644 --- a/net/ipv4/xfrm4_mode_tunnel.c +++ b/net/ipv4/xfrm4_mode_tunnel.c | |||
@@ -47,7 +47,7 @@ static int xfrm4_tunnel_output(struct xfrm_state *x, struct sk_buff *skb) | |||
47 | int flags; | 47 | int flags; |
48 | 48 | ||
49 | iph = ip_hdr(skb); | 49 | iph = ip_hdr(skb); |
50 | skb->h.raw = skb->nh.raw; | 50 | skb->transport_header = skb->network_header; |
51 | 51 | ||
52 | skb_push(skb, x->props.header_len); | 52 | skb_push(skb, x->props.header_len); |
53 | skb_reset_network_header(skb); | 53 | skb_reset_network_header(skb); |