]> git.proxmox.com Git - mirror_frr.git/blobdiff - pimd/pim_msdp.c
zebra: Allow ns delete to happen after under/over flow checks
[mirror_frr.git] / pimd / pim_msdp.c
index 4910cb8b38085e1724bec0863abf6b5261a8b176..7e072e6ade4037b594b4e9daf47e9f62a1f0406f 100644 (file)
@@ -28,6 +28,7 @@
 #include <lib/thread.h>
 #include <lib/vty.h>
 #include <lib/plist.h>
+#include <lib/lib_errors.h>
 
 #include "pimd.h"
 #include "pim_cmd.h"
@@ -73,7 +74,7 @@ static int pim_msdp_sa_adv_timer_cb(struct thread *t)
        struct pim_instance *pim = THREAD_ARG(t);
 
        if (PIM_DEBUG_MSDP_EVENTS) {
-               zlog_debug("MSDP SA advertisment timer expired");
+               zlog_debug("MSDP SA advertisement timer expired");
        }
 
        pim_msdp_sa_adv_timer_setup(pim, true /* start */);
@@ -517,7 +518,8 @@ static void pim_msdp_sa_local_del_on_up_del(struct pim_instance *pim,
                         * the flow. Accounting for such cases requires lot of
                         * changes; perhaps
                         * address this in the next release? - XXX  */
-                       zlog_err(
+                       flog_err(
+                               EC_LIB_DEVELOPMENT,
                                "MSDP sa %s SPT teardown is causing the local entry to be removed",
                                sa->sg_str);
                        return;
@@ -685,7 +687,7 @@ static unsigned int pim_msdp_sa_hash_key_make(void *p)
        return (jhash_2words(sa->sg.src.s_addr, sa->sg.grp.s_addr, 0));
 }
 
-static int pim_msdp_sa_hash_eq(const void *p1, const void *p2)
+static bool pim_msdp_sa_hash_eq(const void *p1, const void *p2)
 {
        const struct pim_msdp_sa *sa1 = p1;
        const struct pim_msdp_sa *sa2 = p2;
@@ -1219,7 +1221,7 @@ static unsigned int pim_msdp_peer_hash_key_make(void *p)
        return (jhash_1word(mp->peer.s_addr, 0));
 }
 
-static int pim_msdp_peer_hash_eq(const void *p1, const void *p2)
+static bool pim_msdp_peer_hash_eq(const void *p1, const void *p2)
 {
        const struct pim_msdp_peer *mp1 = p1;
        const struct pim_msdp_peer *mp2 = p2;
@@ -1258,7 +1260,7 @@ static void pim_msdp_mg_free(struct pim_instance *pim)
                XFREE(MTYPE_PIM_MSDP_MG_NAME, mg->mesh_group_name);
 
        if (mg->mbr_list)
-               list_delete_and_null(&mg->mbr_list);
+               list_delete(&mg->mbr_list);
 
        XFREE(MTYPE_PIM_MSDP_MG, pim->msdp.mg);
 }
@@ -1608,7 +1610,7 @@ void pim_msdp_exit(struct pim_instance *pim)
        }
 
        if (pim->msdp.peer_list) {
-               list_delete_and_null(&pim->msdp.peer_list);
+               list_delete(&pim->msdp.peer_list);
        }
 
        if (pim->msdp.sa_hash) {
@@ -1618,7 +1620,7 @@ void pim_msdp_exit(struct pim_instance *pim)
        }
 
        if (pim->msdp.sa_list) {
-               list_delete_and_null(&pim->msdp.sa_list);
+               list_delete(&pim->msdp.sa_list);
        }
 
        if (pim->msdp.work_obuf)