bgp_debug.h
上传用户:xiaozhuqw
上传日期:2009-11-15
资源大小:1338k
文件大小:3k
源码类别:

网络

开发平台:

Unix_Linux

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