]> git.puffer.fish Git - mirror/frr.git/commitdiff
eigrpd: Query Send is not incrementing the sequence number
authorDonald Sharp <sharpd@cumulusnetworks.com>
Sun, 29 Oct 2017 12:27:08 +0000 (08:27 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Sun, 29 Oct 2017 12:27:08 +0000 (08:27 -0400)
When we send a query make sure we increment the query
sequence number.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
eigrpd/eigrp_query.c

index 88a592e6c9acb6239e5e0f195dbecb64e2de7c88..58f3d2b53c5bf5263c4adb087d78fb5e44bbb62c 100644 (file)
@@ -183,13 +183,14 @@ void eigrp_send_query(struct eigrp_interface *ei)
        has_tlv = 0;
        for (ALL_LIST_ELEMENTS(ei->eigrp->topology_changes_internalIPV4, node,
                               nnode, pe)) {
-               if (pe->req_action & EIGRP_FSM_NEED_QUERY) {
-                       length += eigrp_add_internalTLV_to_stream(ep->s, pe);
-                       for (ALL_LIST_ELEMENTS(ei->nbrs, node2, nnode2, nbr)) {
-                               if (nbr->state == EIGRP_NEIGHBOR_UP) {
-                                       listnode_add(pe->rij, nbr);
-                                       has_tlv = 1;
-                               }
+               if (!(pe->req_action & EIGRP_FSM_NEED_QUERY))
+                       continue;
+
+               length += eigrp_add_internalTLV_to_stream(ep->s, pe);
+               for (ALL_LIST_ELEMENTS(ei->nbrs, node2, nnode2, nbr)) {
+                       if (nbr->state == EIGRP_NEIGHBOR_UP) {
+                               listnode_add(pe->rij, nbr);
+                               has_tlv = 1;
                        }
                }
        }
@@ -212,6 +213,7 @@ void eigrp_send_query(struct eigrp_interface *ei)
 
        /*This ack number we await from neighbor*/
        ep->sequence_number = ei->eigrp->sequence_number;
+       ei->eigrp->sequence_number++;
 
        for (ALL_LIST_ELEMENTS(ei->nbrs, node2, nnode2, nbr)) {
                if (nbr->state == EIGRP_NEIGHBOR_UP) {