]> git.proxmox.com Git - mirror_frr.git/blobdiff - zebra/router-id.c
isisd: implement the 'lsp-too-large' notification
[mirror_frr.git] / zebra / router-id.c
index 383f21864bde47cb9e98b8b78a8bfd8c905188da..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;
@@ -187,19 +186,21 @@ void router_id_write(struct vty *vty)
        struct vrf *vrf;
        struct zebra_vrf *zvrf;
 
-       RB_FOREACH(vrf, vrf_name_head, &vrfs_by_name)
-       if ((zvrf = vrf->info) != NULL)
-               if (zvrf->rid_user_assigned.u.prefix4.s_addr) {
-                       if (zvrf_id(zvrf) == VRF_DEFAULT)
-                               vty_out(vty, "router-id %s\n",
-                                       inet_ntoa(zvrf->rid_user_assigned.u
-                                                         .prefix4));
-                       else
-                               vty_out(vty, "router-id %s vrf %s\n",
-                                       inet_ntoa(zvrf->rid_user_assigned.u
-                                                         .prefix4),
-                                       zvrf_name(zvrf));
-               }
+       RB_FOREACH (vrf, vrf_name_head, &vrfs_by_name)
+               if ((zvrf = vrf->info) != NULL)
+                       if (zvrf->rid_user_assigned.u.prefix4.s_addr) {
+                               if (zvrf_id(zvrf) == VRF_DEFAULT)
+                                       vty_out(vty, "router-id %s\n",
+                                               inet_ntoa(
+                                                       zvrf->rid_user_assigned
+                                                               .u.prefix4));
+                               else
+                                       vty_out(vty, "router-id %s vrf %s\n",
+                                               inet_ntoa(
+                                                       zvrf->rid_user_assigned
+                                                               .u.prefix4),
+                                               zvrf_name(zvrf));
+                       }
 }
 
 DEFUN (router_id,
@@ -223,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);
 
@@ -248,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);