diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2007-03-13 12:06:52 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-04-26 01:25:15 -0400 |
commit | badff6d01a8589a1c828b0bf118903ca38627f4e (patch) | |
tree | 89611d7058c612085c58dfb9913ee30ddf04b604 /net/ipv4/af_inet.c | |
parent | 0660e03f6b18f19b6bbafe7583265a51b90daf36 (diff) |
[SK_BUFF]: Introduce skb_reset_transport_header(skb)
For the common, open coded 'skb->h.raw = skb->data' operation, so that we can
later turn skb->h.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 cases:
skb->h.raw = skb->data;
skb->h.raw = {skb_push|[__]skb_pull}()
The next ones 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/ipv4/af_inet.c')
-rw-r--r-- | net/ipv4/af_inet.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c index e7720c72a6e2..f011390f19c9 100644 --- a/net/ipv4/af_inet.c +++ b/net/ipv4/af_inet.c | |||
@@ -1120,7 +1120,8 @@ static int inet_gso_send_check(struct sk_buff *skb) | |||
1120 | if (unlikely(!pskb_may_pull(skb, ihl))) | 1120 | if (unlikely(!pskb_may_pull(skb, ihl))) |
1121 | goto out; | 1121 | goto out; |
1122 | 1122 | ||
1123 | skb->h.raw = __skb_pull(skb, ihl); | 1123 | __skb_pull(skb, ihl); |
1124 | skb_reset_transport_header(skb); | ||
1124 | iph = ip_hdr(skb); | 1125 | iph = ip_hdr(skb); |
1125 | proto = iph->protocol & (MAX_INET_PROTOS - 1); | 1126 | proto = iph->protocol & (MAX_INET_PROTOS - 1); |
1126 | err = -EPROTONOSUPPORT; | 1127 | err = -EPROTONOSUPPORT; |
@@ -1163,7 +1164,8 @@ static struct sk_buff *inet_gso_segment(struct sk_buff *skb, int features) | |||
1163 | if (unlikely(!pskb_may_pull(skb, ihl))) | 1164 | if (unlikely(!pskb_may_pull(skb, ihl))) |
1164 | goto out; | 1165 | goto out; |
1165 | 1166 | ||
1166 | skb->h.raw = __skb_pull(skb, ihl); | 1167 | __skb_pull(skb, ihl); |
1168 | skb_reset_transport_header(skb); | ||
1167 | iph = ip_hdr(skb); | 1169 | iph = ip_hdr(skb); |
1168 | id = ntohs(iph->id); | 1170 | id = ntohs(iph->id); |
1169 | proto = iph->protocol & (MAX_INET_PROTOS - 1); | 1171 | proto = iph->protocol & (MAX_INET_PROTOS - 1); |