summaryrefslogtreecommitdiff
path: root/zebra/interface.c
diff options
context:
space:
mode:
authorPhilippe Guibert <philippe.guibert@6wind.com>2018-03-22 17:00:48 +0100
committerPhilippe Guibert <philippe.guibert@6wind.com>2018-03-23 09:04:33 +0100
commit154a3944e806936c766052d44e85921be6f3c5d5 (patch)
tree4e581daece42238fd2882f90083b4679315c7203 /zebra/interface.c
parentaab81a046e4ee087a0d99832a839cbd42c8ce385 (diff)
zebra: fix misc changes related to link updates with correct zns
Because vrf with netns backend may be used, the correct zns must be found prior any modifications. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Diffstat (limited to 'zebra/interface.c')
-rw-r--r--zebra/interface.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/zebra/interface.c b/zebra/interface.c
index 01283f9122..7795d34d0b 100644
--- a/zebra/interface.c
+++ b/zebra/interface.c
@@ -867,6 +867,7 @@ void if_up(struct interface *ifp)
{
struct zebra_if *zif;
struct interface *link_if;
+ struct zebra_vrf *zvrf = vrf_info_lookup(ifp->vrf_id);
zif = ifp->info;
zif->up_count++;
@@ -909,7 +910,7 @@ void if_up(struct interface *ifp)
link_if = ifp;
zebra_vxlan_svi_up(ifp, link_if);
} else if (IS_ZEBRA_IF_VLAN(ifp)) {
- link_if = if_lookup_by_index_per_ns(zebra_ns_lookup(NS_DEFAULT),
+ link_if = if_lookup_by_index_per_ns(zvrf->zns,
zif->link_ifindex);
if (link_if)
zebra_vxlan_svi_up(ifp, link_if);
@@ -922,6 +923,7 @@ void if_down(struct interface *ifp)
{
struct zebra_if *zif;
struct interface *link_if;
+ struct zebra_vrf *zvrf = vrf_info_lookup(ifp->vrf_id);
zif = ifp->info;
zif->down_count++;
@@ -938,7 +940,7 @@ void if_down(struct interface *ifp)
link_if = ifp;
zebra_vxlan_svi_down(ifp, link_if);
} else if (IS_ZEBRA_IF_VLAN(ifp)) {
- link_if = if_lookup_by_index_per_ns(zebra_ns_lookup(NS_DEFAULT),
+ link_if = if_lookup_by_index_per_ns(zvrf->zns,
zif->link_ifindex);
if (link_if)
zebra_vxlan_svi_down(ifp, link_if);