diff options
| author | Renato Westphal <renato@opensourcerouting.org> | 2019-01-11 19:20:13 -0200 | 
|---|---|---|
| committer | Renato Westphal <renato@opensourcerouting.org> | 2019-01-14 11:41:33 -0200 | 
| commit | 49db7a7b055d69a8d3892a9171912b8b0f00aa45 (patch) | |
| tree | cf173e30c23a4a5b682b3c15242e31615a540ec8 /eigrpd/eigrp_zebra.c | |
| parent | ca88bbed50dfb3390e54791765794f626afcaf4b (diff) | |
lib, zebra: add AFI parameter to the ZEBRA_REDISTRIBUTE_DEFAULT_* messages
Some daemons like ospfd and isisd have the ability to advertise a
default route to their peers only if one exists in the RIB. This
is what the "default-information originate" commands do when used
without the "always" parameter.
For that to work, these daemons use the ZEBRA_REDISTRIBUTE_DEFAULT_ADD
message to request default route information to zebra. The problem
is that this message didn't have an AFI parameter, so a default route
from any address-family would satisfy the requests from both daemons
(e.g. ::/0 would trigger ospfd to advertise a default route to its
peers, and 0.0.0.0/0 would trigger isisd to advertise a default route
to its IPv6 peers).
Fix this by adding an AFI parameter to the
ZEBRA_REDISTRIBUTE_DEFAULT_{ADD,DELETE} messages and making the
corresponding code changes.
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
Diffstat (limited to 'eigrpd/eigrp_zebra.c')
| -rw-r--r-- | eigrpd/eigrp_zebra.c | 2 | 
1 files changed, 1 insertions, 1 deletions
diff --git a/eigrpd/eigrp_zebra.c b/eigrpd/eigrp_zebra.c index 29bd23b514..a810e01468 100644 --- a/eigrpd/eigrp_zebra.c +++ b/eigrpd/eigrp_zebra.c @@ -425,7 +425,7 @@ void eigrp_zebra_route_delete(struct prefix *p)  int eigrp_is_type_redistributed(int type)  {  	return ((DEFAULT_ROUTE_TYPE(type)) -			? vrf_bitmap_check(zclient->default_information, +			? vrf_bitmap_check(zclient->default_information[AFI_IP],  					   VRF_DEFAULT)  			: vrf_bitmap_check(zclient->redist[AFI_IP][type],  					   VRF_DEFAULT));  | 
