diff options
author | Eli Cohen <eli@mellanox.co.il> | 2008-06-27 20:09:00 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-06-27 20:09:00 -0700 |
commit | 251a4b320f2352598f84e4452ab538aa8064af52 (patch) | |
tree | 8993e1aafe4917c85a12f3ac0e8bb10b37a787e1 /include/linux/inet_lro.h | |
parent | 9a375803feaadb6c34e0807bd9325885dcca5c00 (diff) | |
download | linux-stable-251a4b320f2352598f84e4452ab538aa8064af52.tar.gz linux-stable-251a4b320f2352598f84e4452ab538aa8064af52.tar.bz2 linux-stable-251a4b320f2352598f84e4452ab538aa8064af52.zip |
net/inet_lro: remove setting skb->ip_summed when not LRO-able
When an SKB cannot be chained to a session, the current code attempts
to "restore" its ip_summed field from lro_mgr->ip_summed. However,
lro_mgr->ip_summed does not hold the original value; in fact, we'd
better not touch skb->ip_summed since it is not modified by the code
in the path leading to a failure to chain it. Also use a cleaer
comment to the describe the ip_summed field of struct net_lro_mgr.
Issue raised by Or Gerlitz <ogerlitz@voltaire.com>
Signed-off-by: Eli Cohen <eli@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/inet_lro.h')
-rw-r--r-- | include/linux/inet_lro.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/include/linux/inet_lro.h b/include/linux/inet_lro.h index 80335b7d77c5..c4335faebb63 100644 --- a/include/linux/inet_lro.h +++ b/include/linux/inet_lro.h @@ -84,7 +84,11 @@ struct net_lro_mgr { from received packets and eth protocol is still ETH_P_8021Q */ - u32 ip_summed; /* Set in non generated SKBs in page mode */ + /* + * Set for generated SKBs that are not added to + * the frag list in fragmented mode + */ + u32 ip_summed; u32 ip_summed_aggr; /* Set in aggregated SKBs: CHECKSUM_UNNECESSARY * or CHECKSUM_NONE */ |