diff options
| author | Denis Ovsienko <infrastation@yandex.ru> | 2012-01-15 19:12:19 +0400 | 
|---|---|---|
| committer | David Lamparter <equinox@diac24.net> | 2012-03-12 11:04:54 +0100 | 
| commit | 272ca1e33016b1cbf9c72038d5e631b0adb04dc9 (patch) | |
| tree | 6728fe6847947d0ddf600bd22f4bf7f040da8274 | |
| parent | a20a4060c8b90e3d88ce97d439eee1a38260d7c5 (diff) | |
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
| -rw-r--r-- | ospfd/ospf_dump.c | 8 | ||||
| -rw-r--r-- | ospfd/ospf_dump.h | 1 | ||||
| -rw-r--r-- | ospfd/ospf_packet.c | 25 | ||||
| -rw-r--r-- | ospfd/ospf_packet.h | 3 | 
4 files changed, 20 insertions, 17 deletions
diff --git a/ospfd/ospf_dump.c b/ospfd/ospf_dump.c index e65b2e3366..8ace095782 100644 --- a/ospfd/ospf_dump.c +++ b/ospfd/ospf_dump.c @@ -661,7 +661,7 @@ ospf_header_dump (struct ospf_header *ospfh)    zlog_debug ("Header");    zlog_debug ("  Version %d", ospfh->version);    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 ("  Router ID %s", inet_ntoa (ospfh->router_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))        {  	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" : "",  		 VTY_NEWLINE);        } @@ -1465,12 +1465,12 @@ DEFUN (show_debugging_ospf,        {  	if (IS_DEBUG_OSPF_PACKET (i, SEND))  	  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" : "",  		   VTY_NEWLINE);  	if (IS_DEBUG_OSPF_PACKET (i, RECV))  	  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" : "",  		   VTY_NEWLINE);        } diff --git a/ospfd/ospf_dump.h b/ospfd/ospf_dump.h index fb813719b2..455214f5f3 100644 --- a/ospfd/ospf_dump.h +++ b/ospfd/ospf_dump.h @@ -121,7 +121,6 @@ extern unsigned long term_debug_ospf_zebra;  extern unsigned long term_debug_ospf_nssa;  /* Message Strings. */ -extern const char *ospf_packet_type_str[];  extern char *ospf_lsa_type_str[];  /* Prototypes. */ diff --git a/ospfd/ospf_packet.c b/ospfd/ospf_packet.c index b714c27de0..a8102da42e 100644 --- a/ospfd/ospf_packet.c +++ b/ospfd/ospf_packet.c @@ -50,15 +50,16 @@  #include "ospfd/ospf_dump.h"  /* Packet Type String. */ -const char *ospf_packet_type_str[] = -{ -  "unknown", -  "Hello", -  "Database Description", -  "Link State Request", -  "Link State Update", -  "Link State Acknowledgment", +const struct message ospf_packet_type_str[] = +{ +  { OSPF_MSG_HELLO,   "Hello"                     }, +  { OSPF_MSG_DB_DESC, "Database Description"      }, +  { OSPF_MSG_LS_REQ,  "Link State Request"        }, +  { OSPF_MSG_LS_UPD,  "Link State Update"         }, +  { OSPF_MSG_LS_ACK,  "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 */  static int @@ -201,7 +202,7 @@ ospf_packet_add (struct ospf_interface *oi, struct ospf_packet *op)  	       "destination %s) called with NULL obuf, ignoring "  	       "(please report this bug)!\n",  	       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));        return;      } @@ -755,7 +756,7 @@ ospf_write (struct thread *thread)  	}        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 (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, "                       "dropping.", -                     ospf_packet_type_str[ospfh->type], +                     LOOKUP (ospf_packet_type_str, ospfh->type),                       inet_ntoa (iph->ip_src));          }        return; @@ -2576,7 +2577,7 @@ ospf_read (struct thread *thread)          }        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));        zlog_debug (" src [%s],", inet_ntoa (iph->ip_src));        zlog_debug (" dst [%s]", inet_ntoa (iph->ip_dst)); diff --git a/ospfd/ospf_packet.h b/ospfd/ospf_packet.h index 9a472081a6..2115f111fb 100644 --- a/ospfd/ospf_packet.h +++ b/ospfd/ospf_packet.h @@ -163,4 +163,7 @@ extern int ospf_ls_ack_timer (struct thread *);  extern int ospf_poll_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 */  | 
