summaryrefslogtreecommitdiffstats
path: root/ripd/rip_zebra.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2015-11-20 20:36:46 +0100
committerDonald Sharp <sharpd@cumulusnetworks.com>2015-11-20 20:36:46 +0100
commit1a1f4efab365954c7b0ab56e974c2d707c0923c5 (patch)
treeb54a9d3f085014bc38d6e1b21c39f703e7d1f4d5 /ripd/rip_zebra.c
parentMerge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga in... (diff)
downloadfrr-1a1f4efab365954c7b0ab56e974c2d707c0923c5.tar.xz
frr-1a1f4efab365954c7b0ab56e974c2d707c0923c5.zip
Quagga: vrf_id not being set correctly
Several routing protocols use the zapi_ipv[4|6] api to talk to zebra. There are some instances where the api.vrf_id was not being set. Since the practice is to declare the api structure on the stack, the data inside is not being set to 0. As such random vrf_id values were being passed to zebrad causing rage and confusion. Ticket: CM-8287 Reviewed-by: CCR-3841 Testing: Test suites no longer crashing and burning Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'ripd/rip_zebra.c')
-rw-r--r--ripd/rip_zebra.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/ripd/rip_zebra.c b/ripd/rip_zebra.c
index 245cb66c4..4fc0e00aa 100644
--- a/ripd/rip_zebra.c
+++ b/ripd/rip_zebra.c
@@ -70,13 +70,14 @@ rip_zebra_ipv4_add (struct prefix_ipv4 *p, struct in_addr *nexthop,
}
void
-rip_zebra_ipv4_delete (struct prefix_ipv4 *p, struct in_addr *nexthop,
+rip_zebra_ipv4_delete (struct prefix_ipv4 *p, struct in_addr *nexthop,
u_int32_t metric)
{
struct zapi_ipv4 api;
if (vrf_bitmap_check (zclient->redist[AFI_IP][ZEBRA_ROUTE_RIP], VRF_DEFAULT))
{
+ api.vrf_id = VRF_DEFAULT;
api.type = ZEBRA_ROUTE_RIP;
api.instance = 0;
api.flags = 0;