diff options
author | Denis Ovsienko <infrastation@yandex.ru> | 2011-12-30 18:55:49 +0100 |
---|---|---|
committer | Denis Ovsienko <infrastation@yandex.ru> | 2012-01-26 08:42:48 +0100 |
commit | d660f698427277ce695a5b756f3143c8304274ea (patch) | |
tree | f26d5f72724cae8ee9844f30ba8e0aaf7b7c3006 /zebra/interface.h | |
parent | zebra: fix output of IPv6 ND RA options (diff) | |
download | frr-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.h | 5 |
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. |