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_DETAIL
)
98 vty_out(vty
, " Zebra detailed MPLS debugging is on\n");
99 else if (IS_ZEBRA_DEBUG_MPLS
)
100 vty_out(vty
, " Zebra MPLS debugging is on\n");
102 if (IS_ZEBRA_DEBUG_VXLAN
)
103 vty_out(vty
, " Zebra VXLAN debugging is on\n");
104 if (IS_ZEBRA_DEBUG_PW
)
105 vty_out(vty
, " Zebra pseudowire debugging is on\n");
106 if (IS_ZEBRA_DEBUG_DPLANE_DETAIL
)
107 vty_out(vty
, " Zebra detailed dataplane debugging is on\n");
108 else if (IS_ZEBRA_DEBUG_DPLANE
)
109 vty_out(vty
, " Zebra dataplane debugging is on\n");
110 if (IS_ZEBRA_DEBUG_MLAG
)
111 vty_out(vty
, " Zebra mlag debugging is on\n");
112 if (IS_ZEBRA_DEBUG_NHG_DETAIL
)
113 vty_out(vty
, " Zebra detailed nexthop debugging is on\n");
114 else if (IS_ZEBRA_DEBUG_NHG
)
115 vty_out(vty
, " Zebra nexthop debugging is on\n");
117 if (IS_ZEBRA_DEBUG_EVPN_MH_ES
)
118 vty_out(vty
, " Zebra EVPN-MH ethernet segment debugging is on\n");
120 if (IS_ZEBRA_DEBUG_EVPN_MH_NH
)
121 vty_out(vty
, " Zebra EVPN-MH nexthop debugging is on\n");
123 if (IS_ZEBRA_DEBUG_EVPN_MH_MAC
)
124 vty_out(vty
, " Zebra EVPN-MH MAC debugging is on\n");
126 if (IS_ZEBRA_DEBUG_EVPN_MH_NEIGH
)
127 vty_out(vty
, " Zebra EVPN-MH Neigh debugging is on\n");
129 if (IS_ZEBRA_DEBUG_PBR
)
130 vty_out(vty
, " Zebra PBR debugging is on\n");
132 hook_call(zebra_debug_show_debugging
, vty
);
136 DEFUN (debug_zebra_events
,
137 debug_zebra_events_cmd
,
138 "debug zebra events",
140 "Zebra configuration\n"
141 "Debug option set for zebra events\n")
143 zebra_debug_event
= ZEBRA_DEBUG_EVENT
;
147 DEFUN (debug_zebra_nht
,
149 "debug zebra nht [detailed]",
151 "Zebra configuration\n"
152 "Debug option set for zebra next hop tracking\n"
153 "Debug option set for detailed info\n")
157 zebra_debug_nht
= ZEBRA_DEBUG_NHT
;
159 if (argv_find(argv
, argc
, "detailed", &idx
))
160 zebra_debug_nht
|= ZEBRA_DEBUG_NHT_DETAILED
;
165 DEFPY (debug_zebra_mpls
,
166 debug_zebra_mpls_cmd
,
167 "debug zebra mpls [detailed$detail]",
169 "Zebra configuration\n"
170 "Debug option set for zebra MPLS LSPs\n"
171 "Debug option for detailed info\n")
173 zebra_debug_mpls
= ZEBRA_DEBUG_MPLS
;
176 zebra_debug_mpls
|= ZEBRA_DEBUG_MPLS_DETAILED
;
181 DEFPY (debug_zebra_vxlan
,
182 debug_zebra_vxlan_cmd
,
185 "Zebra configuration\n"
186 "Debug option set for zebra VxLAN (EVPN)\n")
188 zebra_debug_vxlan
= ZEBRA_DEBUG_VXLAN
;
192 DEFUN (debug_zebra_pw
,
194 "[no] debug zebra pseudowires",
197 "Zebra configuration\n"
198 "Debug option set for zebra pseudowires\n")
200 if (strmatch(argv
[0]->text
, "no"))
201 UNSET_FLAG(zebra_debug_pw
, ZEBRA_DEBUG_PW
);
203 SET_FLAG(zebra_debug_pw
, ZEBRA_DEBUG_PW
);
207 DEFUN (debug_zebra_packet
,
208 debug_zebra_packet_cmd
,
209 "debug zebra packet [<recv|send>] [detail]",
211 "Zebra configuration\n"
212 "Debug option set for zebra packet\n"
213 "Debug option set for receive packet\n"
214 "Debug option set for send packet\n"
215 "Debug option set for detailed info\n")
218 zebra_debug_packet
= ZEBRA_DEBUG_PACKET
;
220 if (argv_find(argv
, argc
, "send", &idx
))
221 SET_FLAG(zebra_debug_packet
, ZEBRA_DEBUG_SEND
);
222 else if (argv_find(argv
, argc
, "recv", &idx
))
223 SET_FLAG(zebra_debug_packet
, ZEBRA_DEBUG_RECV
);
225 SET_FLAG(zebra_debug_packet
, ZEBRA_DEBUG_SEND
);
226 SET_FLAG(zebra_debug_packet
, ZEBRA_DEBUG_RECV
);
229 if (argv_find(argv
, argc
, "detail", &idx
))
230 SET_FLAG(zebra_debug_packet
, ZEBRA_DEBUG_DETAIL
);
235 DEFUN (debug_zebra_kernel
,
236 debug_zebra_kernel_cmd
,
237 "debug zebra kernel",
239 "Zebra configuration\n"
240 "Debug option set for zebra between kernel interface\n")
242 SET_FLAG(zebra_debug_kernel
, ZEBRA_DEBUG_KERNEL
);
247 DEFUN (debug_zebra_kernel_msgdump
,
248 debug_zebra_kernel_msgdump_cmd
,
249 "debug zebra kernel msgdump [<recv|send>]",
251 "Zebra configuration\n"
252 "Debug option set for zebra between kernel interface\n"
253 "Dump raw netlink messages, sent and received\n"
254 "Dump raw netlink messages received\n"
255 "Dump raw netlink messages sent\n")
259 if (argv_find(argv
, argc
, "recv", &idx
))
260 SET_FLAG(zebra_debug_kernel
, ZEBRA_DEBUG_KERNEL_MSGDUMP_RECV
);
261 else if (argv_find(argv
, argc
, "send", &idx
))
262 SET_FLAG(zebra_debug_kernel
, ZEBRA_DEBUG_KERNEL_MSGDUMP_SEND
);
264 SET_FLAG(zebra_debug_kernel
, ZEBRA_DEBUG_KERNEL_MSGDUMP_RECV
);
265 SET_FLAG(zebra_debug_kernel
, ZEBRA_DEBUG_KERNEL_MSGDUMP_SEND
);
271 DEFUN (debug_zebra_rib
,
273 "debug zebra rib [detailed]",
275 "Zebra configuration\n"
280 SET_FLAG(zebra_debug_rib
, ZEBRA_DEBUG_RIB
);
282 if (argv_find(argv
, argc
, "detailed", &idx
))
283 SET_FLAG(zebra_debug_rib
, ZEBRA_DEBUG_RIB_DETAILED
);
288 DEFUN (debug_zebra_fpm
,
292 "Zebra configuration\n"
293 "Debug zebra FPM events\n")
295 SET_FLAG(zebra_debug_fpm
, ZEBRA_DEBUG_FPM
);
299 DEFUN (debug_zebra_dplane
,
300 debug_zebra_dplane_cmd
,
301 "debug zebra dplane [detailed]",
303 "Zebra configuration\n"
304 "Debug zebra dataplane events\n"
305 "Detailed debug information\n")
309 SET_FLAG(zebra_debug_dplane
, ZEBRA_DEBUG_DPLANE
);
311 if (argv_find(argv
, argc
, "detailed", &idx
))
312 SET_FLAG(zebra_debug_dplane
, ZEBRA_DEBUG_DPLANE_DETAILED
);
317 DEFUN (debug_zebra_pbr
,
321 "Zebra configuration\n"
322 "Debug zebra pbr events\n")
324 SET_FLAG(zebra_debug_pbr
, ZEBRA_DEBUG_PBR
);
328 DEFPY (debug_zebra_mlag
,
329 debug_zebra_mlag_cmd
,
330 "[no$no] debug zebra mlag",
333 "Zebra configuration\n"
334 "Debug option set for mlag events\n")
337 UNSET_FLAG(zebra_debug_mlag
, ZEBRA_DEBUG_MLAG
);
339 SET_FLAG(zebra_debug_mlag
, ZEBRA_DEBUG_MLAG
);
343 DEFPY (debug_zebra_evpn_mh
,
344 debug_zebra_evpn_mh_cmd
,
345 "[no$no] debug zebra evpn mh <es$es|mac$mac|neigh$neigh|nh$nh>",
348 "Zebra configuration\n"
351 "Ethernet Segment Debugging\n"
354 "Nexthop Debugging\n")
358 UNSET_FLAG(zebra_debug_evpn_mh
, ZEBRA_DEBUG_EVPN_MH_ES
);
360 SET_FLAG(zebra_debug_evpn_mh
, ZEBRA_DEBUG_EVPN_MH_ES
);
365 UNSET_FLAG(zebra_debug_evpn_mh
,
366 ZEBRA_DEBUG_EVPN_MH_MAC
);
368 SET_FLAG(zebra_debug_evpn_mh
, ZEBRA_DEBUG_EVPN_MH_MAC
);
373 UNSET_FLAG(zebra_debug_evpn_mh
,
374 ZEBRA_DEBUG_EVPN_MH_NEIGH
);
376 SET_FLAG(zebra_debug_evpn_mh
,
377 ZEBRA_DEBUG_EVPN_MH_NEIGH
);
382 UNSET_FLAG(zebra_debug_evpn_mh
, ZEBRA_DEBUG_EVPN_MH_NH
);
384 SET_FLAG(zebra_debug_evpn_mh
, ZEBRA_DEBUG_EVPN_MH_NH
);
390 DEFUN (no_debug_zebra_events
,
391 no_debug_zebra_events_cmd
,
392 "no debug zebra events",
395 "Zebra configuration\n"
396 "Debug option set for zebra events\n")
398 zebra_debug_event
= 0;
402 DEFUN (no_debug_zebra_nht
,
403 no_debug_zebra_nht_cmd
,
404 "no debug zebra nht [detailed]",
407 "Zebra configuration\n"
408 "Debug option set for zebra next hop tracking\n"
409 "Debug option set for detailed info\n")
415 DEFUN (no_debug_zebra_mpls
,
416 no_debug_zebra_mpls_cmd
,
417 "no debug zebra mpls [detailed]",
420 "Zebra configuration\n"
421 "Debug option set for zebra MPLS LSPs\n"
422 "Debug option for zebra detailed info\n")
424 zebra_debug_mpls
= 0;
428 DEFUN (no_debug_zebra_vxlan
,
429 no_debug_zebra_vxlan_cmd
,
430 "no debug zebra vxlan",
433 "Zebra configuration\n"
434 "Debug option set for zebra VxLAN (EVPN)\n")
436 zebra_debug_vxlan
= 0;
440 DEFUN (no_debug_zebra_packet
,
441 no_debug_zebra_packet_cmd
,
442 "no debug zebra packet [<recv|send>] [detail]",
445 "Zebra configuration\n"
446 "Debug option set for zebra packet\n"
447 "Debug option set for receive packet\n"
448 "Debug option set for send packet\n"
449 "Debug option set for detailed info\n")
451 zebra_debug_packet
= 0;
455 DEFUN (no_debug_zebra_kernel
,
456 no_debug_zebra_kernel_cmd
,
457 "no debug zebra kernel",
460 "Zebra configuration\n"
461 "Debug option set for zebra between kernel interface\n")
463 UNSET_FLAG(zebra_debug_kernel
, ZEBRA_DEBUG_KERNEL
);
468 DEFUN (no_debug_zebra_kernel_msgdump
,
469 no_debug_zebra_kernel_msgdump_cmd
,
470 "no debug zebra kernel msgdump [<recv|send>]",
473 "Zebra configuration\n"
474 "Debug option set for zebra between kernel interface\n"
475 "Dump raw netlink messages, sent and received\n"
476 "Dump raw netlink messages received\n"
477 "Dump raw netlink messages sent\n")
481 if (argv_find(argv
, argc
, "recv", &idx
))
482 UNSET_FLAG(zebra_debug_kernel
, ZEBRA_DEBUG_KERNEL_MSGDUMP_RECV
);
483 else if (argv_find(argv
, argc
, "send", &idx
))
484 UNSET_FLAG(zebra_debug_kernel
, ZEBRA_DEBUG_KERNEL_MSGDUMP_SEND
);
486 UNSET_FLAG(zebra_debug_kernel
, ZEBRA_DEBUG_KERNEL_MSGDUMP_RECV
);
487 UNSET_FLAG(zebra_debug_kernel
, ZEBRA_DEBUG_KERNEL_MSGDUMP_SEND
);
493 DEFUN (no_debug_zebra_rib
,
494 no_debug_zebra_rib_cmd
,
495 "no debug zebra rib [detailed]",
498 "Zebra configuration\n"
506 DEFUN (no_debug_zebra_fpm
,
507 no_debug_zebra_fpm_cmd
,
508 "no debug zebra fpm",
511 "Zebra configuration\n"
512 "Debug zebra FPM events\n")
518 DEFUN (no_debug_zebra_dplane
,
519 no_debug_zebra_dplane_cmd
,
520 "no debug zebra dplane",
523 "Zebra configuration\n"
524 "Debug zebra dataplane events\n")
526 zebra_debug_dplane
= 0;
530 DEFUN (no_debug_zebra_pbr
,
531 no_debug_zebra_pbr_cmd
,
532 "no debug zebra pbr",
535 "Zebra configuration\n"
536 "Debug zebra pbr events\n")
542 DEFPY (debug_zebra_nexthop
,
543 debug_zebra_nexthop_cmd
,
544 "[no$no] debug zebra nexthop [detail$detail]",
547 "Zebra configuration\n"
548 "Debug zebra nexthop events\n"
549 "Detailed information\n")
552 zebra_debug_nexthop
= 0;
554 SET_FLAG(zebra_debug_nexthop
, ZEBRA_DEBUG_NHG
);
557 SET_FLAG(zebra_debug_nexthop
,
558 ZEBRA_DEBUG_NHG_DETAILED
);
565 static int config_write_debug(struct vty
*vty
);
566 struct cmd_node debug_node
= {
570 .config_write
= config_write_debug
,
573 static int config_write_debug(struct vty
*vty
)
577 if (IS_ZEBRA_DEBUG_EVENT
) {
578 vty_out(vty
, "debug zebra events\n");
581 if (IS_ZEBRA_DEBUG_PACKET
) {
582 if (IS_ZEBRA_DEBUG_SEND
&& IS_ZEBRA_DEBUG_RECV
) {
583 vty_out(vty
, "debug zebra packet%s\n",
584 IS_ZEBRA_DEBUG_DETAIL
? " detail" : "");
587 if (IS_ZEBRA_DEBUG_SEND
)
588 vty_out(vty
, "debug zebra packet send%s\n",
589 IS_ZEBRA_DEBUG_DETAIL
? " detail" : "");
591 vty_out(vty
, "debug zebra packet recv%s\n",
592 IS_ZEBRA_DEBUG_DETAIL
? " detail" : "");
597 if (IS_ZEBRA_DEBUG_KERNEL_MSGDUMP_SEND
598 && IS_ZEBRA_DEBUG_KERNEL_MSGDUMP_RECV
) {
599 vty_out(vty
, "debug zebra kernel msgdump\n");
601 } else if (IS_ZEBRA_DEBUG_KERNEL_MSGDUMP_RECV
) {
602 vty_out(vty
, "debug zebra kernel msgdump recv\n");
604 } else if (IS_ZEBRA_DEBUG_KERNEL_MSGDUMP_SEND
) {
605 vty_out(vty
, "debug zebra kernel msgdump send\n");
609 if (IS_ZEBRA_DEBUG_KERNEL
) {
610 vty_out(vty
, "debug zebra kernel\n");
614 if (CHECK_FLAG(zebra_debug_rib
, ZEBRA_DEBUG_RIB_DETAILED
)) {
615 vty_out(vty
, "debug zebra rib detailed\n");
617 } else if (CHECK_FLAG(zebra_debug_rib
, ZEBRA_DEBUG_RIB
)) {
618 vty_out(vty
, "debug zebra rib\n");
622 if (IS_ZEBRA_DEBUG_FPM
) {
623 vty_out(vty
, "debug zebra fpm\n");
627 if (IS_ZEBRA_DEBUG_NHT_DETAILED
) {
628 vty_out(vty
, "debug zebra nht detailed\n");
630 } else if (IS_ZEBRA_DEBUG_NHT
) {
631 vty_out(vty
, "debug zebra nht\n");
635 if (IS_ZEBRA_DEBUG_MPLS_DETAIL
) {
636 vty_out(vty
, "debug zebra mpls detailed\n");
638 } else if (IS_ZEBRA_DEBUG_MPLS
) {
639 vty_out(vty
, "debug zebra mpls\n");
643 if (IS_ZEBRA_DEBUG_VXLAN
) {
644 vty_out(vty
, "debug zebra vxlan\n");
647 if (IS_ZEBRA_DEBUG_MLAG
) {
648 vty_out(vty
, "debug zebra mlag\n");
651 if (IS_ZEBRA_DEBUG_EVPN_MH_ES
) {
652 vty_out(vty
, "debug zebra evpn mh es\n");
655 if (IS_ZEBRA_DEBUG_EVPN_MH_NH
) {
656 vty_out(vty
, "debug zebra evpn mh nh\n");
659 if (IS_ZEBRA_DEBUG_EVPN_MH_MAC
) {
660 vty_out(vty
, "debug zebra evpn mh mac\n");
663 if (IS_ZEBRA_DEBUG_EVPN_MH_NEIGH
) {
664 vty_out(vty
, "debug zebra evpn mh neigh\n");
667 if (IS_ZEBRA_DEBUG_PW
) {
668 vty_out(vty
, "debug zebra pseudowires\n");
672 if (CHECK_FLAG(zebra_debug_dplane
, ZEBRA_DEBUG_DPLANE_DETAILED
)) {
673 vty_out(vty
, "debug zebra dplane detailed\n");
675 } else if (CHECK_FLAG(zebra_debug_dplane
, ZEBRA_DEBUG_DPLANE
)) {
676 vty_out(vty
, "debug zebra dplane\n");
680 if (CHECK_FLAG(zebra_debug_nexthop
, ZEBRA_DEBUG_NHG_DETAILED
)) {
681 vty_out(vty
, "debug zebra nexthop detail\n");
683 } else if (CHECK_FLAG(zebra_debug_nexthop
, ZEBRA_DEBUG_NHG
)) {
684 vty_out(vty
, "debug zebra nexthop\n");
688 if (IS_ZEBRA_DEBUG_PBR
) {
689 vty_out(vty
, "debug zebra pbr\n");
696 void zebra_debug_init(void)
698 zebra_debug_event
= 0;
699 zebra_debug_packet
= 0;
700 zebra_debug_kernel
= 0;
703 zebra_debug_mpls
= 0;
704 zebra_debug_vxlan
= 0;
706 zebra_debug_dplane
= 0;
707 zebra_debug_mlag
= 0;
708 zebra_debug_evpn_mh
= 0;
710 zebra_debug_nexthop
= 0;
713 install_node(&debug_node
);
715 install_element(ENABLE_NODE
, &show_debugging_zebra_cmd
);
717 install_element(ENABLE_NODE
, &debug_zebra_events_cmd
);
718 install_element(ENABLE_NODE
, &debug_zebra_nht_cmd
);
719 install_element(ENABLE_NODE
, &debug_zebra_mpls_cmd
);
720 install_element(ENABLE_NODE
, &debug_zebra_vxlan_cmd
);
721 install_element(ENABLE_NODE
, &debug_zebra_pw_cmd
);
722 install_element(ENABLE_NODE
, &debug_zebra_packet_cmd
);
723 install_element(ENABLE_NODE
, &debug_zebra_kernel_cmd
);
724 install_element(ENABLE_NODE
, &debug_zebra_kernel_msgdump_cmd
);
725 install_element(ENABLE_NODE
, &debug_zebra_rib_cmd
);
726 install_element(ENABLE_NODE
, &debug_zebra_fpm_cmd
);
727 install_element(ENABLE_NODE
, &debug_zebra_dplane_cmd
);
728 install_element(ENABLE_NODE
, &debug_zebra_mlag_cmd
);
729 install_element(ENABLE_NODE
, &debug_zebra_nexthop_cmd
);
730 install_element(ENABLE_NODE
, &debug_zebra_pbr_cmd
);
731 install_element(ENABLE_NODE
, &no_debug_zebra_events_cmd
);
732 install_element(ENABLE_NODE
, &no_debug_zebra_nht_cmd
);
733 install_element(ENABLE_NODE
, &no_debug_zebra_mpls_cmd
);
734 install_element(ENABLE_NODE
, &no_debug_zebra_vxlan_cmd
);
735 install_element(ENABLE_NODE
, &no_debug_zebra_packet_cmd
);
736 install_element(ENABLE_NODE
, &no_debug_zebra_kernel_cmd
);
737 install_element(ENABLE_NODE
, &no_debug_zebra_kernel_msgdump_cmd
);
738 install_element(ENABLE_NODE
, &no_debug_zebra_rib_cmd
);
739 install_element(ENABLE_NODE
, &no_debug_zebra_fpm_cmd
);
740 install_element(ENABLE_NODE
, &no_debug_zebra_dplane_cmd
);
741 install_element(ENABLE_NODE
, &no_debug_zebra_pbr_cmd
);
742 install_element(ENABLE_NODE
, &debug_zebra_evpn_mh_cmd
);
744 install_element(CONFIG_NODE
, &debug_zebra_events_cmd
);
745 install_element(CONFIG_NODE
, &debug_zebra_nht_cmd
);
746 install_element(CONFIG_NODE
, &debug_zebra_mpls_cmd
);
747 install_element(CONFIG_NODE
, &debug_zebra_vxlan_cmd
);
748 install_element(CONFIG_NODE
, &debug_zebra_pw_cmd
);
749 install_element(CONFIG_NODE
, &debug_zebra_packet_cmd
);
750 install_element(CONFIG_NODE
, &debug_zebra_kernel_cmd
);
751 install_element(CONFIG_NODE
, &debug_zebra_kernel_msgdump_cmd
);
752 install_element(CONFIG_NODE
, &debug_zebra_rib_cmd
);
753 install_element(CONFIG_NODE
, &debug_zebra_fpm_cmd
);
754 install_element(CONFIG_NODE
, &debug_zebra_dplane_cmd
);
755 install_element(CONFIG_NODE
, &debug_zebra_nexthop_cmd
);
756 install_element(CONFIG_NODE
, &debug_zebra_pbr_cmd
);
758 install_element(CONFIG_NODE
, &no_debug_zebra_events_cmd
);
759 install_element(CONFIG_NODE
, &no_debug_zebra_nht_cmd
);
760 install_element(CONFIG_NODE
, &no_debug_zebra_mpls_cmd
);
761 install_element(CONFIG_NODE
, &no_debug_zebra_vxlan_cmd
);
762 install_element(CONFIG_NODE
, &no_debug_zebra_packet_cmd
);
763 install_element(CONFIG_NODE
, &no_debug_zebra_kernel_cmd
);
764 install_element(CONFIG_NODE
, &no_debug_zebra_kernel_msgdump_cmd
);
765 install_element(CONFIG_NODE
, &no_debug_zebra_rib_cmd
);
766 install_element(CONFIG_NODE
, &no_debug_zebra_fpm_cmd
);
767 install_element(CONFIG_NODE
, &no_debug_zebra_dplane_cmd
);
768 install_element(CONFIG_NODE
, &no_debug_zebra_pbr_cmd
);
769 install_element(CONFIG_NODE
, &debug_zebra_mlag_cmd
);
770 install_element(CONFIG_NODE
, &debug_zebra_evpn_mh_cmd
);