summaryrefslogtreecommitdiff
path: root/lib/if.c
diff options
context:
space:
mode:
authorTuetuopay <tuetuopay@me.com>2019-03-28 18:41:38 +0100
committerGitHub <noreply@github.com>2019-03-28 18:41:38 +0100
commitd074383c621d904847d6c1cdf1e4d8825caf14ba (patch)
treeb0449b0bc79226875a2c2d4586ccbdd102ddaca4 /lib/if.c
parent0fb2ad05d9e11a211915208e3fa648c8e170e31e (diff)
parent8db37bf14a28ccf89d891fe094d72c65b389dfd3 (diff)
Merge branch 'master' into evpn-session-vrf
Diffstat (limited to 'lib/if.c')
-rw-r--r--lib/if.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/if.c b/lib/if.c
index abcc6c5d3c..5b1473af40 100644
--- a/lib/if.c
+++ b/lib/if.c
@@ -396,6 +396,7 @@ struct interface *if_get_by_name(const char *name, vrf_id_t vrf_id)
struct interface *ifp;
switch (vrf_get_backend()) {
+ case VRF_BACKEND_UNKNOWN:
case VRF_BACKEND_NETNS:
ifp = if_lookup_by_name(name, vrf_id);
if (ifp)
@@ -1279,6 +1280,11 @@ static int lib_interface_create(enum nb_event event,
vrf->name);
return NB_ERR_VALIDATION;
}
+
+ /* if VRF is netns or not yet known - init for instance
+ * then assumption is that passed config is exact
+ * then the user intent was not to use an other iface
+ */
if (vrf_get_backend() == VRF_BACKEND_VRF_LITE) {
ifp = if_lookup_by_name_all_vrf(ifname);
if (ifp && ifp->vrf_id != vrf->vrf_id) {