summaryrefslogtreecommitdiffstats
path: root/zebra/interface.h
diff options
context:
space:
mode:
authorDenis Ovsienko <infrastation@yandex.ru>2011-12-30 18:55:49 +0100
committerDenis Ovsienko <infrastation@yandex.ru>2012-01-26 08:42:48 +0100
commitd660f698427277ce695a5b756f3143c8304274ea (patch)
treef26d5f72724cae8ee9844f30ba8e0aaf7b7c3006 /zebra/interface.h
parentzebra: fix output of IPv6 ND RA options (diff)
downloadfrr-d660f698427277ce695a5b756f3143c8304274ea.tar.xz
frr-d660f698427277ce695a5b756f3143c8304274ea.zip
zebra: justify some IPv6 ND RA timers wrt RFC
There was a regression introduced with the previous commit: "ipv6 nd home-agent-lifetime 1800000" appeared by default in every interface section of running-config, although this command is invalid in this context. Troubleshooting and bugfixing of the issue tracked out several bugs in router advertisement procedures, some of which are fixed in this commit. * zebra/interface.c * if_zebra_new_hook(): update to treat -1 as "uninitialized" * nd_dump_vty(): idem * zebra/rtadv.c * rtadv_send_packet(): update processing of "router lifetime" field, "home agent" option and "home agent lifetime" field to conform to RFC6275 better * ipv6_nd_ra_interval_msec(): update MaxRtrAdvInterval range check, make sure it never exceeds (initialized) AdvDefaultLifetime * ipv6_nd_ra_interval(): idem * ipv6_nd_ra_lifetime(): update AdvDefaultLifetime range check, make sure it never falls below MaxRtrAdvInterval * ipv6_nd_homeagent_lifetime(): update HomeAgentLifetime range check * no_ipv6_nd_ra_lifetime(): update to treat -1 as "uninitialized" * no_ipv6_nd_homeagent_lifetime(): idem * rtadv_config_write(): idem
Diffstat (limited to 'zebra/interface.h')
-rw-r--r--zebra/interface.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/zebra/interface.h b/zebra/interface.h
index 0cf66403b..ea3fec578 100644
--- a/zebra/interface.h
+++ b/zebra/interface.h
@@ -69,7 +69,7 @@ struct rtadvconf
MUST be no greater than .75 * MaxRtrAdvInterval.
Default: 0.33 * MaxRtrAdvInterval */
- int MinRtrAdvInterval;
+ int MinRtrAdvInterval; /* This field is currently unused. */
#define RTADV_MIN_RTR_ADV_INTERVAL (0.33 * RTADV_MAX_RTR_ADV_INTERVAL)
/* Unsolicited Router Advertisements' interval timer. */
@@ -131,8 +131,7 @@ struct rtadvconf
Default: 3 * MaxRtrAdvInterval */
int AdvDefaultLifetime;
-#define RTADV_ADV_DEFAULT_LIFETIME (3 * RTADV_MAX_RTR_ADV_INTERVAL)
-
+#define RTADV_MAX_RTRLIFETIME 9000 /* 2.5 hours */
/* A list of prefixes to be placed in Prefix Information options in
Router Advertisement messages sent from the interface.