]> git.proxmox.com Git - mirror_frr.git/blobdiff - ospf6d/ospf6_neighbor.c
zebra: replace zlog_err with flog_err
[mirror_frr.git] / ospf6d / ospf6_neighbor.c
index 6455f606bd85114931a64843f44e5d51bcd0e601..bb451c239e6c3ae584aebd58b126cdf417d423b9 100644 (file)
@@ -59,7 +59,11 @@ int ospf6_neighbor_cmp(void *va, void *vb)
 {
        struct ospf6_neighbor *ona = (struct ospf6_neighbor *)va;
        struct ospf6_neighbor *onb = (struct ospf6_neighbor *)vb;
-       return (ntohl(ona->router_id) < ntohl(onb->router_id) ? -1 : 1);
+
+       if (ona->router_id == onb->router_id)
+               return 0;
+
+       return (ntohl(ona->router_id) < ntohl(onb->router_id)) ? -1 : 1;
 }
 
 struct ospf6_neighbor *ospf6_neighbor_lookup(uint32_t router_id,
@@ -84,10 +88,6 @@ struct ospf6_neighbor *ospf6_neighbor_create(uint32_t router_id,
 
        on = (struct ospf6_neighbor *)XMALLOC(MTYPE_OSPF6_NEIGHBOR,
                                              sizeof(struct ospf6_neighbor));
-       if (on == NULL) {
-               zlog_warn("neighbor: malloc failed");
-               return NULL;
-       }
 
        memset(on, 0, sizeof(struct ospf6_neighbor));
        inet_ntop(AF_INET, &router_id, buf, sizeof(buf));
@@ -193,8 +193,9 @@ static void ospf6_neighbor_state_change(uint8_t next_state,
 
                OSPF6_INTRA_PREFIX_LSA_SCHEDULE_STUB(on->ospf6_if->area);
 
-               if (prev_state == OSPF6_NEIGHBOR_LOADING
-                   && next_state == OSPF6_NEIGHBOR_FULL) {
+               if ((prev_state == OSPF6_NEIGHBOR_LOADING ||
+                    prev_state == OSPF6_NEIGHBOR_EXCHANGE) &&
+                   next_state == OSPF6_NEIGHBOR_FULL) {
                        OSPF6_AS_EXTERN_LSA_SCHEDULE(on->ospf6_if);
                        on->ospf6_if->area->full_nbrs++;
                }
@@ -924,7 +925,7 @@ DEFUN (no_debug_ospf6,
                handler = vector_slot(ospf6_lsa_handler_vector, i);
 
                if (handler != NULL) {
-                       UNSET_FLAG(handler->debug, OSPF6_LSA_DEBUG);
+                       UNSET_FLAG(handler->lh_debug, OSPF6_LSA_DEBUG);
                }
        }