diff options
author | YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> | 2005-11-20 12:23:18 +0900 |
---|---|---|
committer | YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> | 2005-11-20 12:23:18 +0900 |
commit | df9890c31a1a447254f39e40c3fd81ad6547945b (patch) | |
tree | bf432d75796112d86d102fe721bdce93e6ad6901 /net/ipv6/raw.c | |
parent | a305989386e402f48b216786a5c8cf440b33bdad (diff) | |
download | linux-df9890c31a1a447254f39e40c3fd81ad6547945b.tar.gz linux-df9890c31a1a447254f39e40c3fd81ad6547945b.tar.bz2 linux-df9890c31a1a447254f39e40c3fd81ad6547945b.zip |
[IPV6]: Fix sending extension headers before and including routing header.
Based on suggestion from Masahide Nakamura <nakam@linux-ipv6.org>.
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Diffstat (limited to 'net/ipv6/raw.c')
-rw-r--r-- | net/ipv6/raw.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c index a1265a320b11..d77d3352c967 100644 --- a/net/ipv6/raw.c +++ b/net/ipv6/raw.c @@ -756,7 +756,9 @@ static int rawv6_sendmsg(struct kiocb *iocb, struct sock *sk, } if (opt == NULL) opt = np->opt; - opt = fl6_merge_options(&opt_space, flowlabel, opt); + if (flowlabel) + opt = fl6_merge_options(&opt_space, flowlabel, opt); + opt = ipv6_fixup_options(&opt_space, opt); fl.proto = proto; rawv6_probe_proto_opt(&fl, msg); |