diff options
author | Alexey I. Froloff <raorn@raorn.name> | 2012-04-06 05:50:58 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-04-12 15:56:57 -0400 |
commit | e35f30c131a562bafd069820a6983fd4023e606e (patch) | |
tree | 7768d88caf0ae7950a586340510eb965bbc5bded | |
parent | 64d176fce1a28c7cef2f239936b760ed61c59586 (diff) | |
download | linux-e35f30c131a562bafd069820a6983fd4023e606e.tar.gz linux-e35f30c131a562bafd069820a6983fd4023e606e.tar.bz2 linux-e35f30c131a562bafd069820a6983fd4023e606e.zip |
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>
-rw-r--r-- | include/net/ndisc.h | 1 | ||||
-rw-r--r-- | net/ipv6/ndisc.c | 4 |
2 files changed, 4 insertions, 1 deletions
diff --git a/include/net/ndisc.h b/include/net/ndisc.h index 6f9c25a76cd1..c02b6ad3f6c5 100644 --- a/include/net/ndisc.h +++ b/include/net/ndisc.h @@ -34,6 +34,7 @@ enum { __ND_OPT_ARRAY_MAX, ND_OPT_ROUTE_INFO = 24, /* RFC4191 */ ND_OPT_RDNSS = 25, /* RFC5006 */ + ND_OPT_DNSSL = 31, /* RFC6106 */ __ND_OPT_MAX }; diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c index 1d6fb0c94da1..7cb236e8e261 100644 --- a/net/ipv6/ndisc.c +++ b/net/ipv6/ndisc.c @@ -15,6 +15,7 @@ /* * Changes: * + * Alexey I. Froloff : RFC6106 (DNSSL) support * Pierre Ynard : export userland ND options * through netlink (RDNSS support) * 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) { - 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, |