diff options
author | Brice Goglin <brice@myri.com> | 2008-12-09 03:14:27 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-12-09 03:14:27 -0500 |
commit | bcb09dc276e706ed6f22813ba774797125f3da0a (patch) | |
tree | 210e6733f1b4ace93a63532dd9e451eac8af9504 /drivers/net/myri10ge | |
parent | 6cf1a0f856bcb5423bfb4121b2dfeaa3ba7b1ff2 (diff) |
myri10ge: check fragmentation in LRO get_frag_header()
Add a fragmentation check to myri10ge's LRO get_frag_header() callback.
Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Andrew Gallatin <gallatin@myri.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/myri10ge')
-rw-r--r-- | drivers/net/myri10ge/myri10ge.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c index 4510be18980..f017c774e1a 100644 --- a/drivers/net/myri10ge/myri10ge.c +++ b/drivers/net/myri10ge/myri10ge.c | |||
@@ -2229,6 +2229,8 @@ myri10ge_get_frag_header(struct skb_frag_struct *frag, void **mac_hdr, | |||
2229 | *ip_hdr = iph; | 2229 | *ip_hdr = iph; |
2230 | if (iph->protocol != IPPROTO_TCP) | 2230 | if (iph->protocol != IPPROTO_TCP) |
2231 | return -1; | 2231 | return -1; |
2232 | if (iph->frag_off & htons(IP_MF | IP_OFFSET)) | ||
2233 | return -1; | ||
2232 | *hdr_flags |= LRO_TCP; | 2234 | *hdr_flags |= LRO_TCP; |
2233 | *tcpudp_hdr = (u8 *) (*ip_hdr) + (iph->ihl << 2); | 2235 | *tcpudp_hdr = (u8 *) (*ip_hdr) + (iph->ihl << 2); |
2234 | 2236 | ||