summaryrefslogtreecommitdiffstats
path: root/eigrpd
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2017-10-29 00:35:56 +0200
committerDonald Sharp <sharpd@cumulusnetworks.com>2017-10-29 00:35:56 +0200
commit895722db4e7d09750006e6e17099b15b42a0470f (patch)
treeba40f63979433c03d573171a841fba4d3da3cf46 /eigrpd
parenteigrpd: Create enum for states and string name for display (diff)
downloadfrr-895722db4e7d09750006e6e17099b15b42a0470f.tar.xz
frr-895722db4e7d09750006e6e17099b15b42a0470f.zip
eigrpd: Add ability to show packet type in log
Allow us to examine the packet type that caused us to change state. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'eigrpd')
-rw-r--r--eigrpd/eigrp_fsm.c30
1 files changed, 28 insertions, 2 deletions
diff --git a/eigrpd/eigrp_fsm.c b/eigrpd/eigrp_fsm.c
index 84f21013e..44fdbf7d1 100644
--- a/eigrpd/eigrp_fsm.c
+++ b/eigrpd/eigrp_fsm.c
@@ -170,6 +170,30 @@ struct {
},
};
+static const char *packet_type2str(u_char packet_type)
+{
+ if (packet_type == EIGRP_OPC_UPDATE)
+ return "Update";
+ if (packet_type == EIGRP_OPC_REQUEST)
+ return "Request";
+ if (packet_type == EIGRP_OPC_QUERY)
+ return "Query";
+ if (packet_type == EIGRP_OPC_REPLY)
+ return "Reply";
+ if (packet_type == EIGRP_OPC_HELLO)
+ return "Hello";
+ if (packet_type == EIGRP_OPC_IPXSAP)
+ return "IPXSAP";
+ if (packet_type == EIGRP_OPC_ACK)
+ return "Ack";
+ if (packet_type == EIGRP_OPC_SIAQUERY)
+ return "SIA Query";
+ if (packet_type == EIGRP_OPC_SIAREPLY)
+ return "SIA Reply";
+
+ return "Unknown";
+}
+
static const char *prefix_state2str(enum eigrp_fsm_states state)
{
switch (state) {
@@ -374,10 +398,12 @@ int eigrp_fsm_event(struct eigrp_fsm_action_message *msg)
{
enum eigrp_fsm_events event = eigrp_get_fsm_event(msg);
- zlog_info("EIGRP AS: %d State: %s Event: %s Network: %s",
+ zlog_info("EIGRP AS: %d State: %s Event: %s Network: %s Packet Type: %s Reply RIJ Count: %d",
msg->eigrp->AS, prefix_state2str(msg->prefix->state),
fsm_state2str(event),
- eigrp_topology_ip_string(msg->prefix));
+ eigrp_topology_ip_string(msg->prefix),
+ packet_type2str(msg->packet_type),
+ msg->prefix->rij->count);
(*(NSM[msg->prefix->state][event].func))(msg);
return 1;