diff options
author | Michael Chan <mchan@broadcom.com> | 2006-07-03 22:41:11 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2006-07-03 22:41:11 -0400 |
commit | 6703931c546e6dec0431776fa616d5accd3e7162 (patch) | |
tree | 69b5b001f9d8f6e639878215dc81dc77186eb398 /net/ipv6/ipv6_sockglue.c | |
parent | 863fae666acb87b150f4634e6e79476ebe274f43 (diff) |
[IPV6]: Fix ipv6 GSO payload length
Fix ipv6 GSO payload length calculation.
The ipv6 payload length excludes the ipv6 base header length and so
must be subtracted.
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/ipv6_sockglue.c')
-rw-r--r-- | net/ipv6/ipv6_sockglue.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv6/ipv6_sockglue.c b/net/ipv6/ipv6_sockglue.c index ec59344478d2..0c17dec11c8d 100644 --- a/net/ipv6/ipv6_sockglue.c +++ b/net/ipv6/ipv6_sockglue.c | |||
@@ -119,7 +119,8 @@ unlock: | |||
119 | 119 | ||
120 | for (skb = segs; skb; skb = skb->next) { | 120 | for (skb = segs; skb; skb = skb->next) { |
121 | ipv6h = skb->nh.ipv6h; | 121 | ipv6h = skb->nh.ipv6h; |
122 | ipv6h->payload_len = htons(skb->len - skb->mac_len); | 122 | ipv6h->payload_len = htons(skb->len - skb->mac_len - |
123 | sizeof(*ipv6h)); | ||
123 | } | 124 | } |
124 | 125 | ||
125 | out: | 126 | out: |