diff options
Diffstat (limited to 'net/ipv6/ip6_output.c')
-rw-r--r-- | net/ipv6/ip6_output.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c index 150615758fdc..387030d2483c 100644 --- a/net/ipv6/ip6_output.c +++ b/net/ipv6/ip6_output.c | |||
@@ -1099,7 +1099,7 @@ int ip6_append_data(struct sock *sk, int getfrag(void *from, char *to, | |||
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 | rt->nfheader_len; |
1103 | length += exthdrlen; | 1103 | length += exthdrlen; |
1104 | transhdrlen += exthdrlen; | 1104 | transhdrlen += exthdrlen; |
1105 | } else { | 1105 | } else { |
@@ -1114,7 +1114,8 @@ int ip6_append_data(struct sock *sk, int getfrag(void *from, char *to, | |||
1114 | 1114 | ||
1115 | hh_len = LL_RESERVED_SPACE(rt->u.dst.dev); | 1115 | hh_len = LL_RESERVED_SPACE(rt->u.dst.dev); |
1116 | 1116 | ||
1117 | fragheaderlen = sizeof(struct ipv6hdr) + rt->u.dst.nfheader_len + (opt ? opt->opt_nflen : 0); | 1117 | fragheaderlen = sizeof(struct ipv6hdr) + rt->nfheader_len + |
1118 | (opt ? opt->opt_nflen : 0); | ||
1118 | maxfraglen = ((mtu - fragheaderlen) & ~7) + fragheaderlen - sizeof(struct frag_hdr); | 1119 | maxfraglen = ((mtu - fragheaderlen) & ~7) + fragheaderlen - sizeof(struct frag_hdr); |
1119 | 1120 | ||
1120 | if (mtu <= sizeof(struct ipv6hdr) + IPV6_MAXPLEN) { | 1121 | if (mtu <= sizeof(struct ipv6hdr) + IPV6_MAXPLEN) { |