mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
[NET] gso: Fix up GSO packets with broken checksums
Certain subsystems in the stack (e.g., netfilter) can break the partial checksum on GSO packets. Until they're fixed, this patch allows this to work by recomputing the partial checksums through the GSO mechanism. Once they've all been converted to update the partial checksum instead of clearing it, this workaround can be removed. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
89114afd43
commit
a430a43d08
8 changed files with 179 additions and 40 deletions
|
@ -36,6 +36,7 @@
|
|||
struct net_protocol {
|
||||
int (*handler)(struct sk_buff *skb);
|
||||
void (*err_handler)(struct sk_buff *skb, u32 info);
|
||||
int (*gso_send_check)(struct sk_buff *skb);
|
||||
struct sk_buff *(*gso_segment)(struct sk_buff *skb,
|
||||
int features);
|
||||
int no_policy;
|
||||
|
@ -51,6 +52,7 @@ struct inet6_protocol
|
|||
int type, int code, int offset,
|
||||
__u32 info);
|
||||
|
||||
int (*gso_send_check)(struct sk_buff *skb);
|
||||
struct sk_buff *(*gso_segment)(struct sk_buff *skb,
|
||||
int features);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue