diff options
author | Lu Feng <lu.feng@6wind.com> | 2014-07-18 06:13:19 +0000 |
---|---|---|
committer | David Lamparter <equinox@opensourcerouting.org> | 2014-09-15 18:37:08 +0200 |
commit | 0b74a0a5db7bcf65bf68c44b547b02b1310b5cdb (patch) | |
tree | d767a50f61d6dddaf145e8273e859fb29d74687f /ripd/ripd.h | |
parent | b397cf4f0fc484c5ebfc8a680090055c8e6cbe32 (diff) | |
download | quagga-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.h | 3 |
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 { |