]> git.proxmox.com Git - mirror_frr.git/blame - zebra/debug.h
Merge pull request #12798 from donaldsharp/rib_match_multicast
[mirror_frr.git] / zebra / debug.h
CommitLineData
acddc0ed 1// SPDX-License-Identifier: GPL-2.0-or-later
718e3744 2/*
3 * Zebra debug related function
4 * Copyright (C) 1999 Kunihiro Ishiguro
718e3744 5 */
6
7#ifndef _ZEBRA_DEBUG_H
8#define _ZEBRA_DEBUG_H
9
43e52561
QY
10#include "lib/vty.h"
11
51e94aa7
EDP
12#ifdef __cplusplus
13extern "C" {
14#endif
15
718e3744 16/* Debug flags. */
17#define ZEBRA_DEBUG_EVENT 0x01
18
19#define ZEBRA_DEBUG_PACKET 0x01
20#define ZEBRA_DEBUG_SEND 0x20
21#define ZEBRA_DEBUG_RECV 0x40
22#define ZEBRA_DEBUG_DETAIL 0x80
23
24#define ZEBRA_DEBUG_KERNEL 0x01
556b904e
QY
25#define ZEBRA_DEBUG_KERNEL_MSGDUMP_SEND 0x20
26#define ZEBRA_DEBUG_KERNEL_MSGDUMP_RECV 0x40
718e3744 27
b0498dc6 28#define ZEBRA_DEBUG_RIB 0x01
41ec9222 29#define ZEBRA_DEBUG_RIB_DETAILED 0x02
b0498dc6 30
5adc2528 31#define ZEBRA_DEBUG_FPM 0x01
50872b08
DS
32
33#define ZEBRA_DEBUG_NHT 0x01
34#define ZEBRA_DEBUG_NHT_DETAILED 0x02
5adc2528 35
04dda092
MS
36#define ZEBRA_DEBUG_MPLS 0x01
37#define ZEBRA_DEBUG_MPLS_DETAILED 0x02
7758e3f3 38
13d60d35 39#define ZEBRA_DEBUG_VXLAN 0x01
40
6833ae01 41#define ZEBRA_DEBUG_PW 0x01
42
6582b002
MS
43#define ZEBRA_DEBUG_DPLANE 0x01
44#define ZEBRA_DEBUG_DPLANE_DETAILED 0x02
45
36c3b296
AK
46#define ZEBRA_DEBUG_DPLANE_DPDK 0x01
47#define ZEBRA_DEBUG_DPLANE_DPDK_DETAIL 0x02
48
23666725
DS
49#define ZEBRA_DEBUG_MLAG 0x01
50
d4b4b70c
MS
51#define ZEBRA_DEBUG_NHG 0x01
52#define ZEBRA_DEBUG_NHG_DETAILED 0x02
53
94eb1635
AK
54#define ZEBRA_DEBUG_EVPN_MH_ES 0x01
55#define ZEBRA_DEBUG_EVPN_MH_NH 0x02
f188e68e
AK
56#define ZEBRA_DEBUG_EVPN_MH_MAC 0x04
57#define ZEBRA_DEBUG_EVPN_MH_NEIGH 0x08
94eb1635 58
8eeca5a2
SW
59#define ZEBRA_DEBUG_PBR 0x01
60
4cf4fad1
AK
61#define ZEBRA_DEBUG_NEIGH 0x01
62
c317d3f2
SY
63#define ZEBRA_DEBUG_TC 0x01
64
718e3744 65/* Debug related macro. */
66#define IS_ZEBRA_DEBUG_EVENT (zebra_debug_event & ZEBRA_DEBUG_EVENT)
67
68#define IS_ZEBRA_DEBUG_PACKET (zebra_debug_packet & ZEBRA_DEBUG_PACKET)
69#define IS_ZEBRA_DEBUG_SEND (zebra_debug_packet & ZEBRA_DEBUG_SEND)
70#define IS_ZEBRA_DEBUG_RECV (zebra_debug_packet & ZEBRA_DEBUG_RECV)
71#define IS_ZEBRA_DEBUG_DETAIL (zebra_debug_packet & ZEBRA_DEBUG_DETAIL)
72
73#define IS_ZEBRA_DEBUG_KERNEL (zebra_debug_kernel & ZEBRA_DEBUG_KERNEL)
d62a17ae 74#define IS_ZEBRA_DEBUG_KERNEL_MSGDUMP_SEND \
75 (zebra_debug_kernel & ZEBRA_DEBUG_KERNEL_MSGDUMP_SEND)
76#define IS_ZEBRA_DEBUG_KERNEL_MSGDUMP_RECV \
77 (zebra_debug_kernel & ZEBRA_DEBUG_KERNEL_MSGDUMP_RECV)
718e3744 78
d62a17ae 79#define IS_ZEBRA_DEBUG_RIB \
80 (zebra_debug_rib & (ZEBRA_DEBUG_RIB | ZEBRA_DEBUG_RIB_DETAILED))
41ec9222 81#define IS_ZEBRA_DEBUG_RIB_DETAILED (zebra_debug_rib & ZEBRA_DEBUG_RIB_DETAILED)
b0498dc6 82
5adc2528 83#define IS_ZEBRA_DEBUG_FPM (zebra_debug_fpm & ZEBRA_DEBUG_FPM)
50872b08 84
fb018d25 85#define IS_ZEBRA_DEBUG_NHT (zebra_debug_nht & ZEBRA_DEBUG_NHT)
50872b08
DS
86#define IS_ZEBRA_DEBUG_NHT_DETAILED (zebra_debug_nht & ZEBRA_DEBUG_NHT_DETAILED)
87
7758e3f3 88#define IS_ZEBRA_DEBUG_MPLS (zebra_debug_mpls & ZEBRA_DEBUG_MPLS)
04dda092
MS
89#define IS_ZEBRA_DEBUG_MPLS_DETAIL \
90 (zebra_debug_mpls & ZEBRA_DEBUG_MPLS_DETAILED)
13d60d35 91#define IS_ZEBRA_DEBUG_VXLAN (zebra_debug_vxlan & ZEBRA_DEBUG_VXLAN)
6833ae01 92#define IS_ZEBRA_DEBUG_PW (zebra_debug_pw & ZEBRA_DEBUG_PW)
5adc2528 93
6582b002
MS
94#define IS_ZEBRA_DEBUG_DPLANE (zebra_debug_dplane & ZEBRA_DEBUG_DPLANE)
95#define IS_ZEBRA_DEBUG_DPLANE_DETAIL \
96 (zebra_debug_dplane & ZEBRA_DEBUG_DPLANE_DETAILED)
97
36c3b296 98#define IS_ZEBRA_DEBUG_DPLANE_DPDK \
3edb3a64 99 (zebra_debug_dplane_dpdk & ZEBRA_DEBUG_DPLANE_DPDK)
36c3b296 100#define IS_ZEBRA_DEBUG_DPLANE_DPDK_DETAIL \
3edb3a64 101 (zebra_debug_dplane_dpdk & ZEBRA_DEBUG_DPLANE_DPDK_DETAIL)
36c3b296 102
23666725
DS
103#define IS_ZEBRA_DEBUG_MLAG (zebra_debug_mlag & ZEBRA_DEBUG_MLAG)
104
d4b4b70c
MS
105#define IS_ZEBRA_DEBUG_NHG (zebra_debug_nexthop & ZEBRA_DEBUG_NHG)
106
107#define IS_ZEBRA_DEBUG_NHG_DETAIL \
108 (zebra_debug_nexthop & ZEBRA_DEBUG_NHG_DETAILED)
109
f188e68e
AK
110#define IS_ZEBRA_DEBUG_EVPN_MH_ES \
111 (zebra_debug_evpn_mh & ZEBRA_DEBUG_EVPN_MH_ES)
112#define IS_ZEBRA_DEBUG_EVPN_MH_NH \
113 (zebra_debug_evpn_mh & ZEBRA_DEBUG_EVPN_MH_NH)
114#define IS_ZEBRA_DEBUG_EVPN_MH_MAC \
115 (zebra_debug_evpn_mh & ZEBRA_DEBUG_EVPN_MH_MAC)
116#define IS_ZEBRA_DEBUG_EVPN_MH_NEIGH \
117 (zebra_debug_evpn_mh & ZEBRA_DEBUG_EVPN_MH_NEIGH)
94eb1635 118
8eeca5a2
SW
119#define IS_ZEBRA_DEBUG_PBR (zebra_debug_pbr & ZEBRA_DEBUG_PBR)
120
4cf4fad1
AK
121#define IS_ZEBRA_DEBUG_NEIGH (zebra_debug_neigh & ZEBRA_DEBUG_NEIGH)
122
c317d3f2
SY
123#define IS_ZEBRA_DEBUG_TC (zebra_debug_tc & ZEBRA_DEBUG_TC)
124
718e3744 125extern unsigned long zebra_debug_event;
126extern unsigned long zebra_debug_packet;
127extern unsigned long zebra_debug_kernel;
b0498dc6 128extern unsigned long zebra_debug_rib;
5adc2528 129extern unsigned long zebra_debug_fpm;
fb018d25 130extern unsigned long zebra_debug_nht;
7758e3f3 131extern unsigned long zebra_debug_mpls;
13d60d35 132extern unsigned long zebra_debug_vxlan;
6833ae01 133extern unsigned long zebra_debug_pw;
6582b002 134extern unsigned long zebra_debug_dplane;
36c3b296 135extern unsigned long zebra_debug_dplane_dpdk;
23666725 136extern unsigned long zebra_debug_mlag;
d4b4b70c 137extern unsigned long zebra_debug_nexthop;
94eb1635 138extern unsigned long zebra_debug_evpn_mh;
8eeca5a2 139extern unsigned long zebra_debug_pbr;
4cf4fad1 140extern unsigned long zebra_debug_neigh;
c317d3f2 141extern unsigned long zebra_debug_tc;
718e3744 142
d62a17ae 143extern void zebra_debug_init(void);
718e3744 144
77151b6f
PG
145DECLARE_HOOK(zebra_debug_show_debugging, (struct vty *vty), (vty));
146
51e94aa7
EDP
147#ifdef __cplusplus
148}
149#endif
150
718e3744 151#endif /* _ZEBRA_DEBUG_H */