Annotation of embedaddon/quagga/ospfd/ospf_dump.h, revision 1.1
1.1 ! misho 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>