mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-14 06:50:17 +00:00
eigrpd: Refactor FSM calling
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
parent
92035b1db4
commit
6118272f14
@ -178,7 +178,7 @@ struct {
|
|||||||
* Return number of occurred event (arrow in diagram).
|
* 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
|
// Loading base information from message
|
||||||
// struct eigrp *eigrp = msg->eigrp;
|
// 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.
|
* Function made to execute in separate thread.
|
||||||
* Load argument from thread and execute proper NSM function
|
* 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",
|
zlog_info("EIGRP AS: %d State: %d Event: %d Network: %s",
|
||||||
msg->eigrp->AS, msg->prefix->state, event,
|
msg->eigrp->AS, msg->prefix->state, event,
|
||||||
eigrp_topology_ip_string(msg->prefix));
|
eigrp_topology_ip_string(msg->prefix));
|
||||||
|
@ -28,8 +28,7 @@
|
|||||||
#ifndef _ZEBRA_EIGRP_FSM_H
|
#ifndef _ZEBRA_EIGRP_FSM_H
|
||||||
#define _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 *msg);
|
||||||
extern int eigrp_fsm_event(struct eigrp_fsm_action_message *, int);
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* _ZEBRA_EIGRP_DUAL_H */
|
#endif /* _ZEBRA_EIGRP_DUAL_H */
|
||||||
|
@ -136,8 +136,7 @@ void eigrp_query_receive(struct eigrp *eigrp, struct ip *iph,
|
|||||||
msg.data.ipv4_int_type = tlv;
|
msg.data.ipv4_int_type = tlv;
|
||||||
msg.entry = entry;
|
msg.entry = entry;
|
||||||
msg.prefix = dest;
|
msg.prefix = dest;
|
||||||
int event = eigrp_get_fsm_event(&msg);
|
eigrp_fsm_event(&msg);
|
||||||
eigrp_fsm_event(&msg, event);
|
|
||||||
}
|
}
|
||||||
eigrp_IPv4_InternalTLV_free(tlv);
|
eigrp_IPv4_InternalTLV_free(tlv);
|
||||||
break;
|
break;
|
||||||
|
@ -242,8 +242,7 @@ void eigrp_reply_receive(struct eigrp *eigrp, struct ip *iph,
|
|||||||
msg.data.ipv4_int_type = tlv;
|
msg.data.ipv4_int_type = tlv;
|
||||||
msg.entry = entry;
|
msg.entry = entry;
|
||||||
msg.prefix = dest;
|
msg.prefix = dest;
|
||||||
int event = eigrp_get_fsm_event(&msg);
|
eigrp_fsm_event(&msg);
|
||||||
eigrp_fsm_event(&msg, event);
|
|
||||||
|
|
||||||
|
|
||||||
eigrp_IPv4_InternalTLV_free(tlv);
|
eigrp_IPv4_InternalTLV_free(tlv);
|
||||||
|
@ -105,8 +105,7 @@ void eigrp_siaquery_receive(struct eigrp *eigrp, struct ip *iph,
|
|||||||
msg.data.ipv4_int_type = tlv;
|
msg.data.ipv4_int_type = tlv;
|
||||||
msg.entry = entry;
|
msg.entry = entry;
|
||||||
msg.prefix = dest;
|
msg.prefix = dest;
|
||||||
int event = eigrp_get_fsm_event(&msg);
|
eigrp_fsm_event(&msg);
|
||||||
eigrp_fsm_event(&msg, event);
|
|
||||||
}
|
}
|
||||||
eigrp_IPv4_InternalTLV_free(tlv);
|
eigrp_IPv4_InternalTLV_free(tlv);
|
||||||
}
|
}
|
||||||
|
@ -104,8 +104,7 @@ void eigrp_siareply_receive(struct eigrp *eigrp, struct ip *iph,
|
|||||||
msg.data.ipv4_int_type = tlv;
|
msg.data.ipv4_int_type = tlv;
|
||||||
msg.entry = entry;
|
msg.entry = entry;
|
||||||
msg.prefix = dest;
|
msg.prefix = dest;
|
||||||
int event = eigrp_get_fsm_event(&msg);
|
eigrp_fsm_event(&msg);
|
||||||
eigrp_fsm_event(&msg, event);
|
|
||||||
}
|
}
|
||||||
eigrp_IPv4_InternalTLV_free(tlv);
|
eigrp_IPv4_InternalTLV_free(tlv);
|
||||||
}
|
}
|
||||||
|
@ -497,8 +497,7 @@ void eigrp_topology_neighbor_down(struct eigrp *eigrp,
|
|||||||
msg.data.ipv4_int_type = tlv;
|
msg.data.ipv4_int_type = tlv;
|
||||||
msg.entry = entry;
|
msg.entry = entry;
|
||||||
msg.prefix = prefix;
|
msg.prefix = prefix;
|
||||||
int event = eigrp_get_fsm_event(&msg);
|
eigrp_fsm_event(&msg);
|
||||||
eigrp_fsm_event(&msg, event);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -146,8 +146,7 @@ static void eigrp_update_receive_GR_ask(struct eigrp *eigrp,
|
|||||||
fsm_msg.prefix = prefix;
|
fsm_msg.prefix = prefix;
|
||||||
|
|
||||||
/* send message to FSM */
|
/* send message to FSM */
|
||||||
int event = eigrp_get_fsm_event(&fsm_msg);
|
eigrp_fsm_event(&fsm_msg);
|
||||||
eigrp_fsm_event(&fsm_msg, event);
|
|
||||||
|
|
||||||
/* free memory used by TLV */
|
/* free memory used by TLV */
|
||||||
eigrp_IPv4_InternalTLV_free(tlv_max);
|
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.data.ipv4_int_type = tlv;
|
||||||
msg.entry = entry;
|
msg.entry = entry;
|
||||||
msg.prefix = dest;
|
msg.prefix = dest;
|
||||||
int event = eigrp_get_fsm_event(&msg);
|
eigrp_fsm_event(&msg);
|
||||||
eigrp_fsm_event(&msg, event);
|
|
||||||
} else {
|
} else {
|
||||||
/*Here comes topology information save*/
|
/*Here comes topology information save*/
|
||||||
pe = eigrp_prefix_entry_new();
|
pe = eigrp_prefix_entry_new();
|
||||||
@ -987,8 +985,7 @@ static void eigrp_update_send_GR_part(struct eigrp_neighbor *nbr)
|
|||||||
fsm_msg.prefix = pe;
|
fsm_msg.prefix = pe;
|
||||||
|
|
||||||
/* send message to FSM */
|
/* send message to FSM */
|
||||||
int event = eigrp_get_fsm_event(&fsm_msg);
|
eigrp_fsm_event(&fsm_msg);
|
||||||
eigrp_fsm_event(&fsm_msg, event);
|
|
||||||
|
|
||||||
/* free memory used by TLV */
|
/* free memory used by TLV */
|
||||||
eigrp_IPv4_InternalTLV_free(tlv_max);
|
eigrp_IPv4_InternalTLV_free(tlv_max);
|
||||||
|
Loading…
Reference in New Issue
Block a user