diff options
author | Hagen Paul Pfeifer <hagen@jauu.net> | 2009-07-18 18:45:02 +0000 |
---|---|---|
committer | David Lamparter <equinox@diac24.net> | 2010-02-03 16:45:36 +0100 |
commit | 244dc8dd4b741ee0873d83427ca6c378de8c2354 (patch) | |
tree | d4bac45be71e9b3d6ec5d2b7dd349fa93ae672f9 /zebra/interface.h | |
parent | dca6c883ea6219460efbe3dadde4b8b9cb12c845 (diff) | |
download | quagga-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.h | 14 |
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 */ |