Backport from Kernel 3.5 --- ...at-ND-option-31-as-userland-DNSSL-support.patch | 53 ++++++++++++++++++++ 1 files changed, 53 insertions(+), 0 deletions(-) create mode 100644 target/linux/generic/patches-3.3/050-Treat-ND-option-31-as-userland-DNSSL-support.patch
diff --git a/target/linux/generic/patches-3.3/050-Treat-ND-option-31-as-userland-DNSSL-support.patch b/target/linux/generic/patches-3.3/050-Treat-ND-option-31-as-userland-DNSSL-support.patch new file mode 100644 index 0000000..c2f68fc --- /dev/null +++ b/target/linux/generic/patches-3.3/050-Treat-ND-option-31-as-userland-DNSSL-support.patch @@ -0,0 +1,53 @@ +From 86a53286bb9933244a86a684c68ee1ccb32bd53e Mon Sep 17 00:00:00 2001 +From: Alexey I. Froloff <[email protected]> +Date: Fri, 6 Apr 2012 05:50:58 +0000 +Subject: [PATCH] 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 <[email protected]> +Signed-off-by: David S. Miller <[email protected]> +--- + include/net/ndisc.h | 1 + + 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 e3133c2..a9d350e 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 c964958..b103252 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, +-- +1.7.1 + -- 1.7.1 _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-devel
