aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/ip6_output.c
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2007-11-14 00:32:26 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 17:53:35 -0500
commit0148894223740da4818d7f4e6f92cbb5481a25b8 (patch)
treebe37af4b8c3c81b45c7fff28ff7b6f09c78e2ef0 /net/ipv6/ip6_output.c
parentb24b8a247ff65c01b252025926fe564209fae4fc (diff)
[IPV6]: Only set nfheader_len for top xfrm dst
We only need to set nfheader_len in the top xfrm dst. This is because we only ever read the nfheader_len from the top xfrm dst. It is also easier to count nfheader_len as part of header_len which then lets us remove the ugly wrapper functions for incrementing and decrementing header lengths in xfrm6_policy.c. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/ip6_output.c')
-rw-r--r--net/ipv6/ip6_output.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c
index 3bef30e4a23d..150615758fdc 100644
--- a/net/ipv6/ip6_output.c
+++ b/net/ipv6/ip6_output.c
@@ -1098,7 +1098,8 @@ int ip6_append_data(struct sock *sk, int getfrag(void *from, char *to,
1098 inet->cork.length = 0; 1098 inet->cork.length = 0;
1099 sk->sk_sndmsg_page = NULL; 1099 sk->sk_sndmsg_page = NULL;
1100 sk->sk_sndmsg_off = 0; 1100 sk->sk_sndmsg_off = 0;
1101 exthdrlen = rt->u.dst.header_len + (opt ? opt->opt_flen : 0); 1101 exthdrlen = rt->u.dst.header_len + (opt ? opt->opt_flen : 0) -
1102 rt->u.dst.nfheader_len;
1102 length += exthdrlen; 1103 length += exthdrlen;
1103 transhdrlen += exthdrlen; 1104 transhdrlen += exthdrlen;
1104 } else { 1105 } else {