diff options
author | Donald Sharp <sharpd@cumulusnetworks.com> | 2019-06-25 23:10:12 +0200 |
---|---|---|
committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2019-06-25 23:49:19 +0200 |
commit | 317c6a10287d0cbb43fd6b82ade76d3f2f444ed8 (patch) | |
tree | f0c2d2fce5c4a6d3489ec8133fd244d969af7121 /zebra | |
parent | zebra: Push VRF_DEFAULT outside of import table code (diff) | |
download | frr-317c6a10287d0cbb43fd6b82ade76d3f2f444ed8.tar.xz frr-317c6a10287d0cbb43fd6b82ade76d3f2f444ed8.zip |
zebra: import table entries are not showing up in the right table
When we are importing/removing the table entry from table X into the
default routing table we are not properly setting the table_id
of the route entry. This is causing the route to be pushed
into the wrong internal table and to not be found for deletion.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'zebra')
-rw-r--r-- | zebra/redistribute.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/zebra/redistribute.c b/zebra/redistribute.c index 8aa005a40..d56579ff4 100644 --- a/zebra/redistribute.c +++ b/zebra/redistribute.c @@ -612,7 +612,7 @@ int zebra_add_import_table_entry(struct zebra_vrf *zvrf, struct route_node *rn, newre->flags = re->flags; newre->metric = re->metric; newre->mtu = re->mtu; - newre->table = 0; + newre->table = zvrf->table_id; newre->nexthop_num = 0; newre->uptime = monotime(NULL); newre->instance = re->table; @@ -633,8 +633,8 @@ int zebra_del_import_table_entry(struct zebra_vrf *zvrf, struct route_node *rn, prefix_copy(&p, &rn->p); rib_delete(afi, SAFI_UNICAST, zvrf->vrf->vrf_id, ZEBRA_ROUTE_TABLE, - re->table, re->flags, &p, NULL, re->ng.nexthop, 0, - re->metric, re->distance, false); + re->table, re->flags, &p, NULL, re->ng.nexthop, + zvrf->table_id, re->metric, re->distance, false); return 0; } |