ipv6: Treat ND option 31 as userland (DNSSL support) (Closes: #694522)

svn path=/dists/sid/linux/; revision=19569
This commit is contained in:
Ben Hutchings 2012-12-02 14:49:12 +00:00
parent 898dd9babd
commit 74b01f14f5
3 changed files with 53 additions and 0 deletions

1
debian/changelog vendored
View File

@ -81,6 +81,7 @@ linux (3.2.34-1) UNRELEASED; urgency=low
'debugging symbols' and correct grammar
* usb: Disable UAS; it is known to be broken, and the supported devices
can also work with usb-storage
* ipv6: Treat ND option 31 as userland (DNSSL support) (Closes: #694522)
[ Ian Campbell ]
* [xen] add support for microcode updating. (Closes: #693053)

View File

@ -0,0 +1,51 @@
From: "Alexey I. Froloff" <raorn@raorn.name>
Date: Fri, 6 Apr 2012 05:50:58 +0000
Subject: Treat ND option 31 as userland (DNSSL support)
commit e35f30c131a562bafd069820a6983fd4023e606e upstream.
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 deletion(-)
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,

View File

@ -412,3 +412,4 @@ debian/radeon-no-modeset-without-firmware.patch
debian/ALSA-avoid-ABI-change-in-3.2.34.patch
debian/rtnetlink-avoid-ABI-change-in-3.2.34.patch
debian/mm-avoid-ABI-change-in-3.2.33.patch
features/all/ipv6-Treat-ND-option-31-as-userland-DNSSL-support.patch