summaryrefslogtreecommitdiffstats
path: root/zebra/interface.h
diff options
context:
space:
mode:
authorHagen Paul Pfeifer <hagen@jauu.net>2009-07-18 18:45:02 +0000
committerDavid Lamparter <equinox@diac24.net>2010-02-03 16:45:36 +0100
commit244dc8dd4b741ee0873d83427ca6c378de8c2354 (patch)
treed4bac45be71e9b3d6ec5d2b7dd349fa93ae672f9 /zebra/interface.h
parentdca6c883ea6219460efbe3dadde4b8b9cb12c845 (diff)
downloadquagga-244dc8dd4b741ee0873d83427ca6c378de8c2354.tar.bz2
quagga-244dc8dd4b741ee0873d83427ca6c378de8c2354.tar.xz
IPv6 Router Advertisement Option for RDNSS
IPv6 Router Advertisement Option for DNS Configuration (RFC 5006)[1] introduced a mechanism to hand out recursive DNS server addresses via router advertisement (RA) messages. This simple combines the IPv6 stateless address auto-configuration process with the ability to get DNS server information - in one message. This options frees many environments from operating an additional DHCPv6 server that provides such information. This patch extends quagga by the ability to generate and transport RDNS addresses. RDNSS options are currently supported at radvd(1) and the Linux Kernel by handover this information to the user-space (via netlink socket). A simple RA configuration with two RDNS entries can be enabled via no ipv6 nd suppress-ra ipv6 nd prefix 2001:db8::/64 ipv6 nd rdnss 2001:db8::1 ipv6 nd rdnss 2001:db8::2 It is additionally possible to specify the lifetime of an RDNSS option as stated in [1] section 4.1. The default is infinity lifetime (0xfffffff) as it serves the most common application areas. ip nd rdnss 2001:db8::1 300000 [1] http://tools.ietf.org/html/rfc5006 Signed-off-by: Hagen Paul Pfeifer <hagen@jauu.net>
Diffstat (limited to 'zebra/interface.h')
-rw-r--r--zebra/interface.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/zebra/interface.h b/zebra/interface.h
index 0cf66403..305abaac 100644
--- a/zebra/interface.h
+++ b/zebra/interface.h
@@ -178,6 +178,20 @@ struct rtadvconf
Default: 0 (medium) */
int DefaultPreference;
#define RTADV_PREF_MEDIUM 0x0 /* Per RFC4191. */
+
+ /* A list of Recursive DNS server addresses specified in
+ RFC 5006 */
+ int AdvRDNSSFlag;
+ struct list *AdvRDNSSList;
+
+ /* the maximum lifetime in seconds over which the RDNSS entry
+ * may be used. After this time a host may send a router solicitation
+ * message to refresh the RDNSS information.
+ *
+ * Default is infinity lifetime (0xffffffff) */
+ uint32_t AdvRDNSSLifetime;
+#define RTADV_RDNSS_INFINITY_LIFETIME (0xffffffff)
+#define RTADV_RDNSS_DEFAULT_LIFETIME RTADV_RDNSS_INFINITY_LIFETIME
};
#endif /* RTADV */