aboutsummaryrefslogtreecommitdiffstats
path: root/net/ax25
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2007-04-10 23:45:18 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2007-04-26 01:24:46 -0400
commitc1d2bbe1cd6c7bbdc6d532cefebb66c7efb789ce (patch)
tree03a715961ba576a11cbc0e91c5d465e4c4d95d82 /net/ax25
parent57effc70a5be9f7804e9a99964eb7265367effca (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.c2
-rw-r--r--net/ax25/ax25_ds_subr.c2
-rw-r--r--net/ax25/ax25_in.c8
-rw-r--r--net/ax25/ax25_ip.c2
-rw-r--r--net/ax25/ax25_out.c2
-rw-r--r--net/ax25/ax25_subr.c4
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