Skip to content

Commit

Permalink
zebra: dump label table information
Browse files Browse the repository at this point in the history
Add the new command "show debugging labeltable" to show allocated label
chunks in the lablel table managed with label_manager.c

Signed-off-by: Farid Mihoub <[email protected]>
Signed-off-by: Philippe Guibert <[email protected]>
  • Loading branch information
FRIDM636 authored and Farid Mihoub committed Mar 16, 2023
1 parent 9b3cebe commit 6d3342b
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 0 deletions.
13 changes: 13 additions & 0 deletions doc/user/zebra.rst
Original file line number Diff line number Diff line change
Expand Up @@ -745,6 +745,19 @@ presence of the entry.
21 Static 10.125.0.2 IPv4 Explicit Null


Allocated label chunks table can be dumped using the command

.. clicmd:: show debugging label-table

::

zebra# show debugging label-table
Proto ospf: [300/350]
Proto srte: [500/500]
Proto isis: [1200/1300]
Proto ospf: [20000/21000]
Proto isis: [22000/23000]

.. _zebra-srv6:

Segment-Routing IPv6
Expand Down
18 changes: 18 additions & 0 deletions zebra/label_manager.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@
#include "zebra/zapi_msg.h"
#include "zebra/debug.h"

#include "zebra/label_manager_clippy.c"

#define CONNECTION_DELAY 5

struct label_manager lbl_mgr;
Expand Down Expand Up @@ -145,6 +147,20 @@ void lm_hooks_unregister(void)
hook_unregister(lm_release_chunk, label_manager_release_label_chunk);
}

DEFPY(show_label_table, show_label_table_cmd, "show debugging label-table",
SHOW_STR DEBUG_STR "Display allocated label chunks\n")
{
struct label_manager_chunk *lmc;
struct listnode *node;

for (ALL_LIST_ELEMENTS_RO(lbl_mgr.lc_list, node, lmc)) {
vty_out(vty, "Proto %s: [%u/%u]\n",
zebra_route_string(lmc->proto), lmc->start, lmc->end);
}

return CMD_SUCCESS;
}

/**
* Init label manager (or proxy to an external one)
*/
Expand All @@ -159,6 +175,8 @@ void label_manager_init(void)

/* notify any external module that we are done */
hook_call(lm_cbs_inited);

install_element(VIEW_NODE, &show_label_table_cmd);
}

/* alloc and fill a label chunk */
Expand Down
1 change: 1 addition & 0 deletions zebra/subdir.am
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,7 @@ clippy_scan += \
zebra/zebra_srv6_vty.c \
zebra/zebra_vrf.c \
zebra/dpdk/zebra_dplane_dpdk_vty.c \
zebra/label_manager.c \
# end

noinst_HEADERS += \
Expand Down

0 comments on commit 6d3342b

Please sign in to comment.