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:
parent
9f71a4c2d8
commit
29bc2c4833
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=121811
@ -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) */
|
||||
|
Loading…
Reference in New Issue
Block a user