]> git.puffer.fish Git - mirror/frr.git/commit
zebra: justify some IPv6 ND RA timers wrt RFC
authorDenis Ovsienko <infrastation@yandex.ru>
Fri, 30 Dec 2011 17:55:49 +0000 (21:55 +0400)
committerDenis Ovsienko <infrastation@yandex.ru>
Thu, 26 Jan 2012 07:42:48 +0000 (11:42 +0400)
commitd660f698427277ce695a5b756f3143c8304274ea
treef26d5f72724cae8ee9844f30ba8e0aaf7b7c3006
parent6134b875f39986564aced5e2d7329fcd852f17f4
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
zebra/interface.c
zebra/interface.h
zebra/rtadv.c