]> git.proxmox.com Git - mirror_frr.git/commit
Zebra: Redistribute replace handling corner cases
authorvivek <vivek@cumulusnetworks.com>
Wed, 21 Oct 2015 04:52:52 +0000 (21:52 -0700)
committervivek <vivek@cumulusnetworks.com>
Wed, 21 Oct 2015 04:52:52 +0000 (21:52 -0700)
commitc41fc67b25b8832697c676dc66493043e76c1d45
tree96556c370ce6feaff92f465d9a61c2a83611c376
parent5048fe14444fcbf27a1905e0f79f5e53af35cd29
Zebra: Redistribute replace handling corner cases

Ticket: CM-7309
Reviewed By: CCR-3448
Testing Done: passing route_ospf_route_thrash, the new redist test

When zebra was modified to have redistributed routes follow a replace
logic instead of the del-add, one case was missed. When a route is
replaced with a change only to the source protocol (say from static
to bgp), its possible that the new source protocol is not selected
for redistribution by a client. Since we did not delete the route
initially, if the add is not allowed for the new source protocol
for a client, we need to send a delete of that redistributed route.
This is what the patch fixes.

Signed-off-by: Dinesh G Dutt <ddutt@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
zebra/redistribute.c
zebra/redistribute.h
zebra/redistribute_null.c
zebra/zebra_rib.c