1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-10-19 02:29:40 +00:00

do not insert a dest option header (even specified by a user) that

should be placed before a routing header, unless a routing header
really exists.

Obtained from:	KAME
This commit is contained in:
Hajimu UMEMOTO 2003-10-31 16:32:12 +00:00
parent 9f71a4c2d8
commit 29bc2c4833
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=121811

View File

@ -214,7 +214,19 @@ ip6_output(m0, opt, ro, flags, im6o, ifpp, inp)
/* Hop-by-Hop options header */
MAKE_EXTHDR(opt->ip6po_hbh, &exthdrs.ip6e_hbh);
/* Destination options header(1st part) */
MAKE_EXTHDR(opt->ip6po_dest1, &exthdrs.ip6e_dest1);
if (opt->ip6po_rthdr) {
/*
* Destination options header(1st part)
* This only makes sence with a routing header.
* See Section 9.2 of RFC 3542.
* Disabling this part just for MIP6 convenience is
* a bad idea. We need to think carefully about a
* way to make the advanced API coexist with MIP6
* options, which might automatically be inserted in
* the kernel.
*/
MAKE_EXTHDR(opt->ip6po_dest1, &exthdrs.ip6e_dest1);
}
/* Routing header */
MAKE_EXTHDR(opt->ip6po_rthdr, &exthdrs.ip6e_rthdr);
/* Destination options header(2nd part) */