diff options
| author | Don Slice <dslice@cumulusnetworks.com> | 2018-06-18 11:38:45 +0000 |
|---|---|---|
| committer | Don Slice <dslice@cumulusnetworks.com> | 2018-06-18 11:38:45 +0000 |
| commit | 65a6617b6402e2bd8874285be6eca1734dd5b96c (patch) | |
| tree | a9fecfef3bd157b5ad6b08755df5d86857107379 /zebra/interface.c | |
| parent | f4659d27c63965df76f29c8f9808cec9f89343d6 (diff) | |
zebra: re-install static routes needed vrf when the vrf intf comes up
Problem reported that if the vrf device is taken down and then brought
back up, any static route referencing that vrf device was not
re-installed. This fix runs back thru the static routes that
reference the vrf device coming up and re-install them.
Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
Diffstat (limited to 'zebra/interface.c')
| -rw-r--r-- | zebra/interface.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/zebra/interface.c b/zebra/interface.c index 7de18d683c..6125ff9a16 100644 --- a/zebra/interface.c +++ b/zebra/interface.c @@ -934,6 +934,12 @@ void if_up(struct interface *ifp) /* Install connected routes to the kernel. */ if_install_connected(ifp); + /* Install any static routes using this vrf interface */ + if (IS_ZEBRA_IF_VRF(ifp)) { + static_fixup_vrf_ids(zvrf); + static_config_install_delayed_routes(zvrf); + } + if (IS_ZEBRA_DEBUG_RIB_DETAILED) zlog_debug("%u: IF %s up, scheduling RIB processing", ifp->vrf_id, ifp->name); |
