]> git.proxmox.com Git - mirror_frr.git/blobdiff - zebra/router-id.c
lib: enforce vrf_name_to_id by returning default_vrf when name is null
[mirror_frr.git] / zebra / router-id.c
index f6c88a2162bc8641d1b03d11dd5c8feb3693ccef..c500f79a6c2c0a275ebbf48ef6798dfad96e8fbd 100644 (file)
@@ -39,6 +39,7 @@
 #include "vrf.h"
 
 #include "zebra/zserv.h"
+#include "zebra/zapi_msg.h"
 #include "zebra/zebra_vrf.h"
 #include "zebra/router-id.h"
 #include "zebra/redistribute.h"
@@ -131,8 +132,7 @@ void router_id_add_address(struct connected *ifc)
 
        router_id_get(&before, zvrf_id(zvrf));
 
-       if (!strncmp(ifc->ifp->name, "lo", 2)
-           || !strncmp(ifc->ifp->name, "dummy", 5))
+       if (if_is_loopback(ifc->ifp))
                l = zvrf->rid_lo_sorted_list;
        else
                l = zvrf->rid_all_sorted_list;
@@ -164,8 +164,7 @@ void router_id_del_address(struct connected *ifc)
 
        router_id_get(&before, zvrf_id(zvrf));
 
-       if (!strncmp(ifc->ifp->name, "lo", 2)
-           || !strncmp(ifc->ifp->name, "dummy", 5))
+       if (if_is_loopback(ifc->ifp))
                l = zvrf->rid_lo_sorted_list;
        else
                l = zvrf->rid_all_sorted_list;
@@ -225,7 +224,7 @@ DEFUN (router_id,
        rid.family = AF_INET;
 
        if (argc > 2)
-               VRF_GET_ID(vrf_id, argv[idx_name]->arg);
+               VRF_GET_ID(vrf_id, argv[idx_name]->arg, false);
 
        router_id_set(&rid, vrf_id);
 
@@ -250,7 +249,7 @@ DEFUN (no_router_id,
        rid.family = AF_INET;
 
        if (argc > 3)
-               VRF_GET_ID(vrf_id, argv[idx_name]->arg);
+               VRF_GET_ID(vrf_id, argv[idx_name]->arg, false);
 
        router_id_set(&rid, vrf_id);