aboutsummaryrefslogtreecommitdiffstats
path: root/net/core
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2007-03-19 18:30:44 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2007-04-26 01:24:32 -0400
commit459a98ed881802dee55897441bc7f77af614368e (patch)
treeb81f76632d8f2e21eb91ec3d885091a98398d93e /net/core
parent4c13eb6657fe9ef7b4dc8f1a405c902e9e5234e0 (diff)
[SK_BUFF]: Introduce skb_reset_mac_header(skb)
For the common, open coded 'skb->mac.raw = skb->data' operation, so that we can later turn skb->mac.raw into a offset, reducing the size of struct sk_buff in 64bit land while possibly keeping it as a pointer on 32bit. This one touches just the most simple case, next will handle the slightly more "complex" cases. Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core')
-rw-r--r--net/core/dev.c4
-rw-r--r--net/core/netpoll.c2
-rw-r--r--net/core/skbuff.c2
3 files changed, 4 insertions, 4 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index 424d6d0e98f8..2fcaf5bc4a9c 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -1066,7 +1066,7 @@ static void dev_queue_xmit_nit(struct sk_buff *skb, struct net_device *dev)
1066 set by sender, so that the second statement is 1066 set by sender, so that the second statement is
1067 just protection against buggy protocols. 1067 just protection against buggy protocols.
1068 */ 1068 */
1069 skb2->mac.raw = skb2->data; 1069 skb_reset_mac_header(skb2);
1070 1070
1071 if (skb2->nh.raw < skb2->data || 1071 if (skb2->nh.raw < skb2->data ||
1072 skb2->nh.raw > skb2->tail) { 1072 skb2->nh.raw > skb2->tail) {
@@ -1206,7 +1206,7 @@ struct sk_buff *skb_gso_segment(struct sk_buff *skb, int features)
1206 1206
1207 BUG_ON(skb_shinfo(skb)->frag_list); 1207 BUG_ON(skb_shinfo(skb)->frag_list);
1208 1208
1209 skb->mac.raw = skb->data; 1209 skb_reset_mac_header(skb);
1210 skb->mac_len = skb->nh.raw - skb->data; 1210 skb->mac_len = skb->nh.raw - skb->data;
1211 __skb_pull(skb, skb->mac_len); 1211 __skb_pull(skb, skb->mac_len);
1212 1212
diff --git a/net/core/netpoll.c b/net/core/netpoll.c
index 32a9f80b5f19..0ad3896bbf62 100644
--- a/net/core/netpoll.c
+++ b/net/core/netpoll.c
@@ -324,7 +324,7 @@ void netpoll_send_udp(struct netpoll *np, const char *msg, int len)
324 iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl); 324 iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl);
325 325
326 eth = (struct ethhdr *) skb_push(skb, ETH_HLEN); 326 eth = (struct ethhdr *) skb_push(skb, ETH_HLEN);
327 skb->mac.raw = skb->data; 327 skb_reset_mac_header(skb);
328 skb->protocol = eth->h_proto = htons(ETH_P_IP); 328 skb->protocol = eth->h_proto = htons(ETH_P_IP);
329 memcpy(eth->h_source, np->local_mac, 6); 329 memcpy(eth->h_source, np->local_mac, 6);
330 memcpy(eth->h_dest, np->remote_mac, 6); 330 memcpy(eth->h_dest, np->remote_mac, 6);
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index 336958fbbcb2..8f6ebd0d3693 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -1928,7 +1928,7 @@ struct sk_buff *skb_segment(struct sk_buff *skb, int features)
1928 nskb->mac_len = skb->mac_len; 1928 nskb->mac_len = skb->mac_len;
1929 1929
1930 skb_reserve(nskb, headroom); 1930 skb_reserve(nskb, headroom);
1931 nskb->mac.raw = nskb->data; 1931 skb_reset_mac_header(nskb);
1932 nskb->nh.raw = nskb->data + skb->mac_len; 1932 nskb->nh.raw = nskb->data + skb->mac_len;
1933 nskb->h.raw = nskb->nh.raw + (skb->h.raw - skb->nh.raw); 1933 nskb->h.raw = nskb->nh.raw + (skb->h.raw - skb->nh.raw);
1934 memcpy(skb_put(nskb, doffset), skb->data, doffset); 1934 memcpy(skb_put(nskb, doffset), skb->data, doffset);