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
;
45 DEFINE_HOOK(zebra_debug_show_debugging
, (struct vty
*vty
), (vty
));
47 DEFUN_NOSH (show_debugging_zebra
,
48 show_debugging_zebra_cmd
,
49 "show debugging [zebra]",
51 "Debugging information\n"
52 "Zebra configuration\n")
54 vty_out(vty
, "Zebra debugging status:\n");
56 if (IS_ZEBRA_DEBUG_EVENT
)
57 vty_out(vty
, " Zebra event debugging is on\n");
59 if (IS_ZEBRA_DEBUG_PACKET
) {
60 if (IS_ZEBRA_DEBUG_SEND
&& IS_ZEBRA_DEBUG_RECV
) {
61 vty_out(vty
, " Zebra packet%s debugging is on\n",
62 IS_ZEBRA_DEBUG_DETAIL
? " detail" : "");
64 if (IS_ZEBRA_DEBUG_SEND
)
66 " Zebra packet send%s debugging is on\n",
67 IS_ZEBRA_DEBUG_DETAIL
? " detail" : "");
70 " Zebra packet receive%s debugging is on\n",
71 IS_ZEBRA_DEBUG_DETAIL
? " detail" : "");
75 if (IS_ZEBRA_DEBUG_KERNEL
)
76 vty_out(vty
, " Zebra kernel debugging is on\n");
77 if (IS_ZEBRA_DEBUG_KERNEL_MSGDUMP_SEND
)
79 " Zebra kernel netlink message dumps (send) are on\n");
80 if (IS_ZEBRA_DEBUG_KERNEL_MSGDUMP_RECV
)
82 " Zebra kernel netlink message dumps (recv) are on\n");
84 /* Check here using flags as the 'macro' does an OR */
85 if (CHECK_FLAG(zebra_debug_rib
, ZEBRA_DEBUG_RIB_DETAILED
))
86 vty_out(vty
, " Zebra RIB detailed debugging is on\n");
87 else if (CHECK_FLAG(zebra_debug_rib
, ZEBRA_DEBUG_RIB
))
88 vty_out(vty
, " Zebra RIB debugging is on\n");
90 if (IS_ZEBRA_DEBUG_FPM
)
91 vty_out(vty
, " Zebra FPM debugging is on\n");
92 if (IS_ZEBRA_DEBUG_NHT_DETAILED
)
93 vty_out(vty
, " Zebra detailed next-hop tracking debugging is on\n");
94 else if (IS_ZEBRA_DEBUG_NHT
)
95 vty_out(vty
, " Zebra next-hop tracking debugging is on\n");
96 if (IS_ZEBRA_DEBUG_MPLS
)
97 vty_out(vty
, " Zebra MPLS debugging is on\n");
98 if (IS_ZEBRA_DEBUG_VXLAN
)
99 vty_out(vty
, " Zebra VXLAN debugging is on\n");
100 if (IS_ZEBRA_DEBUG_PW
)
101 vty_out(vty
, " Zebra pseudowire debugging is on\n");
102 if (IS_ZEBRA_DEBUG_DPLANE_DETAIL
)
103 vty_out(vty
, " Zebra detailed dataplane debugging is on\n");
104 else if (IS_ZEBRA_DEBUG_DPLANE
)
105 vty_out(vty
, " Zebra dataplane debugging is on\n");
106 if (IS_ZEBRA_DEBUG_MLAG
)
107 vty_out(vty
, " Zebra mlag debugging is on\n");
108 if (IS_ZEBRA_DEBUG_NHG_DETAIL
)
109 vty_out(vty
, " Zebra detailed nexthop debugging is on\n");
110 else if (IS_ZEBRA_DEBUG_NHG
)
111 vty_out(vty
, " Zebra nexthop debugging is on\n");
113 if (IS_ZEBRA_DEBUG_EVPN_MH_ES
)
114 vty_out(vty
, " Zebra EVPN-MH ethernet segment debugging is on\n");
116 if (IS_ZEBRA_DEBUG_EVPN_MH_NH
)
117 vty_out(vty
, " Zebra EVPN-MH nexthop debugging is on\n");
119 if (IS_ZEBRA_DEBUG_EVPN_MH_MAC
)
120 vty_out(vty
, " Zebra EVPN-MH MAC debugging is on\n");
122 if (IS_ZEBRA_DEBUG_EVPN_MH_NEIGH
)
123 vty_out(vty
, " Zebra EVPN-MH Neigh debugging is on\n");
125 hook_call(zebra_debug_show_debugging
, vty
);
129 DEFUN (debug_zebra_events
,
130 debug_zebra_events_cmd
,
131 "debug zebra events",
133 "Zebra configuration\n"
134 "Debug option set for zebra events\n")
136 zebra_debug_event
= ZEBRA_DEBUG_EVENT
;
140 DEFUN (debug_zebra_nht
,
142 "debug zebra nht [detailed]",
144 "Zebra configuration\n"
145 "Debug option set for zebra next hop tracking\n"
146 "Debug option set for detailed info\n")
150 zebra_debug_nht
= ZEBRA_DEBUG_NHT
;
152 if (argv_find(argv
, argc
, "detailed", &idx
))
153 zebra_debug_nht
|= ZEBRA_DEBUG_NHT_DETAILED
;
158 DEFUN (debug_zebra_mpls
,
159 debug_zebra_mpls_cmd
,
162 "Zebra configuration\n"
163 "Debug option set for zebra MPLS LSPs\n")
165 zebra_debug_mpls
= ZEBRA_DEBUG_MPLS
;
169 DEFUN (debug_zebra_vxlan
,
170 debug_zebra_vxlan_cmd
,
173 "Zebra configuration\n"
174 "Debug option set for zebra VxLAN (EVPN)\n")
176 zebra_debug_vxlan
= ZEBRA_DEBUG_VXLAN
;
180 DEFUN (debug_zebra_pw
,
182 "[no] debug zebra pseudowires",
185 "Zebra configuration\n"
186 "Debug option set for zebra pseudowires\n")
188 if (strmatch(argv
[0]->text
, "no"))
189 UNSET_FLAG(zebra_debug_pw
, ZEBRA_DEBUG_PW
);
191 SET_FLAG(zebra_debug_pw
, ZEBRA_DEBUG_PW
);
195 DEFUN (debug_zebra_packet
,
196 debug_zebra_packet_cmd
,
197 "debug zebra packet [<recv|send>] [detail]",
199 "Zebra configuration\n"
200 "Debug option set for zebra packet\n"
201 "Debug option set for receive packet\n"
202 "Debug option set for send packet\n"
203 "Debug option set for detailed info\n")
206 zebra_debug_packet
= ZEBRA_DEBUG_PACKET
;
208 if (argv_find(argv
, argc
, "send", &idx
))
209 SET_FLAG(zebra_debug_packet
, ZEBRA_DEBUG_SEND
);
210 else if (argv_find(argv
, argc
, "recv", &idx
))
211 SET_FLAG(zebra_debug_packet
, ZEBRA_DEBUG_RECV
);
213 SET_FLAG(zebra_debug_packet
, ZEBRA_DEBUG_SEND
);
214 SET_FLAG(zebra_debug_packet
, ZEBRA_DEBUG_RECV
);
217 if (argv_find(argv
, argc
, "detail", &idx
))
218 SET_FLAG(zebra_debug_packet
, ZEBRA_DEBUG_DETAIL
);
223 DEFUN (debug_zebra_kernel
,
224 debug_zebra_kernel_cmd
,
225 "debug zebra kernel",
227 "Zebra configuration\n"
228 "Debug option set for zebra between kernel interface\n")
230 SET_FLAG(zebra_debug_kernel
, ZEBRA_DEBUG_KERNEL
);
232 if (IS_ZEBRA_DEBUG_KERNEL_MSGDUMP_RECV
)
233 UNSET_FLAG(zebra_debug_kernel
, ZEBRA_DEBUG_KERNEL_MSGDUMP_RECV
);
235 if (IS_ZEBRA_DEBUG_KERNEL_MSGDUMP_SEND
)
236 UNSET_FLAG(zebra_debug_kernel
, ZEBRA_DEBUG_KERNEL_MSGDUMP_SEND
);
241 DEFUN (debug_zebra_kernel_msgdump
,
242 debug_zebra_kernel_msgdump_cmd
,
243 "debug zebra kernel msgdump [<recv|send>]",
245 "Zebra configuration\n"
246 "Debug option set for zebra between kernel interface\n"
247 "Dump raw netlink messages, sent and received\n"
248 "Dump raw netlink messages received\n"
249 "Dump raw netlink messages sent\n")
253 if (argv_find(argv
, argc
, "recv", &idx
)) {
254 SET_FLAG(zebra_debug_kernel
, ZEBRA_DEBUG_KERNEL_MSGDUMP_RECV
);
256 if (IS_ZEBRA_DEBUG_KERNEL_MSGDUMP_SEND
)
257 UNSET_FLAG(zebra_debug_kernel
,
258 ZEBRA_DEBUG_KERNEL_MSGDUMP_SEND
);
260 } else if (argv_find(argv
, argc
, "send", &idx
)) {
261 SET_FLAG(zebra_debug_kernel
, ZEBRA_DEBUG_KERNEL_MSGDUMP_SEND
);
263 if (IS_ZEBRA_DEBUG_KERNEL_MSGDUMP_RECV
)
264 UNSET_FLAG(zebra_debug_kernel
,
265 ZEBRA_DEBUG_KERNEL_MSGDUMP_RECV
);
268 SET_FLAG(zebra_debug_kernel
, ZEBRA_DEBUG_KERNEL_MSGDUMP_RECV
);
269 SET_FLAG(zebra_debug_kernel
, ZEBRA_DEBUG_KERNEL_MSGDUMP_SEND
);
275 DEFUN (debug_zebra_rib
,
277 "debug zebra rib [detailed]",
279 "Zebra configuration\n"
284 SET_FLAG(zebra_debug_rib
, ZEBRA_DEBUG_RIB
);
286 if (argv_find(argv
, argc
, "detailed", &idx
))
287 SET_FLAG(zebra_debug_rib
, ZEBRA_DEBUG_RIB_DETAILED
);
292 DEFUN (debug_zebra_fpm
,
296 "Zebra configuration\n"
297 "Debug zebra FPM events\n")
299 SET_FLAG(zebra_debug_fpm
, ZEBRA_DEBUG_FPM
);
303 DEFUN (debug_zebra_dplane
,
304 debug_zebra_dplane_cmd
,
305 "debug zebra dplane [detailed]",
307 "Zebra configuration\n"
308 "Debug zebra dataplane events\n"
309 "Detailed debug information\n")
313 SET_FLAG(zebra_debug_dplane
, ZEBRA_DEBUG_DPLANE
);
315 if (argv_find(argv
, argc
, "detailed", &idx
))
316 SET_FLAG(zebra_debug_dplane
, ZEBRA_DEBUG_DPLANE_DETAILED
);
321 DEFPY (debug_zebra_mlag
,
322 debug_zebra_mlag_cmd
,
323 "[no$no] debug zebra mlag",
326 "Zebra configuration\n"
327 "Debug option set for mlag events\n")
330 UNSET_FLAG(zebra_debug_mlag
, ZEBRA_DEBUG_MLAG
);
332 SET_FLAG(zebra_debug_mlag
, ZEBRA_DEBUG_MLAG
);
336 DEFPY (debug_zebra_evpn_mh
,
337 debug_zebra_evpn_mh_cmd
,
338 "[no$no] debug zebra evpn mh <es$es|mac$mac|neigh$neigh|nh$nh>",
341 "Zebra configuration\n"
344 "Ethernet Segment Debugging\n"
347 "Nexthop Debugging\n")
351 UNSET_FLAG(zebra_debug_evpn_mh
, ZEBRA_DEBUG_EVPN_MH_ES
);
353 SET_FLAG(zebra_debug_evpn_mh
, ZEBRA_DEBUG_EVPN_MH_ES
);
358 UNSET_FLAG(zebra_debug_evpn_mh
,
359 ZEBRA_DEBUG_EVPN_MH_MAC
);
361 SET_FLAG(zebra_debug_evpn_mh
, ZEBRA_DEBUG_EVPN_MH_MAC
);
366 UNSET_FLAG(zebra_debug_evpn_mh
,
367 ZEBRA_DEBUG_EVPN_MH_NEIGH
);
369 SET_FLAG(zebra_debug_evpn_mh
,
370 ZEBRA_DEBUG_EVPN_MH_NEIGH
);
375 UNSET_FLAG(zebra_debug_evpn_mh
, ZEBRA_DEBUG_EVPN_MH_NH
);
377 SET_FLAG(zebra_debug_evpn_mh
, ZEBRA_DEBUG_EVPN_MH_NH
);
383 DEFUN (no_debug_zebra_events
,
384 no_debug_zebra_events_cmd
,
385 "no debug zebra events",
388 "Zebra configuration\n"
389 "Debug option set for zebra events\n")
391 zebra_debug_event
= 0;
395 DEFUN (no_debug_zebra_nht
,
396 no_debug_zebra_nht_cmd
,
397 "no debug zebra nht [detailed]",
400 "Zebra configuration\n"
401 "Debug option set for zebra next hop tracking\n"
402 "Debug option set for detailed info\n")
408 DEFUN (no_debug_zebra_mpls
,
409 no_debug_zebra_mpls_cmd
,
410 "no debug zebra mpls",
413 "Zebra configuration\n"
414 "Debug option set for zebra MPLS LSPs\n")
416 zebra_debug_mpls
= 0;
420 DEFUN (no_debug_zebra_vxlan
,
421 no_debug_zebra_vxlan_cmd
,
422 "no debug zebra vxlan",
425 "Zebra configuration\n"
426 "Debug option set for zebra VxLAN (EVPN)\n")
428 zebra_debug_vxlan
= 0;
432 DEFUN (no_debug_zebra_packet
,
433 no_debug_zebra_packet_cmd
,
434 "no debug zebra packet [<recv|send>] [detail]",
437 "Zebra configuration\n"
438 "Debug option set for zebra packet\n"
439 "Debug option set for receive packet\n"
440 "Debug option set for send packet\n"
441 "Debug option set for detailed info\n")
443 zebra_debug_packet
= 0;
447 DEFUN (no_debug_zebra_kernel
,
448 no_debug_zebra_kernel_cmd
,
449 "no debug zebra kernel",
452 "Zebra configuration\n"
453 "Debug option set for zebra between kernel interface\n")
455 zebra_debug_kernel
= 0;
459 DEFUN (no_debug_zebra_kernel_msgdump
,
460 no_debug_zebra_kernel_msgdump_cmd
,
461 "no debug zebra kernel msgdump [<recv|send>]",
464 "Zebra configuration\n"
465 "Debug option set for zebra between kernel interface\n"
466 "Dump raw netlink messages, sent and received\n"
467 "Dump raw netlink messages received\n"
468 "Dump raw netlink messages sent\n")
470 zebra_debug_kernel
= 0;
474 DEFUN (no_debug_zebra_rib
,
475 no_debug_zebra_rib_cmd
,
476 "no debug zebra rib [detailed]",
479 "Zebra configuration\n"
487 DEFUN (no_debug_zebra_fpm
,
488 no_debug_zebra_fpm_cmd
,
489 "no debug zebra fpm",
492 "Zebra configuration\n"
493 "Debug zebra FPM events\n")
499 DEFUN (no_debug_zebra_dplane
,
500 no_debug_zebra_dplane_cmd
,
501 "no debug zebra dplane",
504 "Zebra configuration\n"
505 "Debug zebra dataplane events\n")
507 zebra_debug_dplane
= 0;
511 DEFPY (debug_zebra_nexthop
,
512 debug_zebra_nexthop_cmd
,
513 "[no$no] debug zebra nexthop [detail$detail]",
516 "Zebra configuration\n"
517 "Debug zebra nexthop events\n"
518 "Detailed information\n")
521 zebra_debug_nexthop
= 0;
523 SET_FLAG(zebra_debug_nexthop
, ZEBRA_DEBUG_NHG
);
526 SET_FLAG(zebra_debug_nexthop
,
527 ZEBRA_DEBUG_NHG_DETAILED
);
534 static int config_write_debug(struct vty
*vty
);
535 struct cmd_node debug_node
= {
539 .config_write
= config_write_debug
,
542 static int config_write_debug(struct vty
*vty
)
546 if (IS_ZEBRA_DEBUG_EVENT
) {
547 vty_out(vty
, "debug zebra events\n");
550 if (IS_ZEBRA_DEBUG_PACKET
) {
551 if (IS_ZEBRA_DEBUG_SEND
&& IS_ZEBRA_DEBUG_RECV
) {
552 vty_out(vty
, "debug zebra packet%s\n",
553 IS_ZEBRA_DEBUG_DETAIL
? " detail" : "");
556 if (IS_ZEBRA_DEBUG_SEND
)
557 vty_out(vty
, "debug zebra packet send%s\n",
558 IS_ZEBRA_DEBUG_DETAIL
? " detail" : "");
560 vty_out(vty
, "debug zebra packet recv%s\n",
561 IS_ZEBRA_DEBUG_DETAIL
? " detail" : "");
566 if (IS_ZEBRA_DEBUG_KERNEL
) {
567 if (IS_ZEBRA_DEBUG_KERNEL_MSGDUMP_SEND
568 && IS_ZEBRA_DEBUG_KERNEL_MSGDUMP_RECV
) {
569 vty_out(vty
, "debug zebra kernel msgdump\n");
571 } else if (IS_ZEBRA_DEBUG_KERNEL_MSGDUMP_RECV
) {
572 vty_out(vty
, "debug zebra kernel msgdump recv\n");
574 } else if (IS_ZEBRA_DEBUG_KERNEL_MSGDUMP_SEND
) {
575 vty_out(vty
, "debug zebra kernel msgdump send\n");
578 vty_out(vty
, "debug zebra kernel\n");
583 if (CHECK_FLAG(zebra_debug_rib
, ZEBRA_DEBUG_RIB_DETAILED
)) {
584 vty_out(vty
, "debug zebra rib detailed\n");
586 } else if (CHECK_FLAG(zebra_debug_rib
, ZEBRA_DEBUG_RIB
)) {
587 vty_out(vty
, "debug zebra rib\n");
591 if (IS_ZEBRA_DEBUG_FPM
) {
592 vty_out(vty
, "debug zebra fpm\n");
596 if (IS_ZEBRA_DEBUG_NHT_DETAILED
) {
597 vty_out(vty
, "debug zebra nht detailed\n");
599 } else if (IS_ZEBRA_DEBUG_NHT
) {
600 vty_out(vty
, "debug zebra nht\n");
604 if (IS_ZEBRA_DEBUG_MPLS
) {
605 vty_out(vty
, "debug zebra mpls\n");
608 if (IS_ZEBRA_DEBUG_VXLAN
) {
609 vty_out(vty
, "debug zebra vxlan\n");
612 if (IS_ZEBRA_DEBUG_MLAG
) {
613 vty_out(vty
, "debug zebra mlag\n");
616 if (IS_ZEBRA_DEBUG_EVPN_MH_ES
) {
617 vty_out(vty
, "debug zebra evpn mh es\n");
620 if (IS_ZEBRA_DEBUG_EVPN_MH_NH
) {
621 vty_out(vty
, "debug zebra evpn mh nh\n");
624 if (IS_ZEBRA_DEBUG_EVPN_MH_MAC
) {
625 vty_out(vty
, "debug zebra evpn mh mac\n");
628 if (IS_ZEBRA_DEBUG_EVPN_MH_NEIGH
) {
629 vty_out(vty
, "debug zebra evpn mh neigh\n");
632 if (IS_ZEBRA_DEBUG_PW
) {
633 vty_out(vty
, "debug zebra pseudowires\n");
637 if (CHECK_FLAG(zebra_debug_dplane
, ZEBRA_DEBUG_DPLANE_DETAILED
)) {
638 vty_out(vty
, "debug zebra dplane detailed\n");
640 } else if (CHECK_FLAG(zebra_debug_dplane
, ZEBRA_DEBUG_DPLANE
)) {
641 vty_out(vty
, "debug zebra dplane\n");
645 if (CHECK_FLAG(zebra_debug_nexthop
, ZEBRA_DEBUG_NHG_DETAILED
)) {
646 vty_out(vty
, "debug zebra nexthop detail\n");
648 } else if (CHECK_FLAG(zebra_debug_nexthop
, ZEBRA_DEBUG_NHG
)) {
649 vty_out(vty
, "debug zebra nexthop\n");
656 void zebra_debug_init(void)
658 zebra_debug_event
= 0;
659 zebra_debug_packet
= 0;
660 zebra_debug_kernel
= 0;
663 zebra_debug_mpls
= 0;
664 zebra_debug_vxlan
= 0;
666 zebra_debug_dplane
= 0;
667 zebra_debug_mlag
= 0;
668 zebra_debug_evpn_mh
= 0;
670 zebra_debug_nexthop
= 0;
672 install_node(&debug_node
);
674 install_element(ENABLE_NODE
, &show_debugging_zebra_cmd
);
676 install_element(ENABLE_NODE
, &debug_zebra_events_cmd
);
677 install_element(ENABLE_NODE
, &debug_zebra_nht_cmd
);
678 install_element(ENABLE_NODE
, &debug_zebra_mpls_cmd
);
679 install_element(ENABLE_NODE
, &debug_zebra_vxlan_cmd
);
680 install_element(ENABLE_NODE
, &debug_zebra_pw_cmd
);
681 install_element(ENABLE_NODE
, &debug_zebra_packet_cmd
);
682 install_element(ENABLE_NODE
, &debug_zebra_kernel_cmd
);
683 install_element(ENABLE_NODE
, &debug_zebra_kernel_msgdump_cmd
);
684 install_element(ENABLE_NODE
, &debug_zebra_rib_cmd
);
685 install_element(ENABLE_NODE
, &debug_zebra_fpm_cmd
);
686 install_element(ENABLE_NODE
, &debug_zebra_dplane_cmd
);
687 install_element(ENABLE_NODE
, &debug_zebra_mlag_cmd
);
688 install_element(ENABLE_NODE
, &debug_zebra_nexthop_cmd
);
689 install_element(ENABLE_NODE
, &no_debug_zebra_events_cmd
);
690 install_element(ENABLE_NODE
, &no_debug_zebra_nht_cmd
);
691 install_element(ENABLE_NODE
, &no_debug_zebra_mpls_cmd
);
692 install_element(ENABLE_NODE
, &no_debug_zebra_vxlan_cmd
);
693 install_element(ENABLE_NODE
, &no_debug_zebra_packet_cmd
);
694 install_element(ENABLE_NODE
, &no_debug_zebra_kernel_cmd
);
695 install_element(ENABLE_NODE
, &no_debug_zebra_kernel_msgdump_cmd
);
696 install_element(ENABLE_NODE
, &no_debug_zebra_rib_cmd
);
697 install_element(ENABLE_NODE
, &no_debug_zebra_fpm_cmd
);
698 install_element(ENABLE_NODE
, &no_debug_zebra_dplane_cmd
);
699 install_element(ENABLE_NODE
, &debug_zebra_evpn_mh_cmd
);
701 install_element(CONFIG_NODE
, &debug_zebra_events_cmd
);
702 install_element(CONFIG_NODE
, &debug_zebra_nht_cmd
);
703 install_element(CONFIG_NODE
, &debug_zebra_mpls_cmd
);
704 install_element(CONFIG_NODE
, &debug_zebra_vxlan_cmd
);
705 install_element(CONFIG_NODE
, &debug_zebra_pw_cmd
);
706 install_element(CONFIG_NODE
, &debug_zebra_packet_cmd
);
707 install_element(CONFIG_NODE
, &debug_zebra_kernel_cmd
);
708 install_element(CONFIG_NODE
, &debug_zebra_kernel_msgdump_cmd
);
709 install_element(CONFIG_NODE
, &debug_zebra_rib_cmd
);
710 install_element(CONFIG_NODE
, &debug_zebra_fpm_cmd
);
711 install_element(CONFIG_NODE
, &debug_zebra_dplane_cmd
);
712 install_element(CONFIG_NODE
, &debug_zebra_nexthop_cmd
);
713 install_element(CONFIG_NODE
, &no_debug_zebra_events_cmd
);
714 install_element(CONFIG_NODE
, &no_debug_zebra_nht_cmd
);
715 install_element(CONFIG_NODE
, &no_debug_zebra_mpls_cmd
);
716 install_element(CONFIG_NODE
, &no_debug_zebra_vxlan_cmd
);
717 install_element(CONFIG_NODE
, &no_debug_zebra_packet_cmd
);
718 install_element(CONFIG_NODE
, &no_debug_zebra_kernel_cmd
);
719 install_element(CONFIG_NODE
, &no_debug_zebra_kernel_msgdump_cmd
);
720 install_element(CONFIG_NODE
, &no_debug_zebra_rib_cmd
);
721 install_element(CONFIG_NODE
, &no_debug_zebra_fpm_cmd
);
722 install_element(CONFIG_NODE
, &no_debug_zebra_dplane_cmd
);
723 install_element(CONFIG_NODE
, &debug_zebra_mlag_cmd
);
724 install_element(CONFIG_NODE
, &debug_zebra_evpn_mh_cmd
);