Treat ND option 31 as userland (DNSSL support)

As specified in RFC6106, DNSSL option contains one or more domain names
of DNS suffixes.  8-bit identifier of the DNSSL option type as assigned
by the IANA is 31.  This option should also be treated as userland.

Signed-off-by: Alexey I. Froloff <raorn@raorn.name>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Alexey I. Froloff 2012-04-06 05:50:58 +00:00 committed by David S. Miller
parent 64d176fce1
commit e35f30c131
2 changed files with 4 additions and 1 deletions

View File

@ -34,6 +34,7 @@ enum {
__ND_OPT_ARRAY_MAX, __ND_OPT_ARRAY_MAX,
ND_OPT_ROUTE_INFO = 24, /* RFC4191 */ ND_OPT_ROUTE_INFO = 24, /* RFC4191 */
ND_OPT_RDNSS = 25, /* RFC5006 */ ND_OPT_RDNSS = 25, /* RFC5006 */
ND_OPT_DNSSL = 31, /* RFC6106 */
__ND_OPT_MAX __ND_OPT_MAX
}; };

View File

@ -15,6 +15,7 @@
/* /*
* Changes: * Changes:
* *
* Alexey I. Froloff : RFC6106 (DNSSL) support
* Pierre Ynard : export userland ND options * Pierre Ynard : export userland ND options
* through netlink (RDNSS support) * through netlink (RDNSS support)
* Lars Fenneberg : fixed MTU setting on receipt * Lars Fenneberg : fixed MTU setting on receipt
@ -228,7 +229,8 @@ static struct nd_opt_hdr *ndisc_next_option(struct nd_opt_hdr *cur,
static inline int ndisc_is_useropt(struct nd_opt_hdr *opt) static inline int ndisc_is_useropt(struct nd_opt_hdr *opt)
{ {
return opt->nd_opt_type == ND_OPT_RDNSS; return opt->nd_opt_type == ND_OPT_RDNSS ||
opt->nd_opt_type == ND_OPT_DNSSL;
} }
static struct nd_opt_hdr *ndisc_next_useropt(struct nd_opt_hdr *cur, static struct nd_opt_hdr *ndisc_next_useropt(struct nd_opt_hdr *cur,