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

    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>