diff options
Diffstat (limited to 'include/linux/netdevice.h')
| -rw-r--r-- | include/linux/netdevice.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 16251e96e6aa..1347ac50d2af 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
| @@ -2318,6 +2318,21 @@ do { \ | |||
| 2318 | compute_pseudo(skb, proto)); \ | 2318 | compute_pseudo(skb, proto)); \ |
| 2319 | } while (0) | 2319 | } while (0) |
| 2320 | 2320 | ||
| 2321 | static inline void skb_gro_remcsum_process(struct sk_buff *skb, void *ptr, | ||
| 2322 | int start, int offset) | ||
| 2323 | { | ||
| 2324 | __wsum delta; | ||
| 2325 | |||
| 2326 | BUG_ON(!NAPI_GRO_CB(skb)->csum_valid); | ||
| 2327 | |||
| 2328 | delta = remcsum_adjust(ptr, NAPI_GRO_CB(skb)->csum, start, offset); | ||
| 2329 | |||
| 2330 | /* Adjust skb->csum since we changed the packet */ | ||
| 2331 | skb->csum = csum_add(skb->csum, delta); | ||
| 2332 | NAPI_GRO_CB(skb)->csum = csum_add(NAPI_GRO_CB(skb)->csum, delta); | ||
| 2333 | } | ||
| 2334 | |||
| 2335 | |||
| 2321 | static inline int dev_hard_header(struct sk_buff *skb, struct net_device *dev, | 2336 | static inline int dev_hard_header(struct sk_buff *skb, struct net_device *dev, |
| 2322 | unsigned short type, | 2337 | unsigned short type, |
| 2323 | const void *daddr, const void *saddr, | 2338 | const void *daddr, const void *saddr, |
