Annotation of embedaddon/quagga/bgpd/bgp_debug.h, revision 1.1.1.1
1.1 misho 1: /* BGP message debug header.
2: Copyright (C) 1996, 97, 98 Kunihiro Ishiguro
3:
4: This file is part of GNU Zebra.
5:
6: GNU Zebra is free software; you can redistribute it and/or modify it
7: under the terms of the GNU General Public License as published by the
8: Free Software Foundation; either version 2, or (at your option) any
9: later version.
10:
11: GNU Zebra is distributed in the hope that it will be useful, but
12: WITHOUT ANY WARRANTY; without even the implied warranty of
13: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14: General Public License for more details.
15:
16: You should have received a copy of the GNU General Public License
17: along with GNU Zebra; see the file COPYING. If not, write to the Free
18: Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
19: 02111-1307, USA. */
20:
21: #ifndef _QUAGGA_BGP_DEBUG_H
22: #define _QUAGGA_BGP_DEBUG_H
23:
24: #include "bgp_attr.h"
25:
26: /* sort of packet direction */
27: #define DUMP_ON 1
28: #define DUMP_SEND 2
29: #define DUMP_RECV 4
30:
31: /* for dump_update */
32: #define DUMP_WITHDRAW 8
33: #define DUMP_NLRI 16
34:
35: /* dump detail */
36: #define DUMP_DETAIL 32
37:
38: extern int dump_open;
39: extern int dump_update;
40: extern int dump_keepalive;
41: extern int dump_notify;
42:
43: extern int Debug_Event;
44: extern int Debug_Keepalive;
45: extern int Debug_Update;
46: extern int Debug_Radix;
47:
48: #define NLRI 1
49: #define WITHDRAW 2
50: #define NO_OPT 3
51: #define SEND 4
52: #define RECV 5
53: #define DETAIL 6
54:
55: /* Prototypes. */
56: extern void bgp_debug_init (void);
57: extern void bgp_packet_dump (struct stream *);
58:
59: extern int debug (unsigned int option);
60:
61: extern unsigned long conf_bgp_debug_as4;
62: extern unsigned long conf_bgp_debug_fsm;
63: extern unsigned long conf_bgp_debug_events;
64: extern unsigned long conf_bgp_debug_packet;
65: extern unsigned long conf_bgp_debug_filter;
66: extern unsigned long conf_bgp_debug_keepalive;
67: extern unsigned long conf_bgp_debug_update;
68: extern unsigned long conf_bgp_debug_normal;
69: extern unsigned long conf_bgp_debug_zebra;
70:
71: extern unsigned long term_bgp_debug_as4;
72: extern unsigned long term_bgp_debug_fsm;
73: extern unsigned long term_bgp_debug_events;
74: extern unsigned long term_bgp_debug_packet;
75: extern unsigned long term_bgp_debug_filter;
76: extern unsigned long term_bgp_debug_keepalive;
77: extern unsigned long term_bgp_debug_update;
78: extern unsigned long term_bgp_debug_normal;
79: extern unsigned long term_bgp_debug_zebra;
80:
81: #define BGP_DEBUG_AS4 0x01
82: #define BGP_DEBUG_AS4_SEGMENT 0x02
83:
84: #define BGP_DEBUG_FSM 0x01
85: #define BGP_DEBUG_EVENTS 0x01
86: #define BGP_DEBUG_PACKET 0x01
87: #define BGP_DEBUG_FILTER 0x01
88: #define BGP_DEBUG_KEEPALIVE 0x01
89: #define BGP_DEBUG_UPDATE_IN 0x01
90: #define BGP_DEBUG_UPDATE_OUT 0x02
91: #define BGP_DEBUG_NORMAL 0x01
92: #define BGP_DEBUG_ZEBRA 0x01
93:
94: #define BGP_DEBUG_PACKET_SEND 0x01
95: #define BGP_DEBUG_PACKET_SEND_DETAIL 0x02
96:
97: #define BGP_DEBUG_PACKET_RECV 0x01
98: #define BGP_DEBUG_PACKET_RECV_DETAIL 0x02
99:
100: #define CONF_DEBUG_ON(a, b) (conf_bgp_debug_ ## a |= (BGP_DEBUG_ ## b))
101: #define CONF_DEBUG_OFF(a, b) (conf_bgp_debug_ ## a &= ~(BGP_DEBUG_ ## b))
102:
103: #define TERM_DEBUG_ON(a, b) (term_bgp_debug_ ## a |= (BGP_DEBUG_ ## b))
104: #define TERM_DEBUG_OFF(a, b) (term_bgp_debug_ ## a &= ~(BGP_DEBUG_ ## b))
105:
106: #define DEBUG_ON(a, b) \
107: do { \
108: CONF_DEBUG_ON(a, b); \
109: TERM_DEBUG_ON(a, b); \
110: } while (0)
111: #define DEBUG_OFF(a, b) \
112: do { \
113: CONF_DEBUG_OFF(a, b); \
114: TERM_DEBUG_OFF(a, b); \
115: } while (0)
116:
117: #define BGP_DEBUG(a, b) (term_bgp_debug_ ## a & BGP_DEBUG_ ## b)
118: #define CONF_BGP_DEBUG(a, b) (conf_bgp_debug_ ## a & BGP_DEBUG_ ## b)
119:
120: extern const char *bgp_type_str[];
121:
122: extern int bgp_dump_attr (struct peer *, struct attr *, char *, size_t);
123: extern void bgp_notify_print (struct peer *, struct bgp_notify *, const char *);
124:
125: extern const struct message bgp_status_msg[];
126: extern const int bgp_status_msg_max;
127:
128: #endif /* _QUAGGA_BGP_DEBUG_H */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>