diff options
| -rw-r--r-- | zebra/zebra_vrf.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/zebra/zebra_vrf.c b/zebra/zebra_vrf.c index 7e53a2e804..faafcf7892 100644 --- a/zebra/zebra_vrf.c +++ b/zebra/zebra_vrf.c @@ -457,8 +457,11 @@ static void zebra_vrf_table_create(struct zebra_vrf *zvrf, afi_t afi, memset(&p, 0, sizeof(p)); p.family = afi2family(afi); + /* create a fake default route or get the existing one */ rn = srcdest_rnode_get(zvrf->table[afi][safi], &p, NULL); - zebra_rib_create_dest(rn); + if (!rn->info) + /* do not override the existing default route */ + zebra_rib_create_dest(rn); } /* Allocate new zebra VRF. */ |
