summaryrefslogtreecommitdiff
path: root/zebra/interface.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2016-05-10 08:49:28 -0400
committerDonald Sharp <sharpd@cumulusnetworks.com>2016-05-10 15:07:04 -0400
commita3d21ef32e7d5ca5e01dceaef4f8c8a3fbb78498 (patch)
tree1f8ffad9754e38270bdd3ea28eeab12e2437ef51 /zebra/interface.c
parentdc1810914ced0a2d150e752fb8af384eaa01efba (diff)
zebra: Fix interface based static routes
This commit fixes interface based static routes. static routes are now stored and if an interface comes up it finds the route and installs it. Ticket: CM-10869 Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Diffstat (limited to 'zebra/interface.c')
-rw-r--r--zebra/interface.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/zebra/interface.c b/zebra/interface.c
index 7d3d0851a7..2efcbac571 100644
--- a/zebra/interface.c
+++ b/zebra/interface.c
@@ -102,6 +102,8 @@ if_zebra_new_hook (struct interface *ifp)
zebra_if->ipv4_subnets = route_table_init ();
ifp->info = zebra_if;
+
+ zebra_vrf_static_route_interface_fixup (ifp);
return 0;
}
@@ -816,6 +818,8 @@ if_up (struct interface *ifp)
zlog_debug ("%u: IF %s up, scheduling RIB processing",
ifp->vrf_id, ifp->name);
rib_update (ifp->vrf_id, RIB_UPDATE_IF_CHANGE);
+
+ zebra_vrf_static_route_interface_fixup (ifp);
}
/* Interface goes down. We have to manage different behavior of based