diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2006-03-21 01:43:56 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2006-03-21 01:43:56 -0500 |
commit | cbb042f9e1292434e3cacb90e67d8d381aeac5a9 (patch) | |
tree | cc42f42232e56b68111cfebdc175197d8607bdd7 /net/8021q/vlan_dev.c | |
parent | ecba320f2e95c9a0c35011d1ecb1db4419980536 (diff) |
[NET]: Replace skb_pull/skb_postpull_rcsum with skb_pull_rcsum
We're now starting to have quite a number of places that do skb_pull
followed immediately by an skb_postpull_rcsum. We can merge these two
operations into one function with skb_pull_rcsum. This makes sense
since most pull operations on receive skb's need to update the
checksum.
I've decided to make this out-of-line since it is fairly big and the
fast path where hardware checksums are enabled need to call
csum_partial anyway.
Since this is a brand new function we get to add an extra check on the
len argument. As it is most callers of skb_pull ignore its return
value which essentially means that there is no check on the len
argument.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/8021q/vlan_dev.c')
-rw-r--r-- | net/8021q/vlan_dev.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/net/8021q/vlan_dev.c b/net/8021q/vlan_dev.c index 0f604d227da2..da9cfe927158 100644 --- a/net/8021q/vlan_dev.c +++ b/net/8021q/vlan_dev.c | |||
@@ -163,10 +163,8 @@ int vlan_skb_recv(struct sk_buff *skb, struct net_device *dev, | |||
163 | stats->rx_packets++; | 163 | stats->rx_packets++; |
164 | stats->rx_bytes += skb->len; | 164 | stats->rx_bytes += skb->len; |
165 | 165 | ||
166 | skb_pull(skb, VLAN_HLEN); /* take off the VLAN header (4 bytes currently) */ | 166 | /* Take off the VLAN header (4 bytes currently) */ |
167 | 167 | skb_pull_rcsum(skb, VLAN_HLEN); | |
168 | /* Need to correct hardware checksum */ | ||
169 | skb_postpull_rcsum(skb, vhdr, VLAN_HLEN); | ||
170 | 168 | ||
171 | /* Ok, lets check to make sure the device (dev) we | 169 | /* Ok, lets check to make sure the device (dev) we |
172 | * came in on is what this VLAN is attached to. | 170 | * came in on is what this VLAN is attached to. |