summaryrefslogtreecommitdiffstats
path: root/net/ipv6/udp.c
diff options
context:
space:
mode:
authorYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>2005-11-20 12:23:18 +0900
committerYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>2005-11-20 12:23:18 +0900
commitdf9890c31a1a447254f39e40c3fd81ad6547945b (patch)
treebf432d75796112d86d102fe721bdce93e6ad6901 /net/ipv6/udp.c
parenta305989386e402f48b216786a5c8cf440b33bdad (diff)
downloadkernel-crypto-df9890c31a1a447254f39e40c3fd81ad6547945b.tar.gz
kernel-crypto-df9890c31a1a447254f39e40c3fd81ad6547945b.tar.xz
kernel-crypto-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/udp.c')
-rw-r--r--net/ipv6/udp.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c
index bf9519341fd..e2b87cc68b7 100644
--- a/net/ipv6/udp.c
+++ b/net/ipv6/udp.c
@@ -778,7 +778,9 @@ do_udp_sendmsg:
}
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 = IPPROTO_UDP;
ipv6_addr_copy(&fl->fl6_dst, daddr);