Patchwork [OpenWrt-Devel] IPv6: Add support for domain name distribution via RA messages

login
register
Submitter Dave Täht
Date 2012-06-09 16:03:21
Message ID <1339257801-19894-1-git-send-email-dave.taht@bufferbloat.net>
Download mbox | patch
Permalink /patch/2255/
State Not Applicable
Headers show

Comments

Dave Täht - 2012-06-09 16:03:21
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

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 <raorn@raorn.name>
+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 <raorn@raorn.name>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ 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
+