2 * Zebra debug related function
3 * Copyright (C) 1999 Kunihiro Ishiguro
5 * This file is part of GNU Zebra.
7 * GNU Zebra is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License as published by the
9 * Free Software Foundation; either version 2, or (at your option) any
12 * GNU Zebra is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * General Public License for more details.
17 * You should have received a copy of the GNU General Public License along
18 * with this program; see the file COPYING; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
26 #ifndef VTYSH_EXTRACT_PL
27 #include "zebra/debug_clippy.c"
30 /* For debug statement. */
31 unsigned long zebra_debug_event
;
32 unsigned long zebra_debug_packet
;
33 unsigned long zebra_debug_kernel
;
34 unsigned long zebra_debug_rib
;
35 unsigned long zebra_debug_fpm
;
36 unsigned long zebra_debug_nht
;
37 unsigned long zebra_debug_mpls
;
38 unsigned long zebra_debug_vxlan
;
39 unsigned long zebra_debug_pw
;
40 unsigned long zebra_debug_dplane
;
41 unsigned long zebra_debug_mlag
;
42 unsigned long zebra_debug_nexthop
;
43 unsigned long zebra_debug_evpn_mh
;
44 unsigned long zebra_debug_pbr
;
46 DEFINE_HOOK(zebra_debug_show_debugging
, (struct vty
*vty
), (vty
));
48 DEFUN_NOSH (show_debugging_zebra
,
49 show_debugging_zebra_cmd
,
50 "show debugging [zebra]",
52 "Debugging information\n"
53 "Zebra configuration\n")
55 vty_out(vty
, "Zebra debugging status:\n");
57 if (IS_ZEBRA_DEBUG_EVENT
)
58 vty_out(vty
, " Zebra event debugging is on\n");
60 if (IS_ZEBRA_DEBUG_PACKET
) {
61 if (IS_ZEBRA_DEBUG_SEND
&& IS_ZEBRA_DEBUG_RECV
) {
62 vty_out(vty
, " Zebra packet%s debugging is on\n",
63 IS_ZEBRA_DEBUG_DETAIL
? " detail" : "");
65 if (IS_ZEBRA_DEBUG_SEND
)
67 " Zebra packet send%s debugging is on\n",
68 IS_ZEBRA_DEBUG_DETAIL
? " detail" : "");
71 " Zebra packet receive%s debugging is on\n",
72 IS_ZEBRA_DEBUG_DETAIL
? " detail" : "");
76 if (IS_ZEBRA_DEBUG_KERNEL
)
77 vty_out(vty
, " Zebra kernel debugging is on\n");
78 if (IS_ZEBRA_DEBUG_KERNEL_MSGDUMP_SEND
)
80 " Zebra kernel netlink message dumps (send) are on\n");
81 if (IS_ZEBRA_DEBUG_KERNEL_MSGDUMP_RECV
)
83 " Zebra kernel netlink message dumps (recv) are on\n");
85 /* Check here using flags as the 'macro' does an OR */
86 if (CHECK_FLAG(zebra_debug_rib
, ZEBRA_DEBUG_RIB_DETAILED
))
87 vty_out(vty
, " Zebra RIB detailed debugging is on\n");
88 else if (CHECK_FLAG(zebra_debug_rib
, ZEBRA_DEBUG_RIB
))
89 vty_out(vty
, " Zebra RIB debugging is on\n");
91 if (IS_ZEBRA_DEBUG_FPM
)
92 vty_out(vty
, " Zebra FPM debugging is on\n");
93 if (IS_ZEBRA_DEBUG_NHT_DETAILED
)
94 vty_out(vty
, " Zebra detailed next-hop tracking debugging is on\n");
95 else if (IS_ZEBRA_DEBUG_NHT
)
96 vty_out(vty
, " Zebra next-hop tracking debugging is on\n");
97 if (IS_ZEBRA_DEBUG_MPLS
)
98 vty_out(vty
, " Zebra MPLS debugging is on\n");
99 if (IS_ZEBRA_DEBUG_VXLAN
)
100 vty_out(vty
, " Zebra VXLAN debugging is on\n");
101 if (IS_ZEBRA_DEBUG_PW
)
102 vty_out(vty
, " Zebra pseudowire debugging is on\n");
103 if (IS_ZEBRA_DEBUG_DPLANE_DETAIL
)
104 vty_out(vty
, " Zebra detailed dataplane debugging is on\n");
105 else if (IS_ZEBRA_DEBUG_DPLANE
)
106 vty_out(vty
, " Zebra dataplane debugging is on\n");
107 if (IS_ZEBRA_DEBUG_MLAG
)
108 vty_out(vty
, " Zebra mlag debugging is on\n");
109 if (IS_ZEBRA_DEBUG_NHG_DETAIL
)
110 vty_out(vty
, " Zebra detailed nexthop debugging is on\n");
111 else if (IS_ZEBRA_DEBUG_NHG
)
112 vty_out(vty
, " Zebra nexthop debugging is on\n");
114 if (IS_ZEBRA_DEBUG_EVPN_MH_ES
)
115 vty_out(vty
, " Zebra EVPN-MH ethernet segment debugging is on\n");
117 if (IS_ZEBRA_DEBUG_EVPN_MH_NH
)
118 vty_out(vty
, " Zebra EVPN-MH nexthop debugging is on\n");
120 if (IS_ZEBRA_DEBUG_EVPN_MH_MAC
)
121 vty_out(vty
, " Zebra EVPN-MH MAC debugging is on\n");
123 if (IS_ZEBRA_DEBUG_EVPN_MH_NEIGH
)
124 vty_out(vty
, " Zebra EVPN-MH Neigh debugging is on\n");
126 if (IS_ZEBRA_DEBUG_PBR
)
127 vty_out(vty
, " Zebra PBR debugging is on\n");
129 hook_call(zebra_debug_show_debugging
, vty
);
133 DEFUN (debug_zebra_events
,
134 debug_zebra_events_cmd
,
135 "debug zebra events",
137 "Zebra configuration\n"
138 "Debug option set for zebra events\n")
140 zebra_debug_event
= ZEBRA_DEBUG_EVENT
;
144 DEFUN (debug_zebra_nht
,
146 "debug zebra nht [detailed]",
148 "Zebra configuration\n"
149 "Debug option set for zebra next hop tracking\n"
150 "Debug option set for detailed info\n")
154 zebra_debug_nht
= ZEBRA_DEBUG_NHT
;
156 if (argv_find(argv
, argc
, "detailed", &idx
))
157 zebra_debug_nht
|= ZEBRA_DEBUG_NHT_DETAILED
;
162 DEFUN (debug_zebra_mpls
,
163 debug_zebra_mpls_cmd
,
166 "Zebra configuration\n"
167 "Debug option set for zebra MPLS LSPs\n")
169 zebra_debug_mpls
= ZEBRA_DEBUG_MPLS
;
173 DEFUN (debug_zebra_vxlan
,
174 debug_zebra_vxlan_cmd
,
177 "Zebra configuration\n"
178 "Debug option set for zebra VxLAN (EVPN)\n")
180 zebra_debug_vxlan
= ZEBRA_DEBUG_VXLAN
;
184 DEFUN (debug_zebra_pw
,
186 "[no] debug zebra pseudowires",
189 "Zebra configuration\n"
190 "Debug option set for zebra pseudowires\n")
192 if (strmatch(argv
[0]->text
, "no"))
193 UNSET_FLAG(zebra_debug_pw
, ZEBRA_DEBUG_PW
);
195 SET_FLAG(zebra_debug_pw
, ZEBRA_DEBUG_PW
);
199 DEFUN (debug_zebra_packet
,
200 debug_zebra_packet_cmd
,
201 "debug zebra packet [<recv|send>] [detail]",
203 "Zebra configuration\n"
204 "Debug option set for zebra packet\n"
205 "Debug option set for receive packet\n"
206 "Debug option set for send packet\n"
207 "Debug option set for detailed info\n")
210 zebra_debug_packet
= ZEBRA_DEBUG_PACKET
;
212 if (argv_find(argv
, argc
, "send", &idx
))
213 SET_FLAG(zebra_debug_packet
, ZEBRA_DEBUG_SEND
);
214 else if (argv_find(argv
, argc
, "recv", &idx
))
215 SET_FLAG(zebra_debug_packet
, ZEBRA_DEBUG_RECV
);
217 SET_FLAG(zebra_debug_packet
, ZEBRA_DEBUG_SEND
);
218 SET_FLAG(zebra_debug_packet
, ZEBRA_DEBUG_RECV
);
221 if (argv_find(argv
, argc
, "detail", &idx
))
222 SET_FLAG(zebra_debug_packet
, ZEBRA_DEBUG_DETAIL
);
227 DEFUN (debug_zebra_kernel
,
228 debug_zebra_kernel_cmd
,
229 "debug zebra kernel",
231 "Zebra configuration\n"
232 "Debug option set for zebra between kernel interface\n")
234 SET_FLAG(zebra_debug_kernel
, ZEBRA_DEBUG_KERNEL
);
236 if (IS_ZEBRA_DEBUG_KERNEL_MSGDUMP_RECV
)
237 UNSET_FLAG(zebra_debug_kernel
, ZEBRA_DEBUG_KERNEL_MSGDUMP_RECV
);
239 if (IS_ZEBRA_DEBUG_KERNEL_MSGDUMP_SEND
)
240 UNSET_FLAG(zebra_debug_kernel
, ZEBRA_DEBUG_KERNEL_MSGDUMP_SEND
);
245 DEFUN (debug_zebra_kernel_msgdump
,
246 debug_zebra_kernel_msgdump_cmd
,
247 "debug zebra kernel msgdump [<recv|send>]",
249 "Zebra configuration\n"
250 "Debug option set for zebra between kernel interface\n"
251 "Dump raw netlink messages, sent and received\n"
252 "Dump raw netlink messages received\n"
253 "Dump raw netlink messages sent\n")
257 if (argv_find(argv
, argc
, "recv", &idx
)) {
258 SET_FLAG(zebra_debug_kernel
, ZEBRA_DEBUG_KERNEL_MSGDUMP_RECV
);
260 if (IS_ZEBRA_DEBUG_KERNEL_MSGDUMP_SEND
)
261 UNSET_FLAG(zebra_debug_kernel
,
262 ZEBRA_DEBUG_KERNEL_MSGDUMP_SEND
);
264 } else if (argv_find(argv
, argc
, "send", &idx
)) {
265 SET_FLAG(zebra_debug_kernel
, ZEBRA_DEBUG_KERNEL_MSGDUMP_SEND
);
267 if (IS_ZEBRA_DEBUG_KERNEL_MSGDUMP_RECV
)
268 UNSET_FLAG(zebra_debug_kernel
,
269 ZEBRA_DEBUG_KERNEL_MSGDUMP_RECV
);
272 SET_FLAG(zebra_debug_kernel
, ZEBRA_DEBUG_KERNEL_MSGDUMP_RECV
);
273 SET_FLAG(zebra_debug_kernel
, ZEBRA_DEBUG_KERNEL_MSGDUMP_SEND
);
279 DEFUN (debug_zebra_rib
,
281 "debug zebra rib [detailed]",
283 "Zebra configuration\n"
288 SET_FLAG(zebra_debug_rib
, ZEBRA_DEBUG_RIB
);
290 if (argv_find(argv
, argc
, "detailed", &idx
))
291 SET_FLAG(zebra_debug_rib
, ZEBRA_DEBUG_RIB_DETAILED
);
296 DEFUN (debug_zebra_fpm
,
300 "Zebra configuration\n"
301 "Debug zebra FPM events\n")
303 SET_FLAG(zebra_debug_fpm
, ZEBRA_DEBUG_FPM
);
307 DEFUN (debug_zebra_dplane
,
308 debug_zebra_dplane_cmd
,
309 "debug zebra dplane [detailed]",
311 "Zebra configuration\n"
312 "Debug zebra dataplane events\n"
313 "Detailed debug information\n")
317 SET_FLAG(zebra_debug_dplane
, ZEBRA_DEBUG_DPLANE
);
319 if (argv_find(argv
, argc
, "detailed", &idx
))
320 SET_FLAG(zebra_debug_dplane
, ZEBRA_DEBUG_DPLANE_DETAILED
);
325 DEFUN (debug_zebra_pbr
,
329 "Zebra configuration\n"
330 "Debug zebra pbr events\n")
332 SET_FLAG(zebra_debug_pbr
, ZEBRA_DEBUG_PBR
);
336 DEFPY (debug_zebra_mlag
,
337 debug_zebra_mlag_cmd
,
338 "[no$no] debug zebra mlag",
341 "Zebra configuration\n"
342 "Debug option set for mlag events\n")
345 UNSET_FLAG(zebra_debug_mlag
, ZEBRA_DEBUG_MLAG
);
347 SET_FLAG(zebra_debug_mlag
, ZEBRA_DEBUG_MLAG
);
351 DEFPY (debug_zebra_evpn_mh
,
352 debug_zebra_evpn_mh_cmd
,
353 "[no$no] debug zebra evpn mh <es$es|mac$mac|neigh$neigh|nh$nh>",
356 "Zebra configuration\n"
359 "Ethernet Segment Debugging\n"
362 "Nexthop Debugging\n")
366 UNSET_FLAG(zebra_debug_evpn_mh
, ZEBRA_DEBUG_EVPN_MH_ES
);
368 SET_FLAG(zebra_debug_evpn_mh
, ZEBRA_DEBUG_EVPN_MH_ES
);
373 UNSET_FLAG(zebra_debug_evpn_mh
,
374 ZEBRA_DEBUG_EVPN_MH_MAC
);
376 SET_FLAG(zebra_debug_evpn_mh
, ZEBRA_DEBUG_EVPN_MH_MAC
);
381 UNSET_FLAG(zebra_debug_evpn_mh
,
382 ZEBRA_DEBUG_EVPN_MH_NEIGH
);
384 SET_FLAG(zebra_debug_evpn_mh
,
385 ZEBRA_DEBUG_EVPN_MH_NEIGH
);
390 UNSET_FLAG(zebra_debug_evpn_mh
, ZEBRA_DEBUG_EVPN_MH_NH
);
392 SET_FLAG(zebra_debug_evpn_mh
, ZEBRA_DEBUG_EVPN_MH_NH
);
398 DEFUN (no_debug_zebra_events
,
399 no_debug_zebra_events_cmd
,
400 "no debug zebra events",
403 "Zebra configuration\n"
404 "Debug option set for zebra events\n")
406 zebra_debug_event
= 0;
410 DEFUN (no_debug_zebra_nht
,
411 no_debug_zebra_nht_cmd
,
412 "no debug zebra nht [detailed]",
415 "Zebra configuration\n"
416 "Debug option set for zebra next hop tracking\n"
417 "Debug option set for detailed info\n")
423 DEFUN (no_debug_zebra_mpls
,
424 no_debug_zebra_mpls_cmd
,
425 "no debug zebra mpls",
428 "Zebra configuration\n"
429 "Debug option set for zebra MPLS LSPs\n")
431 zebra_debug_mpls
= 0;
435 DEFUN (no_debug_zebra_vxlan
,
436 no_debug_zebra_vxlan_cmd
,
437 "no debug zebra vxlan",
440 "Zebra configuration\n"
441 "Debug option set for zebra VxLAN (EVPN)\n")
443 zebra_debug_vxlan
= 0;
447 DEFUN (no_debug_zebra_packet
,
448 no_debug_zebra_packet_cmd
,
449 "no debug zebra packet [<recv|send>] [detail]",
452 "Zebra configuration\n"
453 "Debug option set for zebra packet\n"
454 "Debug option set for receive packet\n"
455 "Debug option set for send packet\n"
456 "Debug option set for detailed info\n")
458 zebra_debug_packet
= 0;
462 DEFUN (no_debug_zebra_kernel
,
463 no_debug_zebra_kernel_cmd
,
464 "no debug zebra kernel",
467 "Zebra configuration\n"
468 "Debug option set for zebra between kernel interface\n")
470 zebra_debug_kernel
= 0;
474 DEFUN (no_debug_zebra_kernel_msgdump
,
475 no_debug_zebra_kernel_msgdump_cmd
,
476 "no debug zebra kernel msgdump [<recv|send>]",
479 "Zebra configuration\n"
480 "Debug option set for zebra between kernel interface\n"
481 "Dump raw netlink messages, sent and received\n"
482 "Dump raw netlink messages received\n"
483 "Dump raw netlink messages sent\n")
485 zebra_debug_kernel
= 0;
489 DEFUN (no_debug_zebra_rib
,
490 no_debug_zebra_rib_cmd
,
491 "no debug zebra rib [detailed]",
494 "Zebra configuration\n"
502 DEFUN (no_debug_zebra_fpm
,
503 no_debug_zebra_fpm_cmd
,
504 "no debug zebra fpm",
507 "Zebra configuration\n"
508 "Debug zebra FPM events\n")
514 DEFUN (no_debug_zebra_dplane
,
515 no_debug_zebra_dplane_cmd
,
516 "no debug zebra dplane",
519 "Zebra configuration\n"
520 "Debug zebra dataplane events\n")
522 zebra_debug_dplane
= 0;
526 DEFUN (no_debug_zebra_pbr
,
527 no_debug_zebra_pbr_cmd
,
528 "no debug zebra pbr",
531 "Zebra configuration\n"
532 "Debug zebra pbr events\n")
538 DEFPY (debug_zebra_nexthop
,
539 debug_zebra_nexthop_cmd
,
540 "[no$no] debug zebra nexthop [detail$detail]",
543 "Zebra configuration\n"
544 "Debug zebra nexthop events\n"
545 "Detailed information\n")
548 zebra_debug_nexthop
= 0;
550 SET_FLAG(zebra_debug_nexthop
, ZEBRA_DEBUG_NHG
);
553 SET_FLAG(zebra_debug_nexthop
,
554 ZEBRA_DEBUG_NHG_DETAILED
);
561 static int config_write_debug(struct vty
*vty
);
562 struct cmd_node debug_node
= {
566 .config_write
= config_write_debug
,
569 static int config_write_debug(struct vty
*vty
)
573 if (IS_ZEBRA_DEBUG_EVENT
) {
574 vty_out(vty
, "debug zebra events\n");
577 if (IS_ZEBRA_DEBUG_PACKET
) {
578 if (IS_ZEBRA_DEBUG_SEND
&& IS_ZEBRA_DEBUG_RECV
) {
579 vty_out(vty
, "debug zebra packet%s\n",
580 IS_ZEBRA_DEBUG_DETAIL
? " detail" : "");
583 if (IS_ZEBRA_DEBUG_SEND
)
584 vty_out(vty
, "debug zebra packet send%s\n",
585 IS_ZEBRA_DEBUG_DETAIL
? " detail" : "");
587 vty_out(vty
, "debug zebra packet recv%s\n",
588 IS_ZEBRA_DEBUG_DETAIL
? " detail" : "");
593 if (IS_ZEBRA_DEBUG_KERNEL
) {
594 if (IS_ZEBRA_DEBUG_KERNEL_MSGDUMP_SEND
595 && IS_ZEBRA_DEBUG_KERNEL_MSGDUMP_RECV
) {
596 vty_out(vty
, "debug zebra kernel msgdump\n");
598 } else if (IS_ZEBRA_DEBUG_KERNEL_MSGDUMP_RECV
) {
599 vty_out(vty
, "debug zebra kernel msgdump recv\n");
601 } else if (IS_ZEBRA_DEBUG_KERNEL_MSGDUMP_SEND
) {
602 vty_out(vty
, "debug zebra kernel msgdump send\n");
605 vty_out(vty
, "debug zebra kernel\n");
610 if (CHECK_FLAG(zebra_debug_rib
, ZEBRA_DEBUG_RIB_DETAILED
)) {
611 vty_out(vty
, "debug zebra rib detailed\n");
613 } else if (CHECK_FLAG(zebra_debug_rib
, ZEBRA_DEBUG_RIB
)) {
614 vty_out(vty
, "debug zebra rib\n");
618 if (IS_ZEBRA_DEBUG_FPM
) {
619 vty_out(vty
, "debug zebra fpm\n");
623 if (IS_ZEBRA_DEBUG_NHT_DETAILED
) {
624 vty_out(vty
, "debug zebra nht detailed\n");
626 } else if (IS_ZEBRA_DEBUG_NHT
) {
627 vty_out(vty
, "debug zebra nht\n");
631 if (IS_ZEBRA_DEBUG_MPLS
) {
632 vty_out(vty
, "debug zebra mpls\n");
635 if (IS_ZEBRA_DEBUG_VXLAN
) {
636 vty_out(vty
, "debug zebra vxlan\n");
639 if (IS_ZEBRA_DEBUG_MLAG
) {
640 vty_out(vty
, "debug zebra mlag\n");
643 if (IS_ZEBRA_DEBUG_EVPN_MH_ES
) {
644 vty_out(vty
, "debug zebra evpn mh es\n");
647 if (IS_ZEBRA_DEBUG_EVPN_MH_NH
) {
648 vty_out(vty
, "debug zebra evpn mh nh\n");
651 if (IS_ZEBRA_DEBUG_EVPN_MH_MAC
) {
652 vty_out(vty
, "debug zebra evpn mh mac\n");
655 if (IS_ZEBRA_DEBUG_EVPN_MH_NEIGH
) {
656 vty_out(vty
, "debug zebra evpn mh neigh\n");
659 if (IS_ZEBRA_DEBUG_PW
) {
660 vty_out(vty
, "debug zebra pseudowires\n");
664 if (CHECK_FLAG(zebra_debug_dplane
, ZEBRA_DEBUG_DPLANE_DETAILED
)) {
665 vty_out(vty
, "debug zebra dplane detailed\n");
667 } else if (CHECK_FLAG(zebra_debug_dplane
, ZEBRA_DEBUG_DPLANE
)) {
668 vty_out(vty
, "debug zebra dplane\n");
672 if (CHECK_FLAG(zebra_debug_nexthop
, ZEBRA_DEBUG_NHG_DETAILED
)) {
673 vty_out(vty
, "debug zebra nexthop detail\n");
675 } else if (CHECK_FLAG(zebra_debug_nexthop
, ZEBRA_DEBUG_NHG
)) {
676 vty_out(vty
, "debug zebra nexthop\n");
680 if (IS_ZEBRA_DEBUG_PBR
) {
681 vty_out(vty
, "debug zebra pbr\n");
688 void zebra_debug_init(void)
690 zebra_debug_event
= 0;
691 zebra_debug_packet
= 0;
692 zebra_debug_kernel
= 0;
695 zebra_debug_mpls
= 0;
696 zebra_debug_vxlan
= 0;
698 zebra_debug_dplane
= 0;
699 zebra_debug_mlag
= 0;
700 zebra_debug_evpn_mh
= 0;
702 zebra_debug_nexthop
= 0;
705 install_node(&debug_node
);
707 install_element(ENABLE_NODE
, &show_debugging_zebra_cmd
);
709 install_element(ENABLE_NODE
, &debug_zebra_events_cmd
);
710 install_element(ENABLE_NODE
, &debug_zebra_nht_cmd
);
711 install_element(ENABLE_NODE
, &debug_zebra_mpls_cmd
);
712 install_element(ENABLE_NODE
, &debug_zebra_vxlan_cmd
);
713 install_element(ENABLE_NODE
, &debug_zebra_pw_cmd
);
714 install_element(ENABLE_NODE
, &debug_zebra_packet_cmd
);
715 install_element(ENABLE_NODE
, &debug_zebra_kernel_cmd
);
716 install_element(ENABLE_NODE
, &debug_zebra_kernel_msgdump_cmd
);
717 install_element(ENABLE_NODE
, &debug_zebra_rib_cmd
);
718 install_element(ENABLE_NODE
, &debug_zebra_fpm_cmd
);
719 install_element(ENABLE_NODE
, &debug_zebra_dplane_cmd
);
720 install_element(ENABLE_NODE
, &debug_zebra_mlag_cmd
);
721 install_element(ENABLE_NODE
, &debug_zebra_nexthop_cmd
);
722 install_element(ENABLE_NODE
, &debug_zebra_pbr_cmd
);
723 install_element(ENABLE_NODE
, &no_debug_zebra_events_cmd
);
724 install_element(ENABLE_NODE
, &no_debug_zebra_nht_cmd
);
725 install_element(ENABLE_NODE
, &no_debug_zebra_mpls_cmd
);
726 install_element(ENABLE_NODE
, &no_debug_zebra_vxlan_cmd
);
727 install_element(ENABLE_NODE
, &no_debug_zebra_packet_cmd
);
728 install_element(ENABLE_NODE
, &no_debug_zebra_kernel_cmd
);
729 install_element(ENABLE_NODE
, &no_debug_zebra_kernel_msgdump_cmd
);
730 install_element(ENABLE_NODE
, &no_debug_zebra_rib_cmd
);
731 install_element(ENABLE_NODE
, &no_debug_zebra_fpm_cmd
);
732 install_element(ENABLE_NODE
, &no_debug_zebra_dplane_cmd
);
733 install_element(ENABLE_NODE
, &no_debug_zebra_pbr_cmd
);
734 install_element(ENABLE_NODE
, &debug_zebra_evpn_mh_cmd
);
736 install_element(CONFIG_NODE
, &debug_zebra_events_cmd
);
737 install_element(CONFIG_NODE
, &debug_zebra_nht_cmd
);
738 install_element(CONFIG_NODE
, &debug_zebra_mpls_cmd
);
739 install_element(CONFIG_NODE
, &debug_zebra_vxlan_cmd
);
740 install_element(CONFIG_NODE
, &debug_zebra_pw_cmd
);
741 install_element(CONFIG_NODE
, &debug_zebra_packet_cmd
);
742 install_element(CONFIG_NODE
, &debug_zebra_kernel_cmd
);
743 install_element(CONFIG_NODE
, &debug_zebra_kernel_msgdump_cmd
);
744 install_element(CONFIG_NODE
, &debug_zebra_rib_cmd
);
745 install_element(CONFIG_NODE
, &debug_zebra_fpm_cmd
);
746 install_element(CONFIG_NODE
, &debug_zebra_dplane_cmd
);
747 install_element(CONFIG_NODE
, &debug_zebra_nexthop_cmd
);
748 install_element(CONFIG_NODE
, &debug_zebra_pbr_cmd
);
750 install_element(CONFIG_NODE
, &no_debug_zebra_events_cmd
);
751 install_element(CONFIG_NODE
, &no_debug_zebra_nht_cmd
);
752 install_element(CONFIG_NODE
, &no_debug_zebra_mpls_cmd
);
753 install_element(CONFIG_NODE
, &no_debug_zebra_vxlan_cmd
);
754 install_element(CONFIG_NODE
, &no_debug_zebra_packet_cmd
);
755 install_element(CONFIG_NODE
, &no_debug_zebra_kernel_cmd
);
756 install_element(CONFIG_NODE
, &no_debug_zebra_kernel_msgdump_cmd
);
757 install_element(CONFIG_NODE
, &no_debug_zebra_rib_cmd
);
758 install_element(CONFIG_NODE
, &no_debug_zebra_fpm_cmd
);
759 install_element(CONFIG_NODE
, &no_debug_zebra_dplane_cmd
);
760 install_element(CONFIG_NODE
, &no_debug_zebra_pbr_cmd
);
761 install_element(CONFIG_NODE
, &debug_zebra_mlag_cmd
);
762 install_element(CONFIG_NODE
, &debug_zebra_evpn_mh_cmd
);