ospfd: use LOOKUP() for ospf_packet_type_str

* ospf_packet.h: add proper str/max extern declarations
* ospf_packet.c
  * ospf_packet_type_str: rewrite in "struct message", add max value
  * ospf_packet_add(): use LOOKUP()
  * ospf_write(): ditto
  * ospf_hello(): ditto
  * ospf_read(): ditto
* ospf_dump.h: the declaration does not belong here
* ospf_dump.c
  * ospf_header_dump(): use LOOKUP()
  * show_debugging_ospf(): ditto
This commit is contained in:
Denis Ovsienko 2012-01-15 19:12:19 +04:00 committed by David Lamparter
parent a20a4060c8
commit 272ca1e330
4 changed files with 19 additions and 16 deletions

View file

@ -661,7 +661,7 @@ ospf_header_dump (struct ospf_header *ospfh)
zlog_debug ("Header"); zlog_debug ("Header");
zlog_debug (" Version %d", ospfh->version); zlog_debug (" Version %d", ospfh->version);
zlog_debug (" Type %d (%s)", ospfh->type, zlog_debug (" Type %d (%s)", ospfh->type,
ospf_packet_type_str[ospfh->type]); LOOKUP (ospf_packet_type_str, ospfh->type));
zlog_debug (" Packet Len %d", ntohs (ospfh->length)); zlog_debug (" Packet Len %d", ntohs (ospfh->length));
zlog_debug (" Router ID %s", inet_ntoa (ospfh->router_id)); zlog_debug (" Router ID %s", inet_ntoa (ospfh->router_id));
zlog_debug (" Area ID %s", inet_ntoa (ospfh->area_id)); zlog_debug (" Area ID %s", inet_ntoa (ospfh->area_id));
@ -1457,7 +1457,7 @@ DEFUN (show_debugging_ospf,
if (IS_DEBUG_OSPF_PACKET (i, SEND) && IS_DEBUG_OSPF_PACKET (i, RECV)) if (IS_DEBUG_OSPF_PACKET (i, SEND) && IS_DEBUG_OSPF_PACKET (i, RECV))
{ {
vty_out (vty, " OSPF packet %s%s debugging is on%s", vty_out (vty, " OSPF packet %s%s debugging is on%s",
ospf_packet_type_str[i + 1], LOOKUP (ospf_packet_type_str, i + 1),
IS_DEBUG_OSPF_PACKET (i, DETAIL) ? " detail" : "", IS_DEBUG_OSPF_PACKET (i, DETAIL) ? " detail" : "",
VTY_NEWLINE); VTY_NEWLINE);
} }
@ -1465,12 +1465,12 @@ DEFUN (show_debugging_ospf,
{ {
if (IS_DEBUG_OSPF_PACKET (i, SEND)) if (IS_DEBUG_OSPF_PACKET (i, SEND))
vty_out (vty, " OSPF packet %s send%s debugging is on%s", vty_out (vty, " OSPF packet %s send%s debugging is on%s",
ospf_packet_type_str[i + 1], LOOKUP (ospf_packet_type_str, i + 1),
IS_DEBUG_OSPF_PACKET (i, DETAIL) ? " detail" : "", IS_DEBUG_OSPF_PACKET (i, DETAIL) ? " detail" : "",
VTY_NEWLINE); VTY_NEWLINE);
if (IS_DEBUG_OSPF_PACKET (i, RECV)) if (IS_DEBUG_OSPF_PACKET (i, RECV))
vty_out (vty, " OSPF packet %s receive%s debugging is on%s", vty_out (vty, " OSPF packet %s receive%s debugging is on%s",
ospf_packet_type_str[i + 1], LOOKUP (ospf_packet_type_str, i + 1),
IS_DEBUG_OSPF_PACKET (i, DETAIL) ? " detail" : "", IS_DEBUG_OSPF_PACKET (i, DETAIL) ? " detail" : "",
VTY_NEWLINE); VTY_NEWLINE);
} }

View file

@ -121,7 +121,6 @@ extern unsigned long term_debug_ospf_zebra;
extern unsigned long term_debug_ospf_nssa; extern unsigned long term_debug_ospf_nssa;
/* Message Strings. */ /* Message Strings. */
extern const char *ospf_packet_type_str[];
extern char *ospf_lsa_type_str[]; extern char *ospf_lsa_type_str[];
/* Prototypes. */ /* Prototypes. */

View file

@ -50,15 +50,16 @@
#include "ospfd/ospf_dump.h" #include "ospfd/ospf_dump.h"
/* Packet Type String. */ /* Packet Type String. */
const char *ospf_packet_type_str[] = const struct message ospf_packet_type_str[] =
{ {
"unknown", { OSPF_MSG_HELLO, "Hello" },
"Hello", { OSPF_MSG_DB_DESC, "Database Description" },
"Database Description", { OSPF_MSG_LS_REQ, "Link State Request" },
"Link State Request", { OSPF_MSG_LS_UPD, "Link State Update" },
"Link State Update", { OSPF_MSG_LS_ACK, "Link State Acknowledgment" },
"Link State Acknowledgment",
}; };
const size_t ospf_packet_type_str_max = sizeof (ospf_packet_type_str) /
sizeof (ospf_packet_type_str[0]);
/* OSPF authentication checking function */ /* OSPF authentication checking function */
static int static int
@ -201,7 +202,7 @@ ospf_packet_add (struct ospf_interface *oi, struct ospf_packet *op)
"destination %s) called with NULL obuf, ignoring " "destination %s) called with NULL obuf, ignoring "
"(please report this bug)!\n", "(please report this bug)!\n",
IF_NAME(oi), oi->state, LOOKUP (ospf_ism_state_msg, oi->state), IF_NAME(oi), oi->state, LOOKUP (ospf_ism_state_msg, oi->state),
ospf_packet_type_str[stream_getc_from(op->s, 1)], LOOKUP (ospf_packet_type_str, stream_getc_from(op->s, 1)),
inet_ntoa (op->dst)); inet_ntoa (op->dst));
return; return;
} }
@ -755,7 +756,7 @@ ospf_write (struct thread *thread)
} }
zlog_debug ("%s sent to [%s] via [%s].", zlog_debug ("%s sent to [%s] via [%s].",
ospf_packet_type_str[type], inet_ntoa (op->dst), LOOKUP (ospf_packet_type_str, type), inet_ntoa (op->dst),
IF_NAME (oi)); IF_NAME (oi));
if (IS_DEBUG_OSPF_PACKET (type - 1, DETAIL)) if (IS_DEBUG_OSPF_PACKET (type - 1, DETAIL))
@ -801,7 +802,7 @@ ospf_hello (struct ip *iph, struct ospf_header *ospfh,
{ {
zlog_debug ("ospf_header[%s/%s]: selforiginated, " zlog_debug ("ospf_header[%s/%s]: selforiginated, "
"dropping.", "dropping.",
ospf_packet_type_str[ospfh->type], LOOKUP (ospf_packet_type_str, ospfh->type),
inet_ntoa (iph->ip_src)); inet_ntoa (iph->ip_src));
} }
return; return;
@ -2576,7 +2577,7 @@ ospf_read (struct thread *thread)
} }
zlog_debug ("%s received from [%s] via [%s]", zlog_debug ("%s received from [%s] via [%s]",
ospf_packet_type_str[ospfh->type], LOOKUP (ospf_packet_type_str, ospfh->type),
inet_ntoa (ospfh->router_id), IF_NAME (oi)); inet_ntoa (ospfh->router_id), IF_NAME (oi));
zlog_debug (" src [%s],", inet_ntoa (iph->ip_src)); zlog_debug (" src [%s],", inet_ntoa (iph->ip_src));
zlog_debug (" dst [%s]", inet_ntoa (iph->ip_dst)); zlog_debug (" dst [%s]", inet_ntoa (iph->ip_dst));

View file

@ -163,4 +163,7 @@ extern int ospf_ls_ack_timer (struct thread *);
extern int ospf_poll_timer (struct thread *); extern int ospf_poll_timer (struct thread *);
extern int ospf_hello_reply_timer (struct thread *); extern int ospf_hello_reply_timer (struct thread *);
extern const struct message ospf_packet_type_str[];
extern const size_t ospf_packet_type_str_max;
#endif /* _ZEBRA_OSPF_PACKET_H */ #endif /* _ZEBRA_OSPF_PACKET_H */