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>