diff options
| author | Thomas Gleixner <tglx@linutronix.de> | 2015-10-01 16:14:24 +0200 |
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2015-10-01 16:14:24 +0200 |
| commit | bebcb8dab6bac53b6a61a896db03781d1992cadb (patch) | |
| tree | 4793b0c2e913db8cf573ee52d568471603273af6 /include/linux/skbuff.h | |
| parent | 26c21dd9885a2d8a4f4d539917c4877ffd399286 (diff) | |
| parent | f1e0bb0ad473a32d1b7e6d285ae9f7e47710bb5e (diff) | |
Merge branch 'irq/for-arm' into irq/core
Bring in the change which we offered arm[64] folks to pull into their
trees.
Diffstat (limited to 'include/linux/skbuff.h')
| -rw-r--r-- | include/linux/skbuff.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 2738d355cdf9..2b0a30a6e31c 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h @@ -179,6 +179,9 @@ struct nf_bridge_info { u8 bridged_dnat:1; __u16 frag_max_size; struct net_device *physindev; + + /* always valid & non-NULL from FORWARD on, for physdev match */ + struct net_device *physoutdev; union { /* prerouting: detect dnat in orig/reply direction */ __be32 ipv4_daddr; @@ -189,9 +192,6 @@ struct nf_bridge_info { * skb is out in neigh layer. */ char neigh_header[8]; - - /* always valid & non-NULL from FORWARD on, for physdev match */ - struct net_device *physoutdev; }; }; #endif @@ -2707,6 +2707,9 @@ static inline void skb_postpull_rcsum(struct sk_buff *skb, { if (skb->ip_summed == CHECKSUM_COMPLETE) skb->csum = csum_sub(skb->csum, csum_partial(start, len, 0)); + else if (skb->ip_summed == CHECKSUM_PARTIAL && + skb_checksum_start_offset(skb) <= len) + skb->ip_summed = CHECKSUM_NONE; } unsigned char *skb_pull_rcsum(struct sk_buff *skb, unsigned int len); |
