diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2007-04-10 23:45:18 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-04-26 01:24:46 -0400 |
commit | c1d2bbe1cd6c7bbdc6d532cefebb66c7efb789ce (patch) | |
tree | 03a715961ba576a11cbc0e91c5d465e4c4d95d82 /net/ax25 | |
parent | 57effc70a5be9f7804e9a99964eb7265367effca (diff) |
[SK_BUFF]: Introduce skb_reset_network_header(skb)
For the common, open coded 'skb->nh.raw = skb->data' operation, so that we can
later turn skb->nh.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/ax25')
-rw-r--r-- | net/ax25/af_ax25.c | 2 | ||||
-rw-r--r-- | net/ax25/ax25_ds_subr.c | 2 | ||||
-rw-r--r-- | net/ax25/ax25_in.c | 8 | ||||
-rw-r--r-- | net/ax25/ax25_ip.c | 2 | ||||
-rw-r--r-- | net/ax25/ax25_out.c | 2 | ||||
-rw-r--r-- | net/ax25/ax25_subr.c | 4 |
6 files changed, 10 insertions, 10 deletions
diff --git a/net/ax25/af_ax25.c b/net/ax25/af_ax25.c index c89e4f6f9025..b1a4d60ce9a8 100644 --- a/net/ax25/af_ax25.c +++ b/net/ax25/af_ax25.c | |||
@@ -1548,7 +1548,7 @@ static int ax25_sendmsg(struct kiocb *iocb, struct socket *sock, | |||
1548 | goto out; | 1548 | goto out; |
1549 | } | 1549 | } |
1550 | 1550 | ||
1551 | skb->nh.raw = skb->data; | 1551 | skb_reset_network_header(skb); |
1552 | 1552 | ||
1553 | /* Add the PID if one is not supplied by the user in the skb */ | 1553 | /* Add the PID if one is not supplied by the user in the skb */ |
1554 | if (!ax25->pidincl) { | 1554 | if (!ax25->pidincl) { |
diff --git a/net/ax25/ax25_ds_subr.c b/net/ax25/ax25_ds_subr.c index 9569dd3fa466..a49773ff2b92 100644 --- a/net/ax25/ax25_ds_subr.c +++ b/net/ax25/ax25_ds_subr.c | |||
@@ -136,7 +136,7 @@ static void ax25_kiss_cmd(ax25_dev *ax25_dev, unsigned char cmd, unsigned char p | |||
136 | if ((skb = alloc_skb(2, GFP_ATOMIC)) == NULL) | 136 | if ((skb = alloc_skb(2, GFP_ATOMIC)) == NULL) |
137 | return; | 137 | return; |
138 | 138 | ||
139 | skb->nh.raw = skb->data; | 139 | skb_reset_network_header(skb); |
140 | p = skb_put(skb, 2); | 140 | p = skb_put(skb, 2); |
141 | 141 | ||
142 | *p++ = cmd; | 142 | *p++ = cmd; |
diff --git a/net/ax25/ax25_in.c b/net/ax25/ax25_in.c index 6d11b0633d5a..3b2aac670266 100644 --- a/net/ax25/ax25_in.c +++ b/net/ax25/ax25_in.c | |||
@@ -61,8 +61,8 @@ static int ax25_rx_fragment(ax25_cb *ax25, struct sk_buff *skb) | |||
61 | skb_reserve(skbn, AX25_MAX_HEADER_LEN); | 61 | skb_reserve(skbn, AX25_MAX_HEADER_LEN); |
62 | 62 | ||
63 | skbn->dev = ax25->ax25_dev->dev; | 63 | skbn->dev = ax25->ax25_dev->dev; |
64 | skb_reset_network_header(skbn); | ||
64 | skbn->h.raw = skbn->data; | 65 | skbn->h.raw = skbn->data; |
65 | skbn->nh.raw = skbn->data; | ||
66 | 66 | ||
67 | /* Copy data from the fragments */ | 67 | /* Copy data from the fragments */ |
68 | while ((skbo = skb_dequeue(&ax25->frag_queue)) != NULL) { | 68 | while ((skbo = skb_dequeue(&ax25->frag_queue)) != NULL) { |
@@ -123,7 +123,7 @@ int ax25_rx_iframe(ax25_cb *ax25, struct sk_buff *skb) | |||
123 | 123 | ||
124 | skb_pull(skb, 1); /* Remove PID */ | 124 | skb_pull(skb, 1); /* Remove PID */ |
125 | skb_reset_mac_header(skb); | 125 | skb_reset_mac_header(skb); |
126 | skb->nh.raw = skb->data; | 126 | skb_reset_network_header(skb); |
127 | skb->dev = ax25->ax25_dev->dev; | 127 | skb->dev = ax25->ax25_dev->dev; |
128 | skb->pkt_type = PACKET_HOST; | 128 | skb->pkt_type = PACKET_HOST; |
129 | skb->protocol = htons(ETH_P_IP); | 129 | skb->protocol = htons(ETH_P_IP); |
@@ -247,7 +247,7 @@ static int ax25_rcv(struct sk_buff *skb, struct net_device *dev, | |||
247 | case AX25_P_IP: | 247 | case AX25_P_IP: |
248 | skb_pull(skb,2); /* drop PID/CTRL */ | 248 | skb_pull(skb,2); /* drop PID/CTRL */ |
249 | skb->h.raw = skb->data; | 249 | skb->h.raw = skb->data; |
250 | skb->nh.raw = skb->data; | 250 | skb_reset_network_header(skb); |
251 | skb->dev = dev; | 251 | skb->dev = dev; |
252 | skb->pkt_type = PACKET_HOST; | 252 | skb->pkt_type = PACKET_HOST; |
253 | skb->protocol = htons(ETH_P_IP); | 253 | skb->protocol = htons(ETH_P_IP); |
@@ -257,7 +257,7 @@ static int ax25_rcv(struct sk_buff *skb, struct net_device *dev, | |||
257 | case AX25_P_ARP: | 257 | case AX25_P_ARP: |
258 | skb_pull(skb,2); | 258 | skb_pull(skb,2); |
259 | skb->h.raw = skb->data; | 259 | skb->h.raw = skb->data; |
260 | skb->nh.raw = skb->data; | 260 | skb_reset_network_header(skb); |
261 | skb->dev = dev; | 261 | skb->dev = dev; |
262 | skb->pkt_type = PACKET_HOST; | 262 | skb->pkt_type = PACKET_HOST; |
263 | skb->protocol = htons(ETH_P_ARP); | 263 | skb->protocol = htons(ETH_P_ARP); |
diff --git a/net/ax25/ax25_ip.c b/net/ax25/ax25_ip.c index 7f818bbcd1c5..4d4ef35e1782 100644 --- a/net/ax25/ax25_ip.c +++ b/net/ax25/ax25_ip.c | |||
@@ -171,7 +171,7 @@ int ax25_rebuild_header(struct sk_buff *skb) | |||
171 | src_c = *(ax25_address *)(bp + 8); | 171 | src_c = *(ax25_address *)(bp + 8); |
172 | 172 | ||
173 | skb_pull(ourskb, AX25_HEADER_LEN - 1); /* Keep PID */ | 173 | skb_pull(ourskb, AX25_HEADER_LEN - 1); /* Keep PID */ |
174 | ourskb->nh.raw = ourskb->data; | 174 | skb_reset_network_header(ourskb); |
175 | 175 | ||
176 | ax25=ax25_send_frame( | 176 | ax25=ax25_send_frame( |
177 | ourskb, | 177 | ourskb, |
diff --git a/net/ax25/ax25_out.c b/net/ax25/ax25_out.c index 223835092b7a..6e08dc8dee40 100644 --- a/net/ax25/ax25_out.c +++ b/net/ax25/ax25_out.c | |||
@@ -205,7 +205,7 @@ static void ax25_send_iframe(ax25_cb *ax25, struct sk_buff *skb, int poll_bit) | |||
205 | if (skb == NULL) | 205 | if (skb == NULL) |
206 | return; | 206 | return; |
207 | 207 | ||
208 | skb->nh.raw = skb->data; | 208 | skb_reset_network_header(skb); |
209 | 209 | ||
210 | if (ax25->modulus == AX25_MODULUS) { | 210 | if (ax25->modulus == AX25_MODULUS) { |
211 | frame = skb_push(skb, 1); | 211 | frame = skb_push(skb, 1); |
diff --git a/net/ax25/ax25_subr.c b/net/ax25/ax25_subr.c index b6c577e3c914..5fe9b2a6697d 100644 --- a/net/ax25/ax25_subr.c +++ b/net/ax25/ax25_subr.c | |||
@@ -162,7 +162,7 @@ void ax25_send_control(ax25_cb *ax25, int frametype, int poll_bit, int type) | |||
162 | 162 | ||
163 | skb_reserve(skb, ax25->ax25_dev->dev->hard_header_len); | 163 | skb_reserve(skb, ax25->ax25_dev->dev->hard_header_len); |
164 | 164 | ||
165 | skb->nh.raw = skb->data; | 165 | skb_reset_network_header(skb); |
166 | 166 | ||
167 | /* Assume a response - address structure for DTE */ | 167 | /* Assume a response - address structure for DTE */ |
168 | if (ax25->modulus == AX25_MODULUS) { | 168 | if (ax25->modulus == AX25_MODULUS) { |
@@ -205,7 +205,7 @@ void ax25_return_dm(struct net_device *dev, ax25_address *src, ax25_address *des | |||
205 | return; /* Next SABM will get DM'd */ | 205 | return; /* Next SABM will get DM'd */ |
206 | 206 | ||
207 | skb_reserve(skb, dev->hard_header_len); | 207 | skb_reserve(skb, dev->hard_header_len); |
208 | skb->nh.raw = skb->data; | 208 | skb_reset_network_header(skb); |
209 | 209 | ||
210 | ax25_digi_invert(digi, &retdigi); | 210 | ax25_digi_invert(digi, &retdigi); |
211 | 211 | ||