[SK_BUFF]: unions of just one member don't get anything done, kill them
authorArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 11 Apr 2007 04:21:55 +0000 (21:21 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Thu, 26 Apr 2007 05:26:20 +0000 (22:26 -0700)
Renaming skb->h to skb->transport_header, skb->nh to skb->network_header and
skb->mac to skb->mac_header, to match the names of the associated helpers
(skb[_[re]set]_{transport,network,mac}_header).

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
46 files changed:
drivers/net/arcnet/arcnet.c
drivers/net/bonding/bond_3ad.c
drivers/net/bonding/bond_alb.c
drivers/net/wireless/hostap/hostap_80211_rx.c
include/linux/if_vlan.h
include/linux/skbuff.h
net/802/psnap.c
net/8021q/vlan_dev.c
net/appletalk/ddp.c
net/bridge/br_netfilter.c
net/core/dev.c
net/core/pktgen.c
net/core/skbuff.c
net/ieee80211/ieee80211_rx.c
net/ipv4/ah4.c
net/ipv4/igmp.c
net/ipv4/ip_gre.c
net/ipv4/ip_output.c
net/ipv4/ipcomp.c
net/ipv4/ipip.c
net/ipv4/ipmr.c
net/ipv4/ipvs/ip_vs_xmit.c
net/ipv4/netfilter/ipt_LOG.c
net/ipv4/netfilter/ipt_ULOG.c
net/ipv4/raw.c
net/ipv4/xfrm4_mode_beet.c
net/ipv4/xfrm4_mode_transport.c
net/ipv4/xfrm4_mode_tunnel.c
net/ipv6/ah6.c
net/ipv6/exthdrs.c
net/ipv6/ip6_input.c
net/ipv6/ip6_output.c
net/ipv6/ip6_tunnel.c
net/ipv6/ipcomp6.c
net/ipv6/netfilter/ip6t_LOG.c
net/ipv6/netfilter/nf_conntrack_reasm.c
net/ipv6/raw.c
net/ipv6/reassembly.c
net/ipv6/sit.c
net/ipv6/xfrm6_mode_beet.c
net/ipv6/xfrm6_mode_transport.c
net/ipv6/xfrm6_mode_tunnel.c
net/llc/llc_input.c
net/packet/af_packet.c
net/sctp/input.c
net/sctp/ipv6.c

index 83004fdab0a4d29e0fc6a798e2d9501c46516e9f..681e20b8466f7cc9e45bf549817817cf6dcfd4ce 100644 (file)
@@ -519,9 +519,12 @@ static int arcnet_header(struct sk_buff *skb, struct net_device *dev,
                 * real header when we do rebuild_header.
                 */
                *(uint16_t *) skb_push(skb, 2) = type;
-               if (skb->nh.raw - skb->mac.raw != 2)
+               /*
+                * XXX: Why not use skb->mac_len?
+                */
+               if (skb->network_header - skb->mac_header != 2)
                        BUGMSG(D_NORMAL, "arcnet_header: Yikes!  diff (%d) is not 2!\n",
-                              (int)(skb->nh.raw - skb->mac.raw));
+                              (int)(skb->network_header - skb->mac_header));
                return -2;      /* return error -- can't transmit yet! */
        }
        else {
@@ -554,11 +557,13 @@ static int arcnet_rebuild_header(struct sk_buff *skb)
        unsigned short type;
        uint8_t daddr=0;
        struct ArcProto *proto;
-
-       if (skb->nh.raw - skb->mac.raw != 2) {
+       /*
+        * XXX: Why not use skb->mac_len?
+        */
+       if (skb->network_header - skb->mac_header != 2) {
                BUGMSG(D_NORMAL,
-                    "rebuild_header: shouldn't be here! (hdrsize=%d)\n",
-                    (int)(skb->nh.raw - skb->mac.raw));
+                      "rebuild_header: shouldn't be here! (hdrsize=%d)\n",
+                      (int)(skb->network_header - skb->mac_header));
                return 0;
        }
        type = *(uint16_t *) skb_pull(skb, 2);
index 05c870d6f6c3b07b5f1bd4d85e68256284b6e559..7e03f41ae2c2c817f17a776ba02d0c7731f75236 100644 (file)
@@ -885,7 +885,7 @@ static int ad_lacpdu_send(struct port *port)
 
        skb->dev = slave->dev;
        skb_reset_mac_header(skb);
-       skb->nh.raw = skb->mac.raw + ETH_HLEN;
+       skb->network_header = skb->mac_header + ETH_HLEN;
        skb->protocol = PKT_TYPE_LACPDU;
        skb->priority = TC_PRIO_CONTROL;
 
@@ -929,7 +929,7 @@ static int ad_marker_send(struct port *port, struct marker *marker)
 
        skb->dev = slave->dev;
        skb_reset_mac_header(skb);
-       skb->nh.raw = skb->mac.raw + ETH_HLEN;
+       skb->network_header = skb->mac_header + ETH_HLEN;
        skb->protocol = PKT_TYPE_LACPDU;
 
        marker_header = (struct marker_header *)skb_put(skb, length);
index b8cf777542fa27fab4b88d7de86c0cfa4095717d..92c3b6f6a8e7977779ca5c013745bd37ea95da32 100644 (file)
@@ -896,7 +896,7 @@ static void alb_send_learning_packets(struct slave *slave, u8 mac_addr[])
                memcpy(data, &pkt, size);
 
                skb_reset_mac_header(skb);
-               skb->nh.raw = skb->mac.raw + ETH_HLEN;
+               skb->network_header = skb->mac_header + ETH_HLEN;
                skb->protocol = pkt.type;
                skb->priority = TC_PRIO_CONTROL;
                skb->dev = slave->dev;
index 7b7c1ca8f1f41e51e0eedaaaa1934848f825c2c8..35a3a50724fee1c44036fc3d95bfa6281147cdc4 100644 (file)
@@ -1077,7 +1077,7 @@ void hostap_80211_rx(struct net_device *dev, struct sk_buff *skb,
                skb2->protocol = __constant_htons(ETH_P_802_3);
                skb_reset_mac_header(skb2);
                skb_reset_network_header(skb2);
-               /* skb2->nh.raw += ETH_HLEN; */
+               /* skb2->network_header += ETH_HLEN; */
                dev_queue_xmit(skb2);
        }
 
index 544490d9d0bdfed269746ba7d7839e972f7cac1e..81e9bc93569b5e0a849b19a06987b53c983d4074 100644 (file)
@@ -275,8 +275,8 @@ static inline struct sk_buff *__vlan_put_tag(struct sk_buff *skb, unsigned short
        veth->h_vlan_TCI = htons(tag);
 
        skb->protocol = __constant_htons(ETH_P_8021Q);
-       skb->mac.raw -= VLAN_HLEN;
-       skb->nh.raw -= VLAN_HLEN;
+       skb->mac_header -= VLAN_HLEN;
+       skb->network_header -= VLAN_HLEN;
 
        return skb;
 }
index 230dd43fc9b32ef8614d9e441c8af72cc2cc3b40..c45ad126327195ced36f516652cca2ba83120423 100644 (file)
@@ -69,8 +69,8 @@
  *     NONE: skb is checksummed by protocol or csum is not required.
  *
  *     PARTIAL: device is required to csum packet as seen by hard_start_xmit
- *     from skb->h.raw to the end and to record the checksum
- *     at skb->h.raw+skb->csum.
+ *     from skb->transport_header to the end and to record the checksum
+ *     at skb->transport_header + skb->csum.
  *
  *     Device must show its capabilities in dev->features, set
  *     at device setup time.
@@ -188,8 +188,8 @@ enum {
  *     @dev: Device we arrived on/are leaving by
  *     @iif: ifindex of device we arrived on
  *     @h: Transport layer header
- *     @nh: Network layer header
- *     @mac: Link layer header
+ *     @network_header: Network layer header
+ *     @mac_header: Link layer header
  *     @dst: destination entry
  *     @sp: the security path, used for xfrm
  *     @cb: Control buffer. Free for use by every layer. Put private vars here
@@ -236,18 +236,9 @@ struct sk_buff {
        int                     iif;
        /* 4 byte hole on 64 bit*/
 
-       union {
-               unsigned char   *raw;
-       } h;
-
-       union {
-               unsigned char   *raw;
-       } nh;
-
-       union {
-               unsigned char   *raw;
-       } mac;
-
+       unsigned char           *transport_header;
+       unsigned char           *network_header;
+       unsigned char           *mac_header;
        struct  dst_entry       *dst;
        struct  sec_path        *sp;
 
@@ -953,68 +944,68 @@ static inline void skb_reserve(struct sk_buff *skb, int len)
 
 static inline unsigned char *skb_transport_header(const struct sk_buff *skb)
 {
-       return skb->h.raw;
+       return skb->transport_header;
 }
 
 static inline void skb_reset_transport_header(struct sk_buff *skb)
 {
-       skb->h.raw = skb->data;
+       skb->transport_header = skb->data;
 }
 
 static inline void skb_set_transport_header(struct sk_buff *skb,
                                            const int offset)
 {
-       skb->h.raw = skb->data + offset;
+       skb->transport_header = skb->data + offset;
 }
 
 static inline int skb_transport_offset(const struct sk_buff *skb)
 {
-       return skb->h.raw - skb->data;
+       return skb->transport_header - skb->data;
 }
 
 static inline unsigned char *skb_network_header(const struct sk_buff *skb)
 {
-       return skb->nh.raw;
+       return skb->network_header;
 }
 
 static inline void skb_reset_network_header(struct sk_buff *skb)
 {
-       skb->nh.raw = skb->data;
+       skb->network_header = skb->data;
 }
 
 static inline void skb_set_network_header(struct sk_buff *skb, const int offset)
 {
-       skb->nh.raw = skb->data + offset;
+       skb->network_header = skb->data + offset;
 }
 
 static inline int skb_network_offset(const struct sk_buff *skb)
 {
-       return skb->nh.raw - skb->data;
+       return skb->network_header - skb->data;
 }
 
 static inline u32 skb_network_header_len(const struct sk_buff *skb)
 {
-       return skb->h.raw - skb->nh.raw;
+       return skb->transport_header - skb->network_header;
 }
 
 static inline unsigned char *skb_mac_header(const struct sk_buff *skb)
 {
-       return skb->mac.raw;
+       return skb->mac_header;
 }
 
 static inline int skb_mac_header_was_set(const struct sk_buff *skb)
 {
-       return skb->mac.raw != NULL;
+       return skb->mac_header != NULL;
 }
 
 static inline void skb_reset_mac_header(struct sk_buff *skb)
 {
-       skb->mac.raw = skb->data;
+       skb->mac_header = skb->data;
 }
 
 static inline void skb_set_mac_header(struct sk_buff *skb, const int offset)
 {
-       skb->mac.raw = skb->data + offset;
+       skb->mac_header = skb->data + offset;
 }
 
 /*
index 7cba1f426081b61f45886c28f53a2cea5b93f602..04ee43e7538f63af49529b31299747e7dac63f47 100644 (file)
@@ -59,7 +59,7 @@ static int snap_rcv(struct sk_buff *skb, struct net_device *dev,
        proto = find_snap_client(skb_transport_header(skb));
        if (proto) {
                /* Pass the frame on. */
-               skb->h.raw  += 5;
+               skb->transport_header += 5;
                skb_pull_rcsum(skb, 5);
                rc = proto->rcvfunc(skb, dev, &snap_packet_type, orig_dev);
        } else {
index 0991e293940fb7481ab50ca059cd541cf7324f95..42a35bed0881d388c21fc7eb1ef433f44afa9696 100644 (file)
@@ -83,7 +83,7 @@ static inline struct sk_buff *vlan_check_reorder_header(struct sk_buff *skb)
                        /* Lifted from Gleb's VLAN code... */
                        memmove(skb->data - ETH_HLEN,
                                skb->data - VLAN_ETH_HLEN, 12);
-                       skb->mac.raw += VLAN_HLEN;
+                       skb->mac_header += VLAN_HLEN;
                }
        }
 
index 137341b4d833c54eb60d79465d81c03602804159..f6a92a0b7aa6b0400a8613c1d57569b8c9935587 100644 (file)
@@ -1383,10 +1383,10 @@ free_it:
  *     @pt - packet type
  *
  *     Receive a packet (in skb) from device dev. This has come from the SNAP
- *     decoder, and on entry skb->h.raw is the DDP header, skb->len is the DDP
- *     header, skb->len is the DDP length. The physical headers have been
- *     extracted. PPP should probably pass frames marked as for this layer.
- *     [ie ARPHRD_ETHERTALK]
+ *     decoder, and on entry skb->transport_header is the DDP header, skb->len
+ *     is the DDP header, skb->len is the DDP length. The physical headers
+ *     have been extracted. PPP should probably pass frames marked as for this
+ *     layer.  [ie ARPHRD_ETHERTALK]
  */
 static int atalk_rcv(struct sk_buff *skb, struct net_device *dev,
                     struct packet_type *pt, struct net_device *orig_dev)
index f2796c97b4a2fe844c2f861dea6f1df21612e039..8cee7fdc16c31b3d3becfc507f8627c64489cf7c 100644 (file)
@@ -174,7 +174,7 @@ static int br_nf_pre_routing_finish_ipv6(struct sk_buff *skb)
        skb->dev = nf_bridge->physindev;
        if (skb->protocol == htons(ETH_P_8021Q)) {
                skb_push(skb, VLAN_HLEN);
-               skb->nh.raw -= VLAN_HLEN;
+               skb->network_header -= VLAN_HLEN;
        }
        NF_HOOK_THRESH(PF_BRIDGE, NF_BR_PRE_ROUTING, skb, skb->dev, NULL,
                       br_handle_frame_finish, 1);
@@ -255,7 +255,7 @@ static int br_nf_pre_routing_finish_bridge(struct sk_buff *skb)
        else {
                if (skb->protocol == htons(ETH_P_8021Q)) {
                        skb_pull(skb, VLAN_HLEN);
-                       skb->nh.raw += VLAN_HLEN;
+                       skb->network_header += VLAN_HLEN;
                }
                skb->dst->output(skb);
        }
@@ -325,7 +325,7 @@ bridged_dnat:
                                if (skb->protocol ==
                                    htons(ETH_P_8021Q)) {
                                        skb_push(skb, VLAN_HLEN);
-                                       skb->nh.raw -= VLAN_HLEN;
+                                       skb->network_header -= VLAN_HLEN;
                                }
                                NF_HOOK_THRESH(PF_BRIDGE, NF_BR_PRE_ROUTING,
                                               skb, skb->dev, NULL,
@@ -344,7 +344,7 @@ bridged_dnat:
        skb->dev = nf_bridge->physindev;
        if (skb->protocol == htons(ETH_P_8021Q)) {
                skb_push(skb, VLAN_HLEN);
-               skb->nh.raw -= VLAN_HLEN;
+               skb->network_header -= VLAN_HLEN;
        }
        NF_HOOK_THRESH(PF_BRIDGE, NF_BR_PRE_ROUTING, skb, skb->dev, NULL,
                       br_handle_frame_finish, 1);
@@ -497,7 +497,7 @@ static unsigned int br_nf_pre_routing(unsigned int hook, struct sk_buff **pskb,
 
                if (skb->protocol == htons(ETH_P_8021Q)) {
                        skb_pull_rcsum(skb, VLAN_HLEN);
-                       skb->nh.raw += VLAN_HLEN;
+                       skb->network_header += VLAN_HLEN;
                }
                return br_nf_pre_routing_ipv6(hook, skb, in, out, okfn);
        }
@@ -514,7 +514,7 @@ static unsigned int br_nf_pre_routing(unsigned int hook, struct sk_buff **pskb,
 
        if (skb->protocol == htons(ETH_P_8021Q)) {
                skb_pull_rcsum(skb, VLAN_HLEN);
-               skb->nh.raw += VLAN_HLEN;
+               skb->network_header += VLAN_HLEN;
        }
 
        if (!pskb_may_pull(skb, sizeof(struct iphdr)))
@@ -595,7 +595,7 @@ static int br_nf_forward_finish(struct sk_buff *skb)
        }
        if (skb->protocol == htons(ETH_P_8021Q)) {
                skb_push(skb, VLAN_HLEN);
-               skb->nh.raw -= VLAN_HLEN;
+               skb->network_header -= VLAN_HLEN;
        }
        NF_HOOK_THRESH(PF_BRIDGE, NF_BR_FORWARD, skb, in,
                       skb->dev, br_forward_finish, 1);
@@ -631,7 +631,7 @@ static unsigned int br_nf_forward_ip(unsigned int hook, struct sk_buff **pskb,
 
        if (skb->protocol == htons(ETH_P_8021Q)) {
                skb_pull(*pskb, VLAN_HLEN);
-               (*pskb)->nh.raw += VLAN_HLEN;
+               (*pskb)->network_header += VLAN_HLEN;
        }
 
        nf_bridge = skb->nf_bridge;
@@ -667,13 +667,13 @@ static unsigned int br_nf_forward_arp(unsigned int hook, struct sk_buff **pskb,
                if (!IS_VLAN_ARP(skb))
                        return NF_ACCEPT;
                skb_pull(*pskb, VLAN_HLEN);
-               (*pskb)->nh.raw += VLAN_HLEN;
+               (*pskb)->network_header += VLAN_HLEN;
        }
 
        if (arp_hdr(skb)->ar_pln != 4) {
                if (IS_VLAN_ARP(skb)) {
                        skb_push(*pskb, VLAN_HLEN);
-                       (*pskb)->nh.raw -= VLAN_HLEN;
+                       (*pskb)->network_header -= VLAN_HLEN;
                }
                return NF_ACCEPT;
        }
@@ -723,7 +723,7 @@ static unsigned int br_nf_local_out(unsigned int hook, struct sk_buff **pskb,
        }
        if (skb->protocol == htons(ETH_P_8021Q)) {
                skb_push(skb, VLAN_HLEN);
-               skb->nh.raw -= VLAN_HLEN;
+               skb->network_header -= VLAN_HLEN;
        }
 
        NF_HOOK(PF_BRIDGE, NF_BR_FORWARD, skb, realindev, skb->dev,
@@ -790,7 +790,7 @@ static unsigned int br_nf_post_routing(unsigned int hook, struct sk_buff **pskb,
 
        if (skb->protocol == htons(ETH_P_8021Q)) {
                skb_pull(skb, VLAN_HLEN);
-               skb->nh.raw += VLAN_HLEN;
+               skb->network_header += VLAN_HLEN;
        }
 
        nf_bridge_save_header(skb);
index 30fcc7f9d4edde76a685fc9d0f4ef5e1628a9ca0..6562e5736e2f875933e0435a9e6a912647e4402d 100644 (file)
@@ -1077,7 +1077,7 @@ static void dev_queue_xmit_nit(struct sk_buff *skb, struct net_device *dev)
                                skb_reset_network_header(skb2);
                        }
 
-                       skb2->h.raw = skb2->nh.raw;
+                       skb2->transport_header = skb2->network_header;
                        skb2->pkt_type = PACKET_OUTGOING;
                        ptype->func(skb2, skb->dev, ptype, skb->dev);
                }
@@ -1207,7 +1207,7 @@ struct sk_buff *skb_gso_segment(struct sk_buff *skb, int features)
        BUG_ON(skb_shinfo(skb)->frag_list);
 
        skb_reset_mac_header(skb);
-       skb->mac_len = skb->nh.raw - skb->mac.raw;
+       skb->mac_len = skb->network_header - skb->mac_header;
        __skb_pull(skb, skb->mac_len);
 
        if (unlikely(skb->ip_summed != CHECKSUM_PARTIAL)) {
@@ -1774,7 +1774,7 @@ int netif_receive_skb(struct sk_buff *skb)
 
        skb_reset_network_header(skb);
        skb_reset_transport_header(skb);
-       skb->mac_len = skb->nh.raw - skb->mac.raw;
+       skb->mac_len = skb->network_header - skb->mac_header;
 
        pt_prev = NULL;
 
index ae8cf9a285fdf44aad413bb8b1a898f43d364049..9da8357addcdb1f4618f16d4483d0e168b9f1cd3 100644 (file)
@@ -2358,7 +2358,7 @@ static struct sk_buff *fill_packet_ipv4(struct net_device *odev,
        }
 
        skb_set_network_header(skb, skb->tail - skb->data);
-       skb->h.raw = skb->nh.raw + sizeof(struct iphdr);
+       skb->transport_header = skb->network_header + sizeof(struct iphdr);
        skb_put(skb, sizeof(struct iphdr) + sizeof(struct udphdr));
 
        iph = ip_hdr(skb);
@@ -2391,9 +2391,9 @@ static struct sk_buff *fill_packet_ipv4(struct net_device *odev,
        iph->check = 0;
        iph->check = ip_fast_csum((void *)iph, iph->ihl);
        skb->protocol = protocol;
-       skb->mac.raw = (skb->nh.raw - ETH_HLEN -
-                       pkt_dev->nr_labels * sizeof(u32) -
-                       VLAN_TAG_SIZE(pkt_dev) - SVLAN_TAG_SIZE(pkt_dev));
+       skb->mac_header = (skb->network_header - ETH_HLEN -
+                          pkt_dev->nr_labels * sizeof(u32) -
+                          VLAN_TAG_SIZE(pkt_dev) - SVLAN_TAG_SIZE(pkt_dev));
        skb->dev = odev;
        skb->pkt_type = PACKET_HOST;
 
@@ -2697,7 +2697,7 @@ static struct sk_buff *fill_packet_ipv6(struct net_device *odev,
        }
 
        skb_set_network_header(skb, skb->tail - skb->data);
-       skb->h.raw = skb->nh.raw + sizeof(struct ipv6hdr);
+       skb->transport_header = skb->network_header + sizeof(struct ipv6hdr);
        skb_put(skb, sizeof(struct ipv6hdr) + sizeof(struct udphdr));
 
        iph = ipv6_hdr(skb);
@@ -2738,9 +2738,9 @@ static struct sk_buff *fill_packet_ipv6(struct net_device *odev,
        ipv6_addr_copy(&iph->daddr, &pkt_dev->cur_in6_daddr);
        ipv6_addr_copy(&iph->saddr, &pkt_dev->cur_in6_saddr);
 
-       skb->mac.raw = (skb->nh.raw - ETH_HLEN -
-                       pkt_dev->nr_labels * sizeof(u32) -
-                       VLAN_TAG_SIZE(pkt_dev) - SVLAN_TAG_SIZE(pkt_dev));
+       skb->mac_header = (skb->network_header - ETH_HLEN -
+                          pkt_dev->nr_labels * sizeof(u32) -
+                          VLAN_TAG_SIZE(pkt_dev) - SVLAN_TAG_SIZE(pkt_dev));
        skb->protocol = protocol;
        skb->dev = odev;
        skb->pkt_type = PACKET_HOST;
index f38af6c01b123028527d2b3368807b0e3e1729c4..1e71764be4a44bbaf858f40ab31ee198b668db51 100644 (file)
@@ -396,9 +396,9 @@ struct sk_buff *skb_clone(struct sk_buff *skb, gfp_t gfp_mask)
        n->sk = NULL;
        C(tstamp);
        C(dev);
-       C(h);
-       C(nh);
-       C(mac);
+       C(transport_header);
+       C(network_header);
+       C(mac_header);
        C(dst);
        dst_clone(skb->dst);
        C(sp);
@@ -461,9 +461,9 @@ static void copy_skb_header(struct sk_buff *new, const struct sk_buff *old)
 #ifdef CONFIG_INET
        new->sp         = secpath_get(old->sp);
 #endif
-       new->h.raw      = old->h.raw + offset;
-       new->nh.raw     = old->nh.raw + offset;
-       new->mac.raw    = old->mac.raw + offset;
+       new->transport_header = old->transport_header + offset;
+       new->network_header   = old->network_header + offset;
+       new->mac_header       = old->mac_header + offset;
        memcpy(new->cb, old->cb, sizeof(old->cb));
        new->local_df   = old->local_df;
        new->fclone     = SKB_FCLONE_UNAVAILABLE;
@@ -639,9 +639,9 @@ int pskb_expand_head(struct sk_buff *skb, int nhead, int ntail,
        skb->end      = data + size;
        skb->data    += off;
        skb->tail    += off;
-       skb->mac.raw += off;
-       skb->h.raw   += off;
-       skb->nh.raw  += off;
+       skb->transport_header += off;
+       skb->network_header   += off;
+       skb->mac_header       += off;
        skb->cloned   = 0;
        skb->nohdr    = 0;
        atomic_set(&skb_shinfo(skb)->dataref, 1);
@@ -1906,7 +1906,8 @@ struct sk_buff *skb_segment(struct sk_buff *skb, int features)
                skb_reserve(nskb, headroom);
                skb_reset_mac_header(nskb);
                skb_set_network_header(nskb, skb->mac_len);
-               nskb->h.raw = nskb->nh.raw + skb_network_header_len(skb);
+               nskb->transport_header = (nskb->network_header +
+                                         skb_network_header_len(skb));
                memcpy(skb_put(nskb, doffset), skb->data, doffset);
 
                if (!sg) {
index 7f5a352800a01bbb2a74940c91e073cdf7bc02ca..59a765c49cf9e5ab74ce1316b0b7063f660b1aa4 100644 (file)
@@ -793,7 +793,7 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
                skb2->protocol = __constant_htons(ETH_P_802_3);
                skb_reset_mac_header(skb2);
                skb_reset_network_header(skb2);
-               /* skb2->nh.raw += ETH_HLEN; */
+               /* skb2->network_header += ETH_HLEN; */
                dev_queue_xmit(skb2);
        }
 #endif
index e1bb9e0aa5f3043c021bce16220d0f24886fb74c..6da8ff597ad30f7462371d4547032d220b55b7e0 100644 (file)
@@ -181,9 +181,9 @@ static int ah_input(struct xfrm_state *x, struct sk_buff *skb)
                }
        }
        ((struct iphdr*)work_buf)->protocol = ah->nexthdr;
-       skb->nh.raw += ah_hlen;
+       skb->network_header += ah_hlen;
        memcpy(skb_network_header(skb), work_buf, ihl);
-       skb->h.raw = skb->nh.raw;
+       skb->transport_header = skb->network_header;
        __skb_pull(skb, ah_hlen + ihl);
 
        return 0;
index 4695ada1d9b171e70220de1f6d0ca0d2446734ef..1fc637fb675095333adf5265cda9cef8707911f2 100644 (file)
@@ -333,7 +333,7 @@ static struct sk_buff *igmpv3_newpack(struct net_device *dev, int size)
        ((u8*)&pip[1])[2] = 0;
        ((u8*)&pip[1])[3] = 0;
 
-       skb->h.raw = skb->nh.raw + sizeof(struct iphdr) + 4;
+       skb->transport_header = skb->network_header + sizeof(struct iphdr) + 4;
        skb_put(skb, sizeof(*pig));
        pig = igmpv3_report_hdr(skb);
        pig->type = IGMPV3_HOST_MEMBERSHIP_REPORT;
index e6a9e452fd613094ccb8f0c1bdc35fad290317f7..f49afaa812985d5aec9388ecea98e76cb115091e 100644 (file)
@@ -828,7 +828,7 @@ static int ipgre_tunnel_xmit(struct sk_buff *skb, struct net_device *dev)
                old_iph = ip_hdr(skb);
        }
 
-       skb->h.raw = skb->nh.raw;
+       skb->transport_header = skb->network_header;
        skb_push(skb, gre_hlen);
        skb_reset_network_header(skb);
        memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt));
index 02988fb262d624c15b6e18ea6d225a7ec7083d54..875da382d9b9e4dba6b78bc42724786e2d90e212 100644 (file)
@@ -582,7 +582,7 @@ slow_path:
                skb_reserve(skb2, ll_rs);
                skb_put(skb2, len + hlen);
                skb_reset_network_header(skb2);
-               skb2->h.raw = skb2->nh.raw + hlen;
+               skb2->transport_header = skb2->network_header + hlen;
 
                /*
                 *      Charge the memory for the fragment to any owner
@@ -713,7 +713,7 @@ static inline int ip_ufo_append_data(struct sock *sk,
                skb_reset_network_header(skb);
 
                /* initialize protocol header pointer */
-               skb->h.raw = skb->nh.raw + fragheaderlen;
+               skb->transport_header = skb->network_header + fragheaderlen;
 
                skb->ip_summed = CHECKSUM_PARTIAL;
                skb->csum = 0;
@@ -918,7 +918,8 @@ alloc_new_skb:
                         */
                        data = skb_put(skb, fraglen);
                        skb_set_network_header(skb, exthdrlen);
-                       skb->h.raw = skb->nh.raw + fragheaderlen;
+                       skb->transport_header = (skb->network_header +
+                                                fragheaderlen);
                        data += fragheaderlen;
 
                        if (fraggap) {
@@ -1112,8 +1113,8 @@ ssize_t   ip_append_page(struct sock *sk, struct page *page,
                         */
                        skb_put(skb, fragheaderlen + fraggap);
                        skb_reset_network_header(skb);
-                       skb->h.raw = skb->nh.raw + fragheaderlen;
-
+                       skb->transport_header = (skb->network_header +
+                                                fragheaderlen);
                        if (fraggap) {
                                skb->csum = skb_copy_and_csum_bits(skb_prev,
                                                                   maxfraglen,
index 1f13cc507a47fc8ed2805ae65a1f9c47f9f1f489..ba348b1e5f84469999f8d3de8eebe74cbd7fcc71 100644 (file)
@@ -87,7 +87,7 @@ static int ipcomp_input(struct xfrm_state *x, struct sk_buff *skb)
        iph = ip_hdr(skb);
        ipch = (void *)skb->data;
        iph->protocol = ipch->nexthdr;
-       skb->h.raw = skb->nh.raw + sizeof(*ipch);
+       skb->transport_header = skb->network_header + sizeof(*ipch);
        __skb_pull(skb, sizeof(*ipch));
        err = ipcomp_decompress(x, skb);
 
index b32b50114806f2c874ea9340a47411f357a992d4..37ab39170175f543142dff2c816469c4f04a9b16 100644 (file)
@@ -485,7 +485,7 @@ static int ipip_rcv(struct sk_buff *skb)
 
                secpath_reset(skb);
 
-               skb->mac.raw = skb->nh.raw;
+               skb->mac_header = skb->network_header;
                skb_reset_network_header(skb);
                skb->protocol = htons(ETH_P_IP);
                skb->pkt_type = PACKET_HOST;
@@ -617,7 +617,7 @@ static int ipip_tunnel_xmit(struct sk_buff *skb, struct net_device *dev)
                old_iph = ip_hdr(skb);
        }
 
-       skb->h.raw = skb->nh.raw;
+       skb->transport_header = skb->network_header;
        skb_push(skb, sizeof(struct iphdr));
        skb_reset_network_header(skb);
        memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt));
index 357894259f8ff6a980954de803f539296908e5e0..50d0b301380e7d1c94fd9ff1e68c133cbec77b7d 100644 (file)
@@ -597,7 +597,7 @@ static int ipmr_cache_report(struct sk_buff *pkt, vifi_t vifi, int assert)
        msg->im_msgtype = assert;
        igmp->code      =       0;
        ip_hdr(skb)->tot_len = htons(skb->len);                 /* Fix the length */
-       skb->h.raw = skb->nh.raw;
+       skb->transport_header = skb->network_header;
        }
 
        if (mroute_socket == NULL) {
@@ -1102,7 +1102,7 @@ static void ip_encap(struct sk_buff *skb, __be32 saddr, __be32 daddr)
        struct iphdr *old_iph = ip_hdr(skb);
 
        skb_push(skb, sizeof(struct iphdr));
-       skb->h.raw = skb->nh.raw;
+       skb->transport_header = skb->network_header;
        skb_reset_network_header(skb);
        iph = ip_hdr(skb);
 
@@ -1461,7 +1461,7 @@ int pim_rcv_v1(struct sk_buff * skb)
        if (reg_dev == NULL)
                goto drop;
 
-       skb->mac.raw = skb->nh.raw;
+       skb->mac_header = skb->network_header;
        skb_pull(skb, (u8*)encap - skb->data);
        skb_reset_network_header(skb);
        skb->dev = reg_dev;
@@ -1517,7 +1517,7 @@ static int pim_rcv(struct sk_buff * skb)
        if (reg_dev == NULL)
                goto drop;
 
-       skb->mac.raw = skb->nh.raw;
+       skb->mac_header = skb->network_header;
        skb_pull(skb, (u8*)encap - skb->data);
        skb_reset_network_header(skb);
        skb->dev = reg_dev;
index c6276d08b31e1141db03b421461d224b2036f536..fded9b2f227cf704a456a15aefb1abe4ef2fcdf3 100644 (file)
@@ -323,7 +323,7 @@ ip_vs_tunnel_xmit(struct sk_buff *skb, struct ip_vs_conn *cp,
        struct iphdr  *old_iph = ip_hdr(skb);
        u8     tos = old_iph->tos;
        __be16 df = old_iph->frag_off;
-       unsigned char *old_h = skb_transport_header(skb);
+       unsigned char *old_transport_header = skb->transport_header;
        struct iphdr  *iph;                     /* Our new IP header */
        int    max_headroom;                    /* The extra header space needed */
        int    mtu;
@@ -381,7 +381,7 @@ ip_vs_tunnel_xmit(struct sk_buff *skb, struct ip_vs_conn *cp,
                old_iph = ip_hdr(skb);
        }
 
-       skb->h.raw = old_h;
+       skb->transport_header = old_transport_header;
 
        /* fix old IP header checksum */
        ip_send_check(old_iph);
index c697971fe317c09e47080298836eb9f4295b575a..2fa36618c517e97f86de89ecf4ef4d3c1315abde 100644 (file)
@@ -399,7 +399,7 @@ ipt_log_packet(unsigned int pf,
                /* MAC logging for input chain only. */
                printk("MAC=");
                if (skb->dev && skb->dev->hard_header_len
-                   && skb->mac.raw != skb->nh.raw) {
+                   && skb->mac_header != skb->network_header) {
                        int i;
                        const unsigned char *p = skb_mac_header(skb);
                        for (i = 0; i < skb->dev->hard_header_len; i++,p++)
index fae2a34d23d0ac5c430fa36da4c30b96ff5b6382..ace711e2b05ab5a965beab9a0d0e381a9e077e91 100644 (file)
@@ -251,7 +251,7 @@ static void ipt_ulog_packet(unsigned int hooknum,
                *(pm->prefix) = '\0';
 
        if (in && in->hard_header_len > 0
-           && skb->mac.raw != skb->nh.raw
+           && skb->mac_header != skb->network_header
            && in->hard_header_len <= ULOG_MAC_LEN) {
                memcpy(pm->mac, skb_mac_header(skb), in->hard_header_len);
                pm->mac_len = in->hard_header_len;
index bf101dc1a9720aeda183dd6866101ada4652e9b2..24d7c9f319184aae8a894e25a20eeaad9fa4ce56 100644 (file)
@@ -297,7 +297,7 @@ static int raw_send_hdrinc(struct sock *sk, void *from, size_t length,
 
        skb->ip_summed = CHECKSUM_NONE;
 
-       skb->h.raw = skb->nh.raw;
+       skb->transport_header = skb->network_header;
        err = memcpy_fromiovecend((void *)iph, from, 0, length);
        if (err)
                goto error_fault;
index 74859dfb3a25bebef6c9ed2bf3ec5485666ad41e..3650e027ce703306fcd15acd772fdeb6f88ed8d1 100644 (file)
@@ -33,7 +33,7 @@ static int xfrm4_beet_output(struct xfrm_state *x, struct sk_buff *skb)
        int hdrlen, optlen;
 
        iph = ip_hdr(skb);
-       skb->h.raw = skb->nh.raw;
+       skb->transport_header = skb->network_header;
 
        hdrlen = 0;
        optlen = iph->ihl * 4 - sizeof(*iph);
@@ -43,7 +43,7 @@ static int xfrm4_beet_output(struct xfrm_state *x, struct sk_buff *skb)
        skb_push(skb, x->props.header_len + hdrlen);
        skb_reset_network_header(skb);
        top_iph = ip_hdr(skb);
-       skb->h.raw += sizeof(*iph) - hdrlen;
+       skb->transport_header += sizeof(*iph) - hdrlen;
 
        memmove(top_iph, iph, sizeof(*iph));
        if (unlikely(optlen)) {
index dc8834ea3754746892ab9a9cc7b1cff33096c070..601047161ea6102ff80fb4e89ebd25672dae2378 100644 (file)
@@ -26,9 +26,7 @@ static int xfrm4_transport_output(struct xfrm_state *x, struct sk_buff *skb)
        struct iphdr *iph = ip_hdr(skb);
        int ihl = iph->ihl * 4;
 
-       skb->h.raw = skb->nh.raw;
-       skb->h.raw += ihl;
-
+       skb->transport_header = skb->network_header + ihl;
        skb_push(skb, x->props.header_len);
        skb_reset_network_header(skb);
        memmove(skb_network_header(skb), iph, ihl);
@@ -47,10 +45,10 @@ static int xfrm4_transport_input(struct xfrm_state *x, struct sk_buff *skb)
 {
        int ihl = skb->data - skb_transport_header(skb);
 
-       if (skb->h.raw != skb->nh.raw) {
+       if (skb->transport_header != skb->network_header) {
                memmove(skb_transport_header(skb),
                        skb_network_header(skb), ihl);
-               skb->nh.raw = skb->h.raw;
+               skb->network_header = skb->transport_header;
        }
        ip_hdr(skb)->tot_len = htons(skb->len + ihl);
        skb_reset_transport_header(skb);
index 521e52f055c118ac87cee35c7de1313333755fce..a2f2e6a5ec5d1662e6ba0b372af47059288cebaf 100644 (file)
@@ -47,7 +47,7 @@ static int xfrm4_tunnel_output(struct xfrm_state *x, struct sk_buff *skb)
        int flags;
 
        iph = ip_hdr(skb);
-       skb->h.raw = skb->nh.raw;
+       skb->transport_header = skb->network_header;
 
        skb_push(skb, x->props.header_len);
        skb_reset_network_header(skb);
index d2af4fe3725b7b9fdb8030a4a08fe3a2ce9c78b9..b696c8401200b64c7775f85c511bad6e026d292b 100644 (file)
@@ -316,8 +316,8 @@ static int ah6_input(struct xfrm_state *x, struct sk_buff *skb)
         *
         * To erase AH:
         * Keeping copy of cleared headers. After AH processing,
-        * Moving the pointer of skb->nh.raw by using skb_pull as long as AH
-        * header length. Then copy back the copy as long as hdr_len
+        * Moving the pointer of skb->network_header by using skb_pull as long
+        * as AH header length. Then copy back the copy as long as hdr_len
         * If destination header following AH exists, copy it into after [Ext2].
         *
         * |<>|[IPv6][Ext1][Ext2][Dest][Payload]
@@ -384,9 +384,9 @@ static int ah6_input(struct xfrm_state *x, struct sk_buff *skb)
                }
        }
 
-       skb->nh.raw += ah_hlen;
+       skb->network_header += ah_hlen;
        memcpy(skb_network_header(skb), tmp_hdr, hdr_len);
-       skb->h.raw = skb->nh.raw;
+       skb->transport_header = skb->network_header;
        __skb_pull(skb, ah_hlen + hdr_len);
 
        kfree(tmp_hdr);
index f34cc2bd489abbaf19190dc2e666d374b1a8bd96..a6a275db88cdd8aa315f2e5a7b14911342ee7345 100644 (file)
@@ -306,7 +306,7 @@ static int ipv6_destopt_rcv(struct sk_buff **skbp)
        if (ip6_parse_tlv(tlvprocdestopt_lst, skbp)) {
                dst_release(dst);
                skb = *skbp;
-               skb->h.raw += (skb_transport_header(skb)[1] + 1) << 3;
+               skb->transport_header += (skb_transport_header(skb)[1] + 1) << 3;
                opt = IP6CB(skb);
 #ifdef CONFIG_IPV6_MIP6
                opt->nhoff = dstbuf;
@@ -444,7 +444,7 @@ looped_back:
                }
 
                opt->lastopt = opt->srcrt = skb_network_header_len(skb);
-               skb->h.raw += (hdr->hdrlen + 1) << 3;
+               skb->transport_header += (hdr->hdrlen + 1) << 3;
                opt->dst0 = opt->dst1;
                opt->dst1 = 0;
                opt->nhoff = (&hdr->nexthdr) - skb_network_header(skb);
@@ -752,7 +752,7 @@ int ipv6_parse_hopopts(struct sk_buff **skbp)
        opt->hop = sizeof(struct ipv6hdr);
        if (ip6_parse_tlv(tlvprochopopt_lst, skbp)) {
                skb = *skbp;
-               skb->h.raw += (skb_transport_header(skb)[1] + 1) << 3;
+               skb->transport_header += (skb_transport_header(skb)[1] + 1) << 3;
                opt = IP6CB(skb);
                opt->nhoff = sizeof(struct ipv6hdr);
                return 1;
index cf0c4406b59ea3163ae0d116f0fed3571ba1d112..be0ee8a34f9bd379a3e23d53099299e8ff6beea5 100644 (file)
@@ -101,7 +101,7 @@ int ipv6_rcv(struct sk_buff *skb, struct net_device *dev, struct packet_type *pt
        if (hdr->version != 6)
                goto err;
 
-       skb->h.raw = skb->nh.raw + sizeof(*hdr);
+       skb->transport_header = skb->network_header + sizeof(*hdr);
        IP6CB(skb)->nhoff = offsetof(struct ipv6hdr, nexthdr);
 
        pkt_len = ntohs(hdr->payload_len);
index 57a326080757dd4af4bcba3bdf1d8c5551d58353..b2c092c6b9dcf59e508384f5c2bdc18614f5f622 100644 (file)
@@ -733,7 +733,8 @@ slow_path:
                skb_put(frag, len + hlen + sizeof(struct frag_hdr));
                skb_reset_network_header(frag);
                fh = (struct frag_hdr *)(skb_network_header(frag) + hlen);
-               frag->h.raw = frag->nh.raw + hlen + sizeof(struct frag_hdr);
+               frag->transport_header = (frag->network_header + hlen +
+                                         sizeof(struct frag_hdr));
 
                /*
                 *      Charge the memory for the fragment to any owner
@@ -761,7 +762,7 @@ slow_path:
                /*
                 *      Copy a block of the IP datagram.
                 */
-               if (skb_copy_bits(skb, ptr, frag->h.raw, len))
+               if (skb_copy_bits(skb, ptr, skb_transport_header(skb), len))
                        BUG();
                left -= len;
 
@@ -976,7 +977,7 @@ static inline int ip6_ufo_append_data(struct sock *sk,
                skb_reset_network_header(skb);
 
                /* initialize protocol header pointer */
-               skb->h.raw = skb->nh.raw + fragheaderlen;
+               skb->transport_header = skb->network_header + fragheaderlen;
 
                skb->ip_summed = CHECKSUM_PARTIAL;
                skb->csum = 0;
@@ -1198,8 +1199,8 @@ alloc_new_skb:
                        data = skb_put(skb, fraglen);
                        skb_set_network_header(skb, exthdrlen);
                        data += fragheaderlen;
-                       skb->h.raw = skb->nh.raw + fragheaderlen;
-
+                       skb->transport_header = (skb->network_header +
+                                                fragheaderlen);
                        if (fraggap) {
                                skb->csum = skb_copy_and_csum_bits(
                                        skb_prev, maxfraglen,
index 05b59a77bc6922fe7df96a99ea92b6fb9ce573ff..a0902fbdb4e1ebfa71ee3f4f4d349b0735e923e2 100644 (file)
@@ -701,7 +701,7 @@ static int ip6_tnl_rcv(struct sk_buff *skb, __u16 protocol,
                        goto discard;
                }
                secpath_reset(skb);
-               skb->mac.raw = skb->nh.raw;
+               skb->mac_header = skb->network_header;
                skb_reset_network_header(skb);
                skb->protocol = htons(protocol);
                skb->pkt_type = PACKET_HOST;
@@ -898,7 +898,7 @@ static int ip6_tnl_xmit2(struct sk_buff *skb,
        dst_release(skb->dst);
        skb->dst = dst_clone(dst);
 
-       skb->h.raw = skb->nh.raw;
+       skb->transport_header = skb->network_header;
 
        proto = fl->proto;
        if (encap_limit >= 0) {
index 5555c98dea03b3484fe228d817cf4ea735bf2052..7691a1b5caac9edbc3aef4e730fec44b0ed8608d 100644 (file)
@@ -81,7 +81,7 @@ static int ipcomp6_input(struct xfrm_state *x, struct sk_buff *skb)
        /* Remove ipcomp header and decompress original payload */
        iph = ipv6_hdr(skb);
        ipch = (void *)skb->data;
-       skb->h.raw = skb->nh.raw + sizeof(*ipch);
+       skb->transport_header = skb->network_header + sizeof(*ipch);
        __skb_pull(skb, sizeof(*ipch));
 
        /* decompression */
index 54d176187f3f44a3c5e97f36f93605656c860394..b465e24e90b35def7bd8e06910b139b5a2ae9c49 100644 (file)
@@ -396,7 +396,7 @@ ip6t_log_packet(unsigned int pf,
                /* MAC logging for input chain only. */
                printk("MAC=");
                if (skb->dev && (len = skb->dev->hard_header_len) &&
-                   skb->mac.raw != skb->nh.raw) {
+                   skb->mac_header != skb->network_header) {
                        const unsigned char *p = skb_mac_header(skb);
                        int i;
 
index 490e7e151f2d450eef8b993955946e4ec9a12e0a..b7889ceef5560a245c51fb707b1d2e7f7af1f8a2 100644 (file)
@@ -630,8 +630,8 @@ nf_ct_frag6_reasm(struct nf_ct_frag6_queue *fq, struct net_device *dev)
        skb_network_header(head)[fq->nhoffset] = skb_transport_header(head)[0];
        memmove(head->head + sizeof(struct frag_hdr), head->head,
                (head->data - head->head) - sizeof(struct frag_hdr));
-       head->mac.raw += sizeof(struct frag_hdr);
-       head->nh.raw += sizeof(struct frag_hdr);
+       head->mac_header += sizeof(struct frag_hdr);
+       head->network_header += sizeof(struct frag_hdr);
 
        skb_shinfo(head)->frag_list = head->next;
        skb_reset_transport_header(head);
index f925ca7c1a507809f1907602d06718bc544c6557..8705f6a502d9e8ddb37500cad390d2b31dc3510a 100644 (file)
@@ -583,7 +583,7 @@ static int rawv6_send_hdrinc(struct sock *sk, void *from, int length,
 
        skb->ip_summed = CHECKSUM_NONE;
 
-       skb->h.raw = skb->nh.raw;
+       skb->transport_header = skb->network_header;
        err = memcpy_fromiovecend((void *)iph, from, 0, length);
        if (err)
                goto error_fault;
index 6dfacfa7a599925b61df3392206ea172116ae0d6..de795c04e34c1862723eb8100a8f376a5b375ebb 100644 (file)
@@ -646,11 +646,11 @@ static int ip6_frag_reasm(struct frag_queue *fq, struct sk_buff **skb_in,
        /* We have to remove fragment header from datagram and to relocate
         * header in order to calculate ICV correctly. */
        nhoff = fq->nhoffset;
-       skb_network_header(head)[nhoff] = head->h.raw[0];
+       skb_network_header(head)[nhoff] = skb_transport_header(head)[0];
        memmove(head->head + sizeof(struct frag_hdr), head->head,
                (head->data - head->head) - sizeof(struct frag_hdr));
-       head->mac.raw += sizeof(struct frag_hdr);
-       head->nh.raw += sizeof(struct frag_hdr);
+       head->mac_header += sizeof(struct frag_hdr);
+       head->network_header += sizeof(struct frag_hdr);
 
        skb_shinfo(head)->frag_list = head->next;
        skb_reset_transport_header(head);
@@ -732,7 +732,7 @@ static int ipv6_frag_rcv(struct sk_buff **skbp)
 
        if (!(fhdr->frag_off & htons(0xFFF9))) {
                /* It is not a fragmented frame */
-               skb->h.raw += sizeof(struct frag_hdr);
+               skb->transport_header += sizeof(struct frag_hdr);
                IP6_INC_STATS_BH(ip6_dst_idev(skb->dst), IPSTATS_MIB_REASMOKS);
 
                IP6CB(skb)->nhoff = (u8 *)fhdr - skb_network_header(skb);
index 1e8827b90aa7014a1f70b0ad5e37d190ac3d2f0a..27fe10ffacb003ccfb6967bbea330951dc6afb94 100644 (file)
@@ -382,7 +382,7 @@ static int ipip6_rcv(struct sk_buff *skb)
        read_lock(&ipip6_lock);
        if ((tunnel = ipip6_tunnel_lookup(iph->saddr, iph->daddr)) != NULL) {
                secpath_reset(skb);
-               skb->mac.raw = skb->nh.raw;
+               skb->mac_header = skb->network_header;
                skb_reset_network_header(skb);
                IPCB(skb)->flags = 0;
                skb->protocol = htons(ETH_P_IPV6);
@@ -553,7 +553,7 @@ static int ipip6_tunnel_xmit(struct sk_buff *skb, struct net_device *dev)
                iph6 = ipv6_hdr(skb);
        }
 
-       skb->h.raw = skb->nh.raw;
+       skb->transport_header = skb->network_header;
        skb_push(skb, sizeof(struct iphdr));
        skb_reset_network_header(skb);
        memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt));
index 8a01b0da2ddd80fe8ed801f69ff0b86976abdd18..2e61d6ddece303665ce8209f845c9f25195ce322 100644 (file)
@@ -48,8 +48,8 @@ static int xfrm6_beet_output(struct xfrm_state *x, struct sk_buff *skb)
 
        skb_reset_network_header(skb);
        top_iph = ipv6_hdr(skb);
-       skb->h.raw = skb->nh.raw + sizeof(struct ipv6hdr);
-       skb->nh.raw += offsetof(struct ipv6hdr, nexthdr);
+       skb->transport_header = skb->network_header + sizeof(struct ipv6hdr);
+       skb->network_header += offsetof(struct ipv6hdr, nexthdr);
 
        ipv6_addr_copy(&top_iph->saddr, (struct in6_addr *)&x->props.saddr);
        ipv6_addr_copy(&top_iph->daddr, (struct in6_addr *)&x->id.daddr);
index eb1864b5aae717368820883db0023fc8ea0a48cb..c026bfea820a55366225934187ad56cd0f2d83a5 100644 (file)
@@ -54,10 +54,10 @@ static int xfrm6_transport_input(struct xfrm_state *x, struct sk_buff *skb)
 {
        int ihl = skb->data - skb_transport_header(skb);
 
-       if (skb->h.raw != skb->nh.raw) {
+       if (skb->transport_header != skb->network_header) {
                memmove(skb_transport_header(skb),
                        skb_network_header(skb), ihl);
-               skb->nh.raw = skb->h.raw;
+               skb->network_header = skb->transport_header;
        }
        ipv6_hdr(skb)->payload_len = htons(skb->len + ihl -
                                           sizeof(struct ipv6hdr));
index 21d65df7479e67f3a0e8f8086c5bc9e66da17611..a6c0cdf46ad6a3458f9b905cf284529c1371db97 100644 (file)
@@ -55,8 +55,8 @@ static int xfrm6_tunnel_output(struct xfrm_state *x, struct sk_buff *skb)
 
        skb_reset_network_header(skb);
        top_iph = ipv6_hdr(skb);
-       skb->h.raw = skb->nh.raw + sizeof(struct ipv6hdr);
-       skb->nh.raw += offsetof(struct ipv6hdr, nexthdr);
+       skb->transport_header = skb->network_header + sizeof(struct ipv6hdr);
+       skb->network_header   += offsetof(struct ipv6hdr, nexthdr);
 
        top_iph->version = 6;
        if (xdst->route->ops->family == AF_INET6) {
index b3f65d1e80b12584e46c49e55f9c5dddcd47e01a..099ed8fec1454b3f38822f0e3d8e0870108e52d7 100644 (file)
@@ -112,7 +112,7 @@ static inline int llc_fixup_skb(struct sk_buff *skb)
        if (unlikely(!pskb_may_pull(skb, llc_len)))
                return 0;
 
-       skb->h.raw += llc_len;
+       skb->transport_header += llc_len;
        skb_pull(skb, llc_len);
        if (skb->protocol == htons(ETH_P_802_2)) {
                __be16 pdulen = eth_hdr(skb)->h_proto;
index a059cc7be672f9b110ce62a29cd44d41d96c1189..51c059b09a37754718144b652ed28923702cefcb 100644 (file)
@@ -114,22 +114,22 @@ On receive:
 -----------
 
 Incoming, dev->hard_header!=NULL
-   mac.raw -> ll header
-   data    -> data
+   mac_header -> ll header
+   data       -> data
 
 Outgoing, dev->hard_header!=NULL
-   mac.raw -> ll header
-   data    -> ll header
+   mac_header -> ll header
+   data       -> ll header
 
 Incoming, dev->hard_header==NULL
-   mac.raw -> UNKNOWN position. It is very likely, that it points to ll header.
-             PPP makes it, that is wrong, because introduce assymetry
-             between rx and tx paths.
-   data    -> data
+   mac_header -> UNKNOWN position. It is very likely, that it points to ll
+                header.  PPP makes it, that is wrong, because introduce
+                 assymetry between rx and tx paths.
+   data       -> data
 
 Outgoing, dev->hard_header==NULL
-   mac.raw -> data. ll header is still not built!
-   data    -> data
+   mac_header -> data. ll header is still not built!
+   data       -> data
 
 Resume
   If dev->hard_header==NULL we are unlikely to restore sensible ll header.
@@ -139,12 +139,12 @@ On transmit:
 ------------
 
 dev->hard_header != NULL
-   mac.raw -> ll header
-   data    -> ll header
+   mac_header -> ll header
+   data       -> ll header
 
 dev->hard_header == NULL (ll header is added by device, we cannot control it)
-   mac.raw -> data
-   data -> data
+   mac_header -> data
+   data       -> data
 
    We should set nh.raw on output to correct posistion,
    packet classifier depends on it.
index f38e91b38719837108fe5c10319d1b8314b26d52..87feee166da92d37a19fccd4365bbacca4362bc4 100644 (file)
@@ -522,14 +522,14 @@ void sctp_v4_err(struct sk_buff *skb, __u32 info)
        }
 
        /* Fix up skb to look at the embedded net header. */
-       saveip = skb->nh.raw;
-       savesctp  = skb->h.raw;
+       saveip = skb->network_header;
+       savesctp = skb->transport_header;
        skb_reset_network_header(skb);
        skb_set_transport_header(skb, ihlen);
        sk = sctp_err_lookup(AF_INET, skb, sctp_hdr(skb), &asoc, &transport);
        /* Put back, the original pointers. */
-       skb->nh.raw = saveip;
-       skb->h.raw = savesctp;
+       skb->network_header = saveip;
+       skb->transport_header = savesctp;
        if (!sk) {
                ICMP_INC_STATS_BH(ICMP_MIB_INERRORS);
                return;
index cd0af92387820acd821ed13d6cee0fc859b913d0..afcb0093c2901e0644f91a77ce0adb0f44956d61 100644 (file)
@@ -132,14 +132,14 @@ SCTP_STATIC void sctp_v6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
        idev = in6_dev_get(skb->dev);
 
        /* Fix up skb to look at the embedded net header. */
-       saveip = skb->nh.raw;
-       savesctp  = skb->h.raw;
+       saveip   = skb->network_header;
+       savesctp = skb->transport_header;
        skb_reset_network_header(skb);
        skb_set_transport_header(skb, offset);
        sk = sctp_err_lookup(AF_INET6, skb, sctp_hdr(skb), &asoc, &transport);
        /* Put back, the original pointers. */
-       skb->nh.raw = saveip;
-       skb->h.raw = savesctp;
+       skb->network_header   = saveip;
+       skb->transport_header = savesctp;
        if (!sk) {
                ICMP6_INC_STATS_BH(idev, ICMP6_MIB_INERRORS);
                goto out;