summaryrefslogtreecommitdiff
path: root/ospfd/ospf_interface.c
diff options
context:
space:
mode:
authorIgor Ryzhov <iryzhov@nfware.com>2021-10-18 17:16:35 +0300
committerIgor Ryzhov <iryzhov@nfware.com>2021-10-18 17:23:07 +0300
commit9f4ffd809a24b55da45198e07e7232679dd75a8c (patch)
tree9843dac46f3acc9d73a3b245c7ca7627d3232b36 /ospfd/ospf_interface.c
parentcc6a70422173d3fba7416aad87bd566387d2bff7 (diff)
ospfd: fix crash when creating vlink in unknown vrf
if_create_name crashes when vrf_id is VRF_UNKNOWN: ``` nfware# conf t nfware(config)# router ospf vrf doesnt-exist nfware(config-router)# area 1.1.1.1 virtual-link 2.2.2.2 vtysh: error reading from ospfd: Success (0)Warning: closing connection to ospfd because of an I/O error! ``` Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
Diffstat (limited to 'ospfd/ospf_interface.c')
-rw-r--r--ospfd/ospf_interface.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/ospfd/ospf_interface.c b/ospfd/ospf_interface.c
index eb7a8348e8..2fea385594 100644
--- a/ospfd/ospf_interface.c
+++ b/ospfd/ospf_interface.c
@@ -909,6 +909,13 @@ struct ospf_interface *ospf_vl_new(struct ospf *ospf,
return NULL;
}
+ if (ospf->vrf_id == VRF_UNKNOWN) {
+ if (IS_DEBUG_OSPF_EVENT)
+ zlog_debug(
+ "ospf_vl_new(): Alarm: cannot create pseudo interface in unknown VRF");
+ return NULL;
+ }
+
if (IS_DEBUG_OSPF_EVENT)
zlog_debug(
"ospf_vl_new(): creating pseudo zebra interface vrf id %u",