summaryrefslogtreecommitdiffstats
path: root/ripd/ripd.h
diff options
context:
space:
mode:
authorLu Feng <lu.feng@6wind.com>2014-07-18 06:13:19 +0000
committerDavid Lamparter <equinox@opensourcerouting.org>2014-09-15 18:37:08 +0200
commit0b74a0a5db7bcf65bf68c44b547b02b1310b5cdb (patch)
treed767a50f61d6dddaf145e8273e859fb29d74687f /ripd/ripd.h
parentb397cf4f0fc484c5ebfc8a680090055c8e6cbe32 (diff)
downloadquagga-0b74a0a5db7bcf65bf68c44b547b02b1310b5cdb.tar.bz2
quagga-0b74a0a5db7bcf65bf68c44b547b02b1310b5cdb.tar.xz
ripd: allow to enable/disable the ECMP feature
Introduce a new command "[no] allow-ecmp" to enable/disable the ECMP feature in RIP. By default, ECMP is not allowed. Once ECMP is disabled, only one route entry can exist in the list. * rip_zebra.c: adjust a debugging information, which shows the number of nexthops according to whether ECMP is enabled. * ripd.c: rip_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, rip_ecmp_disable() is called to remove the multiple nexthops. * ripd.h: Add a new member "ecmp" to "struct rip", 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: David Lamparter <equinox@opensourcerouting.org>
Diffstat (limited to 'ripd/ripd.h')
-rw-r--r--ripd/ripd.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/ripd/ripd.h b/ripd/ripd.h
index 0f0e2160..4f40e79a 100644
--- a/ripd/ripd.h
+++ b/ripd/ripd.h
@@ -143,6 +143,9 @@ struct rip
u_char distance;
struct route_table *distance_table;
+ /* RIP ECMP flag */
+ unsigned int ecmp;
+
/* For redistribute route map. */
struct
{