Nest: Fix crash in rta_show() for RPKI and Babel routes
Some new route source values did not have associated string in rta_show(), which might caused crash in some cases.
This commit is contained in:
parent
e19d08055a
commit
69b2f63d9a
2 changed files with 20 additions and 4 deletions
|
@ -421,6 +421,7 @@ typedef struct rta {
|
||||||
#define RTS_PIPE 12 /* Inter-table wormhole */
|
#define RTS_PIPE 12 /* Inter-table wormhole */
|
||||||
#define RTS_BABEL 13 /* Babel route */
|
#define RTS_BABEL 13 /* Babel route */
|
||||||
#define RTS_RPKI 14 /* Route Origin Authorization */
|
#define RTS_RPKI 14 /* Route Origin Authorization */
|
||||||
|
#define RTS_MAX 15
|
||||||
|
|
||||||
|
|
||||||
#define RTC_UNICAST 0
|
#define RTC_UNICAST 0
|
||||||
|
|
|
@ -58,6 +58,24 @@
|
||||||
|
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
|
|
||||||
|
const char * const rta_src_names[RTS_MAX] = {
|
||||||
|
[RTS_DUMMY] = "",
|
||||||
|
[RTS_STATIC] = "static",
|
||||||
|
[RTS_INHERIT] = "inherit",
|
||||||
|
[RTS_DEVICE] = "device",
|
||||||
|
[RTS_STATIC_DEVICE] = "static-device",
|
||||||
|
[RTS_REDIRECT] = "redirect",
|
||||||
|
[RTS_RIP] = "RIP",
|
||||||
|
[RTS_OSPF] = "OSPF",
|
||||||
|
[RTS_OSPF_IA] = "OSPF-IA",
|
||||||
|
[RTS_OSPF_EXT1] = "OSPF-E1",
|
||||||
|
[RTS_OSPF_EXT2] = "OSPF-E2",
|
||||||
|
[RTS_BGP] = "BGP",
|
||||||
|
[RTS_PIPE] = "pipe",
|
||||||
|
[RTS_BABEL] = "Babel",
|
||||||
|
[RTS_RPKI] = "RPKI",
|
||||||
|
};
|
||||||
|
|
||||||
const char * rta_dest_names[RTD_MAX] = {
|
const char * rta_dest_names[RTD_MAX] = {
|
||||||
[RTD_NONE] = "",
|
[RTD_NONE] = "",
|
||||||
[RTD_UNICAST] = "unicast",
|
[RTD_UNICAST] = "unicast",
|
||||||
|
@ -1262,10 +1280,7 @@ rta_dump_all(void)
|
||||||
void
|
void
|
||||||
rta_show(struct cli *c, rta *a)
|
rta_show(struct cli *c, rta *a)
|
||||||
{
|
{
|
||||||
static char *src_names[] = { "dummy", "static", "inherit", "device", "static-device", "redirect",
|
cli_printf(c, -1008, "\tType: %s %s", rta_src_names[a->source], ip_scope_text(a->scope));
|
||||||
"RIP", "OSPF", "OSPF-IA", "OSPF-E1", "OSPF-E2", "BGP", "pipe" };
|
|
||||||
|
|
||||||
cli_printf(c, -1008, "\tType: %s %s", src_names[a->source], ip_scope_text(a->scope));
|
|
||||||
|
|
||||||
for(ea_list *eal = a->eattrs; eal; eal=eal->next)
|
for(ea_list *eal = a->eattrs; eal; eal=eal->next)
|
||||||
for(int i=0; i<eal->count; i++)
|
for(int i=0; i<eal->count; i++)
|
||||||
|
|
Loading…
Reference in a new issue