File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / quagga / ospfd / ospf_dump.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 17:26:12 2012 UTC (12 years, 4 months ago) by misho
Branches: quagga, MAIN
CVS tags: v0_99_20, HEAD
quagga

    1: /*
    2:  * OSPFd dump routine.
    3:  * Copyright (C) 1999 Toshiaki Takada
    4:  *
    5:  * This file is part of GNU Zebra.
    6:  *
    7:  * GNU Zebra is free software; you can redistribute it and/or modify it
    8:  * under the terms of the GNU General Public License as published by the
    9:  * Free Software Foundation; either version 2, or (at your option) any
   10:  * later version.
   11:  *
   12:  * GNU Zebra is distributed in the hope that it will be useful, but
   13:  * WITHOUT ANY WARRANTY; without even the implied warranty of
   14:  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   15:  * General Public License for more details.
   16:  *
   17:  * You should have received a copy of the GNU General Public License
   18:  * along with GNU Zebra; see the file COPYING.  If not, write to the
   19:  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
   20:  * Boston, MA 02111-1307, USA. 
   21:  */
   22: 
   23: #ifndef _ZEBRA_OSPF_DUMP_H
   24: #define _ZEBRA_OSPF_DUMP_H
   25: 
   26: /* Debug Flags. */
   27: #define OSPF_DEBUG_HELLO	0x01
   28: #define OSPF_DEBUG_DB_DESC	0x02
   29: #define OSPF_DEBUG_LS_REQ	0x04
   30: #define OSPF_DEBUG_LS_UPD	0x08
   31: #define OSPF_DEBUG_LS_ACK	0x10
   32: #define OSPF_DEBUG_ALL		0x1f
   33: 
   34: #define OSPF_DEBUG_SEND		0x01
   35: #define OSPF_DEBUG_RECV		0x02
   36: #define OSPF_DEBUG_SEND_RECV    0x03
   37: #define OSPF_DEBUG_DETAIL	0x04
   38: 
   39: #define OSPF_DEBUG_ISM_STATUS	0x01
   40: #define OSPF_DEBUG_ISM_EVENTS	0x02
   41: #define OSPF_DEBUG_ISM_TIMERS	0x04
   42: #define OSPF_DEBUG_ISM		0x07
   43: #define OSPF_DEBUG_NSM_STATUS	0x01
   44: #define OSPF_DEBUG_NSM_EVENTS	0x02
   45: #define OSPF_DEBUG_NSM_TIMERS   0x04
   46: #define OSPF_DEBUG_NSM		0x07
   47: 
   48: #define OSPF_DEBUG_LSA_GENERATE 0x01
   49: #define OSPF_DEBUG_LSA_FLOODING	0x02
   50: #define OSPF_DEBUG_LSA_INSTALL  0x04
   51: #define OSPF_DEBUG_LSA_REFRESH  0x08
   52: #define OSPF_DEBUG_LSA		0x0F
   53: 
   54: #define OSPF_DEBUG_ZEBRA_INTERFACE     0x01
   55: #define OSPF_DEBUG_ZEBRA_REDISTRIBUTE  0x02
   56: #define OSPF_DEBUG_ZEBRA	       0x03
   57: 
   58: #define OSPF_DEBUG_EVENT        0x01
   59: #define OSPF_DEBUG_NSSA		0x02
   60: 
   61: /* Macro for setting debug option. */
   62: #define CONF_DEBUG_PACKET_ON(a, b)	    conf_debug_ospf_packet[a] |= (b)
   63: #define CONF_DEBUG_PACKET_OFF(a, b)	    conf_debug_ospf_packet[a] &= ~(b)
   64: #define TERM_DEBUG_PACKET_ON(a, b)	    term_debug_ospf_packet[a] |= (b)
   65: #define TERM_DEBUG_PACKET_OFF(a, b)	    term_debug_ospf_packet[a] &= ~(b)
   66: #define DEBUG_PACKET_ON(a, b) \
   67:     do { \
   68:       CONF_DEBUG_PACKET_ON(a, b); \
   69:       TERM_DEBUG_PACKET_ON(a, b); \
   70:     } while (0)
   71: #define DEBUG_PACKET_OFF(a, b) \
   72:     do { \
   73:       CONF_DEBUG_PACKET_OFF(a, b); \
   74:       TERM_DEBUG_PACKET_OFF(a, b); \
   75:     } while (0)
   76: 
   77: #define CONF_DEBUG_ON(a, b)	 conf_debug_ospf_ ## a |= (OSPF_DEBUG_ ## b)
   78: #define CONF_DEBUG_OFF(a, b)	 conf_debug_ospf_ ## a &= ~(OSPF_DEBUG_ ## b)
   79: #define TERM_DEBUG_ON(a, b)	 term_debug_ospf_ ## a |= (OSPF_DEBUG_ ## b)
   80: #define TERM_DEBUG_OFF(a, b)	 term_debug_ospf_ ## a &= ~(OSPF_DEBUG_ ## b)
   81: #define DEBUG_ON(a, b) \
   82:      do { \
   83:        CONF_DEBUG_ON(a, b); \
   84:        TERM_DEBUG_ON(a, b); \
   85:      } while (0)
   86: #define DEBUG_OFF(a, b) \
   87:      do { \
   88:        CONF_DEBUG_OFF(a, b); \
   89:        TERM_DEBUG_OFF(a, b); \
   90:      } while (0)
   91: 
   92: /* Macro for checking debug option. */
   93: #define IS_DEBUG_OSPF_PACKET(a, b) \
   94: 	(term_debug_ospf_packet[a] & OSPF_DEBUG_ ## b)
   95: #define IS_DEBUG_OSPF(a, b) \
   96: 	(term_debug_ospf_ ## a & OSPF_DEBUG_ ## b)
   97: #define IS_DEBUG_OSPF_EVENT IS_DEBUG_OSPF(event,EVENT)
   98: 
   99: #define IS_DEBUG_OSPF_NSSA  IS_DEBUG_OSPF(nssa,NSSA)
  100: 
  101: #define IS_CONF_DEBUG_OSPF_PACKET(a, b) \
  102: 	(conf_debug_ospf_packet[a] & OSPF_DEBUG_ ## b)
  103: #define IS_CONF_DEBUG_OSPF(a, b) \
  104: 	(conf_debug_ospf_ ## a & OSPF_DEBUG_ ## b)
  105: 
  106: #ifdef ORIGINAL_CODING
  107: #else /* ORIGINAL_CODING */
  108: struct stream;
  109: #endif /* ORIGINAL_CODING */
  110: 
  111: #define AREA_NAME(A)    ospf_area_name_string ((A))
  112: #define IF_NAME(I)      ospf_if_name_string ((I))
  113: 
  114: /* Extern debug flag. */
  115: extern unsigned long term_debug_ospf_packet[];
  116: extern unsigned long term_debug_ospf_event;
  117: extern unsigned long term_debug_ospf_ism;
  118: extern unsigned long term_debug_ospf_nsm;
  119: extern unsigned long term_debug_ospf_lsa;
  120: extern unsigned long term_debug_ospf_zebra;
  121: extern unsigned long term_debug_ospf_nssa;
  122: 
  123: /* Message Strings. */
  124: extern const char *ospf_packet_type_str[];
  125: extern char *ospf_lsa_type_str[];
  126: 
  127: /* Prototypes. */
  128: extern const char *ospf_area_name_string (struct ospf_area *);
  129: extern const char *ospf_area_desc_string (struct ospf_area *);
  130: extern const char *ospf_if_name_string (struct ospf_interface *);
  131: extern void ospf_nbr_state_message (struct ospf_neighbor *, char *, size_t);
  132: extern char *ospf_options_dump (u_char);
  133: extern const char *ospf_timer_dump (struct thread *, char *, size_t);
  134: extern const char *ospf_timeval_dump (struct timeval *, char *, size_t);
  135: extern void ospf_ip_header_dump (struct ip *);
  136: extern void ospf_packet_dump (struct stream *);
  137: extern void ospf_lsa_header_dump (struct lsa_header *);
  138: extern void debug_init (void);
  139: 
  140: /* Appropriate buffer size to use with ospf_timer_dump and ospf_timeval_dump: */
  141: #define OSPF_TIME_DUMP_SIZE	16
  142: 
  143: #endif /* _ZEBRA_OSPF_DUMP_H */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>