forked from Mirror/frr
lib, vtysh: Start cli for nexthop-group
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
parent
7ee30f288e
commit
dba32923eb
|
@ -65,6 +65,7 @@ const char *node_names[] = {
|
||||||
"logical-router", // LOGICALROUTER_NODE,
|
"logical-router", // LOGICALROUTER_NODE,
|
||||||
"vrf", // VRF_NODE,
|
"vrf", // VRF_NODE,
|
||||||
"interface", // INTERFACE_NODE,
|
"interface", // INTERFACE_NODE,
|
||||||
|
"nexthop-group", // NH_GROUP_NODE,
|
||||||
"zebra", // ZEBRA_NODE,
|
"zebra", // ZEBRA_NODE,
|
||||||
"table", // TABLE_NODE,
|
"table", // TABLE_NODE,
|
||||||
"rip", // RIP_NODE,
|
"rip", // RIP_NODE,
|
||||||
|
@ -1294,6 +1295,7 @@ void cmd_exit(struct vty *vty)
|
||||||
case PW_NODE:
|
case PW_NODE:
|
||||||
case LOGICALROUTER_NODE:
|
case LOGICALROUTER_NODE:
|
||||||
case VRF_NODE:
|
case VRF_NODE:
|
||||||
|
case NH_GROUP_NODE:
|
||||||
case ZEBRA_NODE:
|
case ZEBRA_NODE:
|
||||||
case BGP_NODE:
|
case BGP_NODE:
|
||||||
case RIP_NODE:
|
case RIP_NODE:
|
||||||
|
@ -1379,6 +1381,7 @@ DEFUN (config_end,
|
||||||
case PW_NODE:
|
case PW_NODE:
|
||||||
case LOGICALROUTER_NODE:
|
case LOGICALROUTER_NODE:
|
||||||
case VRF_NODE:
|
case VRF_NODE:
|
||||||
|
case NH_GROUP_NODE:
|
||||||
case ZEBRA_NODE:
|
case ZEBRA_NODE:
|
||||||
case RIP_NODE:
|
case RIP_NODE:
|
||||||
case RIPNG_NODE:
|
case RIPNG_NODE:
|
||||||
|
|
|
@ -88,6 +88,7 @@ enum node_type {
|
||||||
LOGICALROUTER_NODE, /* Logical-Router node. */
|
LOGICALROUTER_NODE, /* Logical-Router node. */
|
||||||
VRF_NODE, /* VRF mode node. */
|
VRF_NODE, /* VRF mode node. */
|
||||||
INTERFACE_NODE, /* Interface mode node. */
|
INTERFACE_NODE, /* Interface mode node. */
|
||||||
|
NH_GROUP_NODE, /* Nexthop-Group mode node. */
|
||||||
ZEBRA_NODE, /* zebra connection node. */
|
ZEBRA_NODE, /* zebra connection node. */
|
||||||
TABLE_NODE, /* rtm_table selection node. */
|
TABLE_NODE, /* rtm_table selection node. */
|
||||||
RIP_NODE, /* RIP protocol mode node. */
|
RIP_NODE, /* RIP protocol mode node. */
|
||||||
|
|
|
@ -21,6 +21,12 @@
|
||||||
|
|
||||||
#include <nexthop.h>
|
#include <nexthop.h>
|
||||||
#include <nexthop_group.h>
|
#include <nexthop_group.h>
|
||||||
|
#include <vty.h>
|
||||||
|
#include <command.h>
|
||||||
|
|
||||||
|
#ifndef VTYSH_EXTRACT_PL
|
||||||
|
#include "lib/nexthop_group_clippy.c"
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Add nexthop to the end of a nexthop list. */
|
/* Add nexthop to the end of a nexthop list. */
|
||||||
void nexthop_add(struct nexthop **target, struct nexthop *nexthop)
|
void nexthop_add(struct nexthop **target, struct nexthop *nexthop)
|
||||||
|
@ -64,3 +70,31 @@ void copy_nexthops(struct nexthop **tnh, struct nexthop *nh,
|
||||||
nexthop);
|
nexthop);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DEFPY (nexthop_group,
|
||||||
|
nexthop_group_cmd,
|
||||||
|
"nexthop-group NAME",
|
||||||
|
"Enter into the nexthop-group submode\n"
|
||||||
|
"Specify the NAME of the nexthop-group\n")
|
||||||
|
{
|
||||||
|
return CMD_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
struct cmd_node nexthop_group_node = {
|
||||||
|
NH_GROUP_NODE,
|
||||||
|
"%s(config-nh-group)# ",
|
||||||
|
1
|
||||||
|
};
|
||||||
|
|
||||||
|
static int nexthop_group_write(struct vty *vty)
|
||||||
|
{
|
||||||
|
vty_out(vty, "!\n");
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
void nexthop_group_init(void)
|
||||||
|
{
|
||||||
|
install_node(&nexthop_group_node, nexthop_group_write);
|
||||||
|
install_element(CONFIG_NODE, &nexthop_group_cmd);
|
||||||
|
}
|
||||||
|
|
|
@ -33,6 +33,8 @@ struct nexthop_group {
|
||||||
struct nexthop *nexthop;
|
struct nexthop *nexthop;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
void nexthop_group_init(void);
|
||||||
|
|
||||||
void nexthop_add(struct nexthop **target, struct nexthop *nexthop);
|
void nexthop_add(struct nexthop **target, struct nexthop *nexthop);
|
||||||
void copy_nexthops(struct nexthop **tnh, struct nexthop *nh,
|
void copy_nexthops(struct nexthop **tnh, struct nexthop *nh,
|
||||||
struct nexthop *rparent);
|
struct nexthop *rparent);
|
||||||
|
|
|
@ -82,6 +82,8 @@ lib_libfrr_la_SOURCES = \
|
||||||
|
|
||||||
lib/plist_clippy.c: $(CLIPPY_DEPS)
|
lib/plist_clippy.c: $(CLIPPY_DEPS)
|
||||||
lib/plist.lo: lib/plist_clippy.c
|
lib/plist.lo: lib/plist_clippy.c
|
||||||
|
lib/nexthop_group_clippy.c: $(CLIPPY_DEPS)
|
||||||
|
lib/nexthop_group.lo: lib/nexthop_group_clippy.c
|
||||||
|
|
||||||
pkginclude_HEADERS += \
|
pkginclude_HEADERS += \
|
||||||
lib/bfd.h \
|
lib/bfd.h \
|
||||||
|
|
|
@ -1499,6 +1499,7 @@ static int vtysh_exit(struct vty *vty)
|
||||||
case PW_NODE:
|
case PW_NODE:
|
||||||
case LOGICALROUTER_NODE:
|
case LOGICALROUTER_NODE:
|
||||||
case VRF_NODE:
|
case VRF_NODE:
|
||||||
|
case NH_GROUP_NODE:
|
||||||
case ZEBRA_NODE:
|
case ZEBRA_NODE:
|
||||||
case BGP_NODE:
|
case BGP_NODE:
|
||||||
case RIP_NODE:
|
case RIP_NODE:
|
||||||
|
|
Loading…
Reference in a new issue