diff options
author | Donald Sharp <sharpd@cumulusnetworks.com> | 2015-11-20 20:36:46 +0100 |
---|---|---|
committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2015-11-20 20:36:46 +0100 |
commit | 1a1f4efab365954c7b0ab56e974c2d707c0923c5 (patch) | |
tree | b54a9d3f085014bc38d6e1b21c39f703e7d1f4d5 /ripd/rip_zebra.c | |
parent | Merge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga in... (diff) | |
download | frr-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.c | 3 |
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; |