]> git.puffer.fish Git - matthieu/frr.git/commitdiff
eigrpd: Refactor FSM calling
authorDonald Sharp <sharpd@cumulusnetworks.com>
Tue, 22 Aug 2017 19:43:30 +0000 (15:43 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Thu, 24 Aug 2017 12:04:20 +0000 (08:04 -0400)
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
eigrpd/eigrp_fsm.c
eigrpd/eigrp_fsm.h
eigrpd/eigrp_query.c
eigrpd/eigrp_reply.c
eigrpd/eigrp_siaquery.c
eigrpd/eigrp_siareply.c
eigrpd/eigrp_topology.c
eigrpd/eigrp_update.c

index 178b2b0cd76d27106bbc99d7ee2767eb146f9bc9..47cd112cf5da88fae402514d34fa6f45137eb09e 100644 (file)
@@ -178,7 +178,7 @@ struct {
  * Return number of occurred event (arrow in diagram).
  *
  */
-int eigrp_get_fsm_event(struct eigrp_fsm_action_message *msg)
+static int eigrp_get_fsm_event(struct eigrp_fsm_action_message *msg)
 {
        // Loading base information from message
        // struct eigrp *eigrp = msg->eigrp;
@@ -328,8 +328,9 @@ int eigrp_get_fsm_event(struct eigrp_fsm_action_message *msg)
  * Function made to execute in separate thread.
  * Load argument from thread and execute proper NSM function
  */
-int eigrp_fsm_event(struct eigrp_fsm_action_message *msg, int event)
+int eigrp_fsm_event(struct eigrp_fsm_action_message *msg)
 {
+       int event = eigrp_get_fsm_event(msg);
        zlog_info("EIGRP AS: %d State: %d  Event: %d Network: %s",
                  msg->eigrp->AS, msg->prefix->state, event,
                  eigrp_topology_ip_string(msg->prefix));
index 97a1f49281a6dcd95bd43b52a546d4555eb0f8d6..8fad9d1f5118bdd134a33b2cb0e10d4a81c077a7 100644 (file)
@@ -28,8 +28,7 @@
 #ifndef _ZEBRA_EIGRP_FSM_H
 #define _ZEBRA_EIGRP_FSM_H
 
-extern int eigrp_get_fsm_event(struct eigrp_fsm_action_message *);
-extern int eigrp_fsm_event(struct eigrp_fsm_action_message *, int);
+extern int eigrp_fsm_event(struct eigrp_fsm_action_message *msg);
 
 
 #endif /* _ZEBRA_EIGRP_DUAL_H */
index c82c90589b2c3f35e3a5aa3560a55d93bc453ed1..b9351ed8960f652c120e9774649c91cb6cf62bc5 100644 (file)
@@ -136,8 +136,7 @@ void eigrp_query_receive(struct eigrp *eigrp, struct ip *iph,
                                msg.data.ipv4_int_type = tlv;
                                msg.entry = entry;
                                msg.prefix = dest;
-                               int event = eigrp_get_fsm_event(&msg);
-                               eigrp_fsm_event(&msg, event);
+                               eigrp_fsm_event(&msg);
                        }
                        eigrp_IPv4_InternalTLV_free(tlv);
                        break;
index 4e909283d6e5c9490b41fcf55a781114e3085af4..7015413f568f2f58e409081dfecb45a9ec260dbd 100644 (file)
@@ -242,8 +242,7 @@ void eigrp_reply_receive(struct eigrp *eigrp, struct ip *iph,
                        msg.data.ipv4_int_type = tlv;
                        msg.entry = entry;
                        msg.prefix = dest;
-                       int event = eigrp_get_fsm_event(&msg);
-                       eigrp_fsm_event(&msg, event);
+                       eigrp_fsm_event(&msg);
 
 
                        eigrp_IPv4_InternalTLV_free(tlv);
index 85b6ca9fe4850de2e662b6139b883870e8f6fd5e..9447efb2e26b5e54aa66296b5746b1f96377139d 100644 (file)
@@ -105,8 +105,7 @@ void eigrp_siaquery_receive(struct eigrp *eigrp, struct ip *iph,
                                msg.data.ipv4_int_type = tlv;
                                msg.entry = entry;
                                msg.prefix = dest;
-                               int event = eigrp_get_fsm_event(&msg);
-                               eigrp_fsm_event(&msg, event);
+                               eigrp_fsm_event(&msg);
                        }
                        eigrp_IPv4_InternalTLV_free(tlv);
                }
index c03a34322eee7886b779b9b085d7b10ef365999f..2cf7520a965bfd6e2b616c8ed55ac3f44bed5b24 100644 (file)
@@ -104,8 +104,7 @@ void eigrp_siareply_receive(struct eigrp *eigrp, struct ip *iph,
                                msg.data.ipv4_int_type = tlv;
                                msg.entry = entry;
                                msg.prefix = dest;
-                               int event = eigrp_get_fsm_event(&msg);
-                               eigrp_fsm_event(&msg, event);
+                               eigrp_fsm_event(&msg);
                        }
                        eigrp_IPv4_InternalTLV_free(tlv);
                }
index f78a43739db3099564041e3843f8fc523a1b5d8f..d4d55393a804a8d7d66f9ecf451f2294e835ad10 100644 (file)
@@ -497,8 +497,7 @@ void eigrp_topology_neighbor_down(struct eigrp *eigrp,
                                msg.data.ipv4_int_type = tlv;
                                msg.entry = entry;
                                msg.prefix = prefix;
-                               int event = eigrp_get_fsm_event(&msg);
-                               eigrp_fsm_event(&msg, event);
+                               eigrp_fsm_event(&msg);
                        }
                }
        }
index a3d6210e714ed170c81644b15de035d8763a4cd9..89b8ecd92841be7013fe3eb1b8d1fac91bd75ed9 100644 (file)
@@ -146,8 +146,7 @@ static void eigrp_update_receive_GR_ask(struct eigrp *eigrp,
                fsm_msg.prefix = prefix;
 
                /* send message to FSM */
-               int event = eigrp_get_fsm_event(&fsm_msg);
-               eigrp_fsm_event(&fsm_msg, event);
+               eigrp_fsm_event(&fsm_msg);
 
                /* free memory used by TLV */
                eigrp_IPv4_InternalTLV_free(tlv_max);
@@ -321,8 +320,7 @@ void eigrp_update_receive(struct eigrp *eigrp, struct ip *iph,
                                msg.data.ipv4_int_type = tlv;
                                msg.entry = entry;
                                msg.prefix = dest;
-                               int event = eigrp_get_fsm_event(&msg);
-                               eigrp_fsm_event(&msg, event);
+                               eigrp_fsm_event(&msg);
                        } else {
                                /*Here comes topology information save*/
                                pe = eigrp_prefix_entry_new();
@@ -987,8 +985,7 @@ static void eigrp_update_send_GR_part(struct eigrp_neighbor *nbr)
                        fsm_msg.prefix = pe;
 
                        /* send message to FSM */
-                       int event = eigrp_get_fsm_event(&fsm_msg);
-                       eigrp_fsm_event(&fsm_msg, event);
+                       eigrp_fsm_event(&fsm_msg);
 
                        /* free memory used by TLV */
                        eigrp_IPv4_InternalTLV_free(tlv_max);