summaryrefslogtreecommitdiffstats
path: root/ripngd/ripngd.h
Commit message (Collapse)AuthorAgeFilesLines
* ripngd: allow to enable/disable the ECMP featureFeng Lu2015-05-271-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Introduce a new command "[no] allow-ecmp" to enable/disable the ECMP feature in RIPng. By default, ECMP is not allowed. Once ECMP is disabled, only one route entry can exist in the list. * ripng_zebra.c: adjust a debugging information, which shows the number of nexthops according to whether ECMP is enabled. * ripngd.c: ripng_ecmp_add() will reject the new route if ECMP is not allowed and some entry already exists. A new configurable command "allow-ecmp" is added to control whether ECMP is allowed. When ECMP is disabled, ripng_ecmp_disable() is called to remove the multiple nexthops. * ripngd.h: Add a new member "ecmp" to "struct ripng", indicating whether ECMP is allowed or not. Signed-off-by: Feng Lu <lu.feng@6wind.com> Reviewed-by: Alain Ritoux <alain.ritoux@6wind.com> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com> Acked-by: Vincent Jardin <vincent.jardin@6wind.com> Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* ripngd: add ECMP supportFeng Lu2015-05-271-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | * Each node in the routing table is changed into a list, holding the multiple equal-cost paths. * If one of the multiple entries gets less-preferred (greater metric or greater distance), it will be directly deleted instead of starting a garbage-collection timer for it. The garbage-collection timer is started only when the last entry in the list gets INFINITY. * Some new functions are used to maintain the ECMP list. And hence ripng_route_process(), ripng_redistribute_add() and ripng_timeout() are significantly simplified. * ripng_zebra_ipv6_add() and ripng_zebra_ipv6_delete() now can share the common code. The common part is moved to ripng_zebra_ipv6_send(). Signed-off-by: Feng Lu <lu.feng@6wind.com> Reviewed-by: Alain Ritoux <alain.ritoux@6wind.com> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com> Acked-by: Vincent Jardin <vincent.jardin@6wind.com> Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* [trivia] finish off static'ification of ospf6d and ripngdPaul Jakma2008-08-221-54/+76
| | | | | | | | | 2008-08-15 Paul Jakma <paul.jakma@sun.com> * {ospf6d,ripngd}/*: Finish job of marking functions as static, or exporting declarations for them, to quell warning noise with Quagga's GCC default high-level of warning flags. Thus allowing remaining, more useful warnings to be more easily seen.
* * ripng_zebra.c, ripngd.[ch]: Pass metric info to the zebra daemon.hasso2005-08-271-1/+1
| | | | Forwardport from stable branch.
* * lib/prefix.[hc]: inet6_ntoa utility function copied fromquagga_pre_listloop_cleanuphasso2005-04-051-2/+0
| | | | | | | | ripngd/ripngd.c (inet6_ntop). * ripngd.[hc]: Remove inet6_ntop() and any usage of it. inet6_ntoa() from lib is used now. * ripng_interface.c: inet6_ntop() -> inet6_ntoa(). * ripng_peer.c: inet6_ntop() -> inet6_ntoa().
* Only warning left is the known lvalue problem in ripng_nexthop.c.hasso2004-10-081-1/+1
|
* Ripngd part of 6Wind patch.hasso2003-05-251-14/+98
|
* [zebra 18626] move zebra socket paths to configure.acpaul2003-04-071-1/+0
| | | | | | | | | | | moved definition of the various socket paths from the per daemon header files into configure.ac. it will set the paths to be in the directory specified by --localstatedir=<prefix> or otherwise will try to guess as best it can ( a la pid file path detection - which probably should try reference ${prefix} too). the present hardcoded socket path, /tmp, isnt really correct. should be in /var somewhere really.
* Initial revisionpaul2002-12-131-0/+318