[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#694522: Please include the DNSSL patch that landed in 3.5.



Package: src:linux
Version: 3.2.32-1
Severity: normal
Tags: patch ipv6

Hi,

e35f30c131a562bafd069820a6983fd4023e606e landed in 3.5, adding support
to pass along DNSSL information (RFC 6106) from IPv6 Router
Advertisements to userspace programs via netlink. network-manager will
then use this information to add search list information to
/etc/resolv.conf.

The current wheezy kernel does not support this. Could this patch be
included? It's very small, too, because all it does is flagging the
option to be passed through. The current network-manager in wheezy
already supports the option.

commit e35f30c131a562bafd069820a6983fd4023e606e
Author: Alexey I. Froloff <raorn@raorn.name>
Date:   Fri Apr 6 05:50:58 2012 +0000

    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>

diff --git a/include/net/ndisc.h b/include/net/ndisc.h
index 6f9c25a..c02b6ad 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 1d6fb0c..7cb236e 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,

Kind regards and thanks for the consideration
Philipp Kern

Attachment: signature.asc
Description: PGP signature


Reply to: