-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
lib: introduce configuration back-off timer for YANG-modeled commands #6727
lib: introduce configuration back-off timer for YANG-modeled commands #6727
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your contribution to FRR!
Click for style suggestions
To apply these suggestions:
curl -s https://gist.githubusercontent.com/polychaeta/cec2cbc0095604df1469e9201243ad73/raw/f6ed487a664f6b1f595f2bb501b986830a09b7b5/cr_6727_1594653551.diff | git apply
diff --git a/bfdd/bfdd_cli.c b/bfdd/bfdd_cli.c
index 89a5c2884..8d207a1e0 100644
--- a/bfdd/bfdd_cli.c
+++ b/bfdd/bfdd_cli.c
@@ -55,10 +55,7 @@
/*
* Functions.
*/
-DEFPY_YANG_NOSH(
- bfd_enter, bfd_enter_cmd,
- "bfd",
- "Configure BFD peers\n")
+DEFPY_YANG_NOSH(bfd_enter, bfd_enter_cmd, "bfd", "Configure BFD peers\n")
{
int ret;
@@ -70,11 +67,8 @@ DEFPY_YANG_NOSH(
return ret;
}
-DEFUN_YANG(
- bfd_config_reset, bfd_config_reset_cmd,
- "no bfd",
- NO_STR
- "Configure BFD peers\n")
+DEFUN_YANG(bfd_config_reset, bfd_config_reset_cmd, "no bfd",
+ NO_STR "Configure BFD peers\n")
{
nb_cli_enqueue_change(vty, "/frr-bfdd:bfdd/bfd", NB_OP_DESTROY, NULL);
return nb_cli_apply_changes(vty, NULL);
@@ -96,17 +90,9 @@ void bfd_cli_show_header_end(struct vty *vty,
DEFPY_YANG_NOSH(
bfd_peer_enter, bfd_peer_enter_cmd,
"peer <A.B.C.D|X:X::X:X> [{multihop$multihop|local-address <A.B.C.D|X:X::X:X>|interface IFNAME$ifname|vrf NAME}]",
- PEER_STR
- PEER_IPV4_STR
- PEER_IPV6_STR
- MHOP_STR
- LOCAL_STR
- LOCAL_IPV4_STR
- LOCAL_IPV6_STR
- INTERFACE_STR
- LOCAL_INTF_STR
- VRF_STR
- VRF_NAME_STR)
+ PEER_STR PEER_IPV4_STR PEER_IPV6_STR MHOP_STR LOCAL_STR LOCAL_IPV4_STR
+ LOCAL_IPV6_STR INTERFACE_STR LOCAL_INTF_STR VRF_STR
+ VRF_NAME_STR)
{
int ret, slen;
char source_str[INET6_ADDRSTRLEN];
@@ -153,18 +139,9 @@ DEFPY_YANG_NOSH(
DEFPY_YANG(
bfd_no_peer, bfd_no_peer_cmd,
"no peer <A.B.C.D|X:X::X:X> [{multihop$multihop|local-address <A.B.C.D|X:X::X:X>|interface IFNAME$ifname|vrf NAME}]",
- NO_STR
- PEER_STR
- PEER_IPV4_STR
- PEER_IPV6_STR
- MHOP_STR
- LOCAL_STR
- LOCAL_IPV4_STR
- LOCAL_IPV6_STR
- INTERFACE_STR
- LOCAL_INTF_STR
- VRF_STR
- VRF_NAME_STR)
+ NO_STR PEER_STR PEER_IPV4_STR PEER_IPV6_STR MHOP_STR LOCAL_STR
+ LOCAL_IPV4_STR LOCAL_IPV6_STR INTERFACE_STR LOCAL_INTF_STR
+ VRF_STR VRF_NAME_STR)
{
int slen;
char xpath[XPATH_MAXLEN];
@@ -244,11 +221,8 @@ void bfd_cli_show_peer_end(struct vty *vty,
vty_out(vty, " !\n");
}
-DEFPY_YANG(
- bfd_peer_shutdown, bfd_peer_shutdown_cmd,
- "[no] shutdown",
- NO_STR
- "Disable BFD peer\n")
+DEFPY_YANG(bfd_peer_shutdown, bfd_peer_shutdown_cmd, "[no] shutdown",
+ NO_STR "Disable BFD peer\n")
{
nb_cli_enqueue_change(vty, "./administrative-down", NB_OP_MODIFY,
no ? "false" : "true");
@@ -265,11 +239,10 @@ void bfd_cli_show_shutdown(struct vty *vty, struct lyd_node *dnode,
yang_dnode_get_bool(dnode, NULL) ? "" : "no ");
}
-DEFPY_YANG(
- bfd_peer_mult, bfd_peer_mult_cmd,
- "detect-multiplier (2-255)$multiplier",
- "Configure peer detection multiplier\n"
- "Configure peer detection multiplier value\n")
+DEFPY_YANG(bfd_peer_mult, bfd_peer_mult_cmd,
+ "detect-multiplier (2-255)$multiplier",
+ "Configure peer detection multiplier\n"
+ "Configure peer detection multiplier value\n")
{
nb_cli_enqueue_change(vty, "./detection-multiplier", NB_OP_MODIFY,
multiplier_str);
@@ -287,11 +260,9 @@ void bfd_cli_show_mult(struct vty *vty, struct lyd_node *dnode,
yang_dnode_get_string(dnode, NULL));
}
-DEFPY_YANG(
- bfd_peer_rx, bfd_peer_rx_cmd,
- "receive-interval (10-60000)$interval",
- "Configure peer receive interval\n"
- "Configure peer receive interval value in milliseconds\n")
+DEFPY_YANG(bfd_peer_rx, bfd_peer_rx_cmd, "receive-interval (10-60000)$interval",
+ "Configure peer receive interval\n"
+ "Configure peer receive interval value in milliseconds\n")
{
char value[32];
@@ -316,11 +287,10 @@ void bfd_cli_show_rx(struct vty *vty, struct lyd_node *dnode,
}
}
-DEFPY_YANG(
- bfd_peer_tx, bfd_peer_tx_cmd,
- "transmit-interval (10-60000)$interval",
- "Configure peer transmit interval\n"
- "Configure peer transmit interval value in milliseconds\n")
+DEFPY_YANG(bfd_peer_tx, bfd_peer_tx_cmd,
+ "transmit-interval (10-60000)$interval",
+ "Configure peer transmit interval\n"
+ "Configure peer transmit interval value in milliseconds\n")
{
char value[32];
@@ -345,11 +315,8 @@ void bfd_cli_show_tx(struct vty *vty, struct lyd_node *dnode,
}
}
-DEFPY_YANG(
- bfd_peer_echo, bfd_peer_echo_cmd,
- "[no] echo-mode",
- NO_STR
- "Configure echo mode\n")
+DEFPY_YANG(bfd_peer_echo, bfd_peer_echo_cmd, "[no] echo-mode",
+ NO_STR "Configure echo mode\n")
{
nb_cli_enqueue_change(vty, "./echo-mode", NB_OP_MODIFY,
no ? "false" : "true");
@@ -366,11 +333,10 @@ void bfd_cli_show_echo(struct vty *vty, struct lyd_node *dnode,
yang_dnode_get_bool(dnode, NULL) ? "" : "no ");
}
-DEFPY_YANG(
- bfd_peer_echo_interval, bfd_peer_echo_interval_cmd,
- "echo-interval (10-60000)$interval",
- "Configure peer echo interval\n"
- "Configure peer echo interval value in milliseconds\n")
+DEFPY_YANG(bfd_peer_echo_interval, bfd_peer_echo_interval_cmd,
+ "echo-interval (10-60000)$interval",
+ "Configure peer echo interval\n"
+ "Configure peer echo interval value in milliseconds\n")
{
char value[32];
@@ -398,10 +364,8 @@ void bfd_cli_show_echo_interval(struct vty *vty, struct lyd_node *dnode,
/*
* Profile commands.
*/
-DEFPY_YANG_NOSH(bfd_profile, bfd_profile_cmd,
- "profile WORD$name",
- BFD_PROFILE_STR
- BFD_PROFILE_NAME_STR)
+DEFPY_YANG_NOSH(bfd_profile, bfd_profile_cmd, "profile WORD$name",
+ BFD_PROFILE_STR BFD_PROFILE_NAME_STR)
{
char xpath[XPATH_MAXLEN];
int rv;
@@ -419,11 +383,8 @@ DEFPY_YANG_NOSH(bfd_profile, bfd_profile_cmd,
return CMD_SUCCESS;
}
-DEFPY_YANG(no_bfd_profile, no_bfd_profile_cmd,
- "no profile BFDPROF$name",
- NO_STR
- BFD_PROFILE_STR
- BFD_PROFILE_NAME_STR)
+DEFPY_YANG(no_bfd_profile, no_bfd_profile_cmd, "no profile BFDPROF$name",
+ NO_STR BFD_PROFILE_STR BFD_PROFILE_NAME_STR)
{
char xpath[XPATH_MAXLEN];
@@ -443,40 +404,33 @@ void bfd_cli_show_profile(struct vty *vty, struct lyd_node *dnode,
}
ALIAS_YANG(bfd_peer_mult, bfd_profile_mult_cmd,
- "detect-multiplier (2-255)$multiplier",
- "Configure peer detection multiplier\n"
- "Configure peer detection multiplier value\n")
+ "detect-multiplier (2-255)$multiplier",
+ "Configure peer detection multiplier\n"
+ "Configure peer detection multiplier value\n")
ALIAS_YANG(bfd_peer_tx, bfd_profile_tx_cmd,
- "transmit-interval (10-60000)$interval",
- "Configure peer transmit interval\n"
- "Configure peer transmit interval value in milliseconds\n")
+ "transmit-interval (10-60000)$interval",
+ "Configure peer transmit interval\n"
+ "Configure peer transmit interval value in milliseconds\n")
ALIAS_YANG(bfd_peer_rx, bfd_profile_rx_cmd,
- "receive-interval (10-60000)$interval",
- "Configure peer receive interval\n"
- "Configure peer receive interval value in milliseconds\n")
+ "receive-interval (10-60000)$interval",
+ "Configure peer receive interval\n"
+ "Configure peer receive interval value in milliseconds\n")
-ALIAS_YANG(bfd_peer_shutdown, bfd_profile_shutdown_cmd,
- "[no] shutdown",
- NO_STR
- "Disable BFD peer\n")
+ALIAS_YANG(bfd_peer_shutdown, bfd_profile_shutdown_cmd, "[no] shutdown",
+ NO_STR "Disable BFD peer\n")
-ALIAS_YANG(bfd_peer_echo, bfd_profile_echo_cmd,
- "[no] echo-mode",
- NO_STR
- "Configure echo mode\n")
+ALIAS_YANG(bfd_peer_echo, bfd_profile_echo_cmd, "[no] echo-mode",
+ NO_STR "Configure echo mode\n")
ALIAS_YANG(bfd_peer_echo_interval, bfd_profile_echo_interval_cmd,
- "echo-interval (10-60000)$interval",
- "Configure peer echo interval\n"
- "Configure peer echo interval value in milliseconds\n")
-
-DEFPY_YANG(bfd_peer_profile, bfd_peer_profile_cmd,
- "[no] profile BFDPROF$pname",
- NO_STR
- "Use BFD profile settings\n"
- BFD_PROFILE_NAME_STR)
+ "echo-interval (10-60000)$interval",
+ "Configure peer echo interval\n"
+ "Configure peer echo interval value in milliseconds\n")
+
+DEFPY_YANG(bfd_peer_profile, bfd_peer_profile_cmd, "[no] profile BFDPROF$pname",
+ NO_STR "Use BFD profile settings\n" BFD_PROFILE_NAME_STR)
{
if (no)
nb_cli_enqueue_change(vty, "./profile", NB_OP_DESTROY, NULL);
diff --git a/isisd/isis_cli.c b/isisd/isis_cli.c
index 0d4741079..39bc32a53 100644
--- a/isisd/isis_cli.c
+++ b/isisd/isis_cli.c
@@ -47,9 +47,9 @@
* XPath: /frr-isisd:isis/instance
*/
DEFPY_YANG_NOSH(router_isis, router_isis_cmd, "router isis WORD$tag",
- ROUTER_STR
- "ISO IS-IS\n"
- "ISO Routing area tag\n")
+ ROUTER_STR
+ "ISO IS-IS\n"
+ "ISO Routing area tag\n")
{
int ret;
char base_xpath[XPATH_MAXLEN];
@@ -73,9 +73,9 @@ DEFPY_YANG_NOSH(router_isis, router_isis_cmd, "router isis WORD$tag",
}
DEFPY_YANG(no_router_isis, no_router_isis_cmd, "no router isis WORD$tag",
- NO_STR ROUTER_STR
- "ISO IS-IS\n"
- "ISO Routing area tag\n")
+ NO_STR ROUTER_STR
+ "ISO IS-IS\n"
+ "ISO Routing area tag\n")
{
char temp_xpath[XPATH_MAXLEN];
struct listnode *node, *nnode;
@@ -127,10 +127,10 @@ void cli_show_router_isis(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance
*/
DEFPY_YANG(ip_router_isis, ip_router_isis_cmd, "ip router isis WORD$tag",
- "Interface Internet Protocol config commands\n"
- "IP router interface commands\n"
- "IS-IS routing protocol\n"
- "Routing process tag\n")
+ "Interface Internet Protocol config commands\n"
+ "IP router interface commands\n"
+ "IS-IS routing protocol\n"
+ "Routing process tag\n")
{
char temp_xpath[XPATH_MAXLEN];
const char *circ_type;
@@ -197,10 +197,10 @@ DEFPY_YANG(ip_router_isis, ip_router_isis_cmd, "ip router isis WORD$tag",
}
DEFPY_YANG(ip6_router_isis, ip6_router_isis_cmd, "ipv6 router isis WORD$tag",
- "Interface Internet Protocol config commands\n"
- "IP router interface commands\n"
- "IS-IS routing protocol\n"
- "Routing process tag\n")
+ "Interface Internet Protocol config commands\n"
+ "IP router interface commands\n"
+ "IS-IS routing protocol\n"
+ "Routing process tag\n")
{
char temp_xpath[XPATH_MAXLEN];
const char *circ_type;
@@ -267,13 +267,13 @@ DEFPY_YANG(ip6_router_isis, ip6_router_isis_cmd, "ipv6 router isis WORD$tag",
}
DEFPY_YANG(no_ip_router_isis, no_ip_router_isis_cmd,
- "no <ip|ipv6>$ip router isis [WORD]$tag",
- NO_STR
- "Interface Internet Protocol config commands\n"
- "IP router interface commands\n"
- "IP router interface commands\n"
- "IS-IS routing protocol\n"
- "Routing process tag\n")
+ "no <ip|ipv6>$ip router isis [WORD]$tag",
+ NO_STR
+ "Interface Internet Protocol config commands\n"
+ "IP router interface commands\n"
+ "IP router interface commands\n"
+ "IS-IS routing protocol\n"
+ "Routing process tag\n")
{
const struct lyd_node *dnode;
@@ -327,12 +327,8 @@ void cli_show_ip_isis_ipv6(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-interface:lib/interface/frr-isisd:isis/bfd-monitoring
*/
-DEFPY_YANG(isis_bfd,
- isis_bfd_cmd,
- "[no] isis bfd",
- NO_STR
- PROTO_HELP
- "Enable BFD support\n")
+DEFPY_YANG(isis_bfd, isis_bfd_cmd, "[no] isis bfd",
+ NO_STR PROTO_HELP "Enable BFD support\n")
{
const struct lyd_node *dnode;
@@ -362,9 +358,9 @@ void cli_show_ip_isis_bfd_monitoring(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance/area-address
*/
DEFPY_YANG(net, net_cmd, "[no] net WORD",
- "Remove an existing Network Entity Title for this process\n"
- "A Network Entity Title for this process (OSI only)\n"
- "XX.XXXX. ... .XXX.XX Network entity title (NET)\n")
+ "Remove an existing Network Entity Title for this process\n"
+ "A Network Entity Title for this process (OSI only)\n"
+ "XX.XXXX. ... .XXX.XX Network entity title (NET)\n")
{
nb_cli_enqueue_change(vty, "./area-address",
no ? NB_OP_DESTROY : NB_OP_CREATE, net);
@@ -381,11 +377,12 @@ void cli_show_isis_area_address(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/is-type
*/
-DEFPY_YANG(is_type, is_type_cmd, "is-type <level-1|level-1-2|level-2-only>$level",
- "IS Level for this routing process (OSI only)\n"
- "Act as a station router only\n"
- "Act as both a station router and an area router\n"
- "Act as an area router only\n")
+DEFPY_YANG(is_type, is_type_cmd,
+ "is-type <level-1|level-1-2|level-2-only>$level",
+ "IS Level for this routing process (OSI only)\n"
+ "Act as a station router only\n"
+ "Act as both a station router and an area router\n"
+ "Act as an area router only\n")
{
nb_cli_enqueue_change(vty, "./is-type", NB_OP_MODIFY,
strmatch(level, "level-2-only") ? "level-2"
@@ -395,12 +392,12 @@ DEFPY_YANG(is_type, is_type_cmd, "is-type <level-1|level-1-2|level-2-only>$level
}
DEFPY_YANG(no_is_type, no_is_type_cmd,
- "no is-type [<level-1|level-1-2|level-2-only>]",
- NO_STR
- "IS Level for this routing process (OSI only)\n"
- "Act as a station router only\n"
- "Act as both a station router and an area router\n"
- "Act as an area router only\n")
+ "no is-type [<level-1|level-1-2|level-2-only>]",
+ NO_STR
+ "IS Level for this routing process (OSI only)\n"
+ "Act as a station router only\n"
+ "Act as both a station router and an area router\n"
+ "Act as an area router only\n")
{
nb_cli_enqueue_change(vty, "./is-type", NB_OP_MODIFY, NULL);
@@ -429,9 +426,9 @@ void cli_show_isis_is_type(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance/dynamic-hostname
*/
DEFPY_YANG(dynamic_hostname, dynamic_hostname_cmd, "[no] hostname dynamic",
- NO_STR
- "Dynamic hostname for IS-IS\n"
- "Dynamic hostname\n")
+ NO_STR
+ "Dynamic hostname for IS-IS\n"
+ "Dynamic hostname\n")
{
nb_cli_enqueue_change(vty, "./dynamic-hostname", NB_OP_MODIFY,
no ? "false" : "true");
@@ -452,8 +449,8 @@ void cli_show_isis_dynamic_hostname(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance/overload
*/
DEFPY_YANG(set_overload_bit, set_overload_bit_cmd, "[no] set-overload-bit",
- "Reset overload bit to accept transit traffic\n"
- "Set overload bit to avoid any transit traffic\n")
+ "Reset overload bit to accept transit traffic\n"
+ "Set overload bit to avoid any transit traffic\n")
{
nb_cli_enqueue_change(vty, "./overload", NB_OP_MODIFY,
no ? "false" : "true");
@@ -472,9 +469,10 @@ void cli_show_isis_overload(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/attached
*/
-DEFPY_YANG(set_attached_bit, set_attached_bit_cmd, "[no] set-attached-bit",
- "Reset attached bit\n"
- "Set attached bit to identify as L1/L2 router for inter-area traffic\n")
+DEFPY_YANG(
+ set_attached_bit, set_attached_bit_cmd, "[no] set-attached-bit",
+ "Reset attached bit\n"
+ "Set attached bit to identify as L1/L2 router for inter-area traffic\n")
{
nb_cli_enqueue_change(vty, "./attached", NB_OP_MODIFY,
no ? "false" : "true");
@@ -494,11 +492,11 @@ void cli_show_isis_attached(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance/metric-style
*/
DEFPY_YANG(metric_style, metric_style_cmd,
- "metric-style <narrow|transition|wide>$style",
- "Use old-style (ISO 10589) or new-style packet formats\n"
- "Use old style of TLVs with narrow metric\n"
- "Send and accept both styles of TLVs during transition\n"
- "Use new style of TLVs to carry wider metric\n")
+ "metric-style <narrow|transition|wide>$style",
+ "Use old-style (ISO 10589) or new-style packet formats\n"
+ "Use old style of TLVs with narrow metric\n"
+ "Send and accept both styles of TLVs during transition\n"
+ "Use new style of TLVs to carry wider metric\n")
{
nb_cli_enqueue_change(vty, "./metric-style", NB_OP_MODIFY, style);
@@ -506,12 +504,12 @@ DEFPY_YANG(metric_style, metric_style_cmd,
}
DEFPY_YANG(no_metric_style, no_metric_style_cmd,
- "no metric-style [narrow|transition|wide]",
- NO_STR
- "Use old-style (ISO 10589) or new-style packet formats\n"
- "Use old style of TLVs with narrow metric\n"
- "Send and accept both styles of TLVs during transition\n"
- "Use new style of TLVs to carry wider metric\n")
+ "no metric-style [narrow|transition|wide]",
+ NO_STR
+ "Use old-style (ISO 10589) or new-style packet formats\n"
+ "Use old style of TLVs with narrow metric\n"
+ "Send and accept both styles of TLVs during transition\n"
+ "Use new style of TLVs to carry wider metric\n")
{
nb_cli_enqueue_change(vty, "./metric-style", NB_OP_MODIFY, NULL);
@@ -539,16 +537,17 @@ void cli_show_isis_metric_style(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/area-password
*/
-DEFPY_YANG(area_passwd, area_passwd_cmd,
- "area-password <clear|md5>$pwd_type WORD$pwd [authenticate snp <send-only|validate>$snp]",
- "Configure the authentication password for an area\n"
- "Clear-text authentication type\n"
- "MD5 authentication type\n"
- "Level-wide password\n"
- "Authentication\n"
- "SNP PDUs\n"
- "Send but do not check PDUs on receiving\n"
- "Send and check PDUs on receiving\n")
+DEFPY_YANG(
+ area_passwd, area_passwd_cmd,
+ "area-password <clear|md5>$pwd_type WORD$pwd [authenticate snp <send-only|validate>$snp]",
+ "Configure the authentication password for an area\n"
+ "Clear-text authentication type\n"
+ "MD5 authentication type\n"
+ "Level-wide password\n"
+ "Authentication\n"
+ "SNP PDUs\n"
+ "Send but do not check PDUs on receiving\n"
+ "Send and check PDUs on receiving\n")
{
nb_cli_enqueue_change(vty, "./area-password", NB_OP_CREATE, NULL);
nb_cli_enqueue_change(vty, "./area-password/password", NB_OP_MODIFY,
@@ -578,16 +577,17 @@ void cli_show_isis_area_pwd(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/domain-password
*/
-DEFPY_YANG(domain_passwd, domain_passwd_cmd,
- "domain-password <clear|md5>$pwd_type WORD$pwd [authenticate snp <send-only|validate>$snp]",
- "Set the authentication password for a routing domain\n"
- "Clear-text authentication type\n"
- "MD5 authentication type\n"
- "Level-wide password\n"
- "Authentication\n"
- "SNP PDUs\n"
- "Send but do not check PDUs on receiving\n"
- "Send and check PDUs on receiving\n")
+DEFPY_YANG(
+ domain_passwd, domain_passwd_cmd,
+ "domain-password <clear|md5>$pwd_type WORD$pwd [authenticate snp <send-only|validate>$snp]",
+ "Set the authentication password for a routing domain\n"
+ "Clear-text authentication type\n"
+ "MD5 authentication type\n"
+ "Level-wide password\n"
+ "Authentication\n"
+ "SNP PDUs\n"
+ "Send but do not check PDUs on receiving\n"
+ "Send and check PDUs on receiving\n")
{
nb_cli_enqueue_change(vty, "./domain-password", NB_OP_CREATE, NULL);
nb_cli_enqueue_change(vty, "./domain-password/password", NB_OP_MODIFY,
@@ -601,10 +601,10 @@ DEFPY_YANG(domain_passwd, domain_passwd_cmd,
}
DEFPY_YANG(no_area_passwd, no_area_passwd_cmd,
- "no <area-password|domain-password>$cmd",
- NO_STR
- "Configure the authentication password for an area\n"
- "Set the authentication password for a routing domain\n")
+ "no <area-password|domain-password>$cmd",
+ NO_STR
+ "Configure the authentication password for an area\n"
+ "Set the authentication password for a routing domain\n")
{
nb_cli_enqueue_change(vty, ".", NB_OP_DESTROY, NULL);
@@ -630,11 +630,11 @@ void cli_show_isis_domain_pwd(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance/lsp/timers/level-2/generation-interval
*/
DEFPY_YANG(lsp_gen_interval, lsp_gen_interval_cmd,
- "lsp-gen-interval [level-1|level-2]$level (1-120)$val",
- "Minimum interval between regenerating same LSP\n"
- "Set interval for level 1 only\n"
- "Set interval for level 2 only\n"
- "Minimum interval in seconds\n")
+ "lsp-gen-interval [level-1|level-2]$level (1-120)$val",
+ "Minimum interval between regenerating same LSP\n"
+ "Set interval for level 1 only\n"
+ "Set interval for level 2 only\n"
+ "Minimum interval in seconds\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(
@@ -649,12 +649,12 @@ DEFPY_YANG(lsp_gen_interval, lsp_gen_interval_cmd,
}
DEFPY_YANG(no_lsp_gen_interval, no_lsp_gen_interval_cmd,
- "no lsp-gen-interval [level-1|level-2]$level [(1-120)]",
- NO_STR
- "Minimum interval between regenerating same LSP\n"
- "Set interval for level 1 only\n"
- "Set interval for level 2 only\n"
- "Minimum interval in seconds\n")
+ "no lsp-gen-interval [level-1|level-2]$level [(1-120)]",
+ NO_STR
+ "Minimum interval between regenerating same LSP\n"
+ "Set interval for level 1 only\n"
+ "Set interval for level 2 only\n"
+ "Minimum interval in seconds\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(
@@ -673,11 +673,11 @@ DEFPY_YANG(no_lsp_gen_interval, no_lsp_gen_interval_cmd,
* XPath: /frr-isisd:isis/instance/lsp/timers/level-2/refresh-interval
*/
DEFPY_YANG(lsp_refresh_interval, lsp_refresh_interval_cmd,
- "lsp-refresh-interval [level-1|level-2]$level (1-65235)$val",
- "LSP refresh interval\n"
- "LSP refresh interval for Level 1 only\n"
- "LSP refresh interval for Level 2 only\n"
- "LSP refresh interval in seconds\n")
+ "lsp-refresh-interval [level-1|level-2]$level (1-65235)$val",
+ "LSP refresh interval\n"
+ "LSP refresh interval for Level 1 only\n"
+ "LSP refresh interval for Level 2 only\n"
+ "LSP refresh interval in seconds\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty,
@@ -692,12 +692,12 @@ DEFPY_YANG(lsp_refresh_interval, lsp_refresh_interval_cmd,
}
DEFPY_YANG(no_lsp_refresh_interval, no_lsp_refresh_interval_cmd,
- "no lsp-refresh-interval [level-1|level-2]$level [(1-65235)]",
- NO_STR
- "LSP refresh interval\n"
- "LSP refresh interval for Level 1 only\n"
- "LSP refresh interval for Level 2 only\n"
- "LSP refresh interval in seconds\n")
+ "no lsp-refresh-interval [level-1|level-2]$level [(1-65235)]",
+ NO_STR
+ "LSP refresh interval\n"
+ "LSP refresh interval for Level 1 only\n"
+ "LSP refresh interval for Level 2 only\n"
+ "LSP refresh interval in seconds\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty,
@@ -717,11 +717,11 @@ DEFPY_YANG(no_lsp_refresh_interval, no_lsp_refresh_interval_cmd,
*/
DEFPY_YANG(max_lsp_lifetime, max_lsp_lifetime_cmd,
- "max-lsp-lifetime [level-1|level-2]$level (350-65535)$val",
- "Maximum LSP lifetime\n"
- "Maximum LSP lifetime for Level 1 only\n"
- "Maximum LSP lifetime for Level 2 only\n"
- "LSP lifetime in seconds\n")
+ "max-lsp-lifetime [level-1|level-2]$level (350-65535)$val",
+ "Maximum LSP lifetime\n"
+ "Maximum LSP lifetime for Level 1 only\n"
+ "Maximum LSP lifetime for Level 2 only\n"
+ "LSP lifetime in seconds\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty,
@@ -736,12 +736,12 @@ DEFPY_YANG(max_lsp_lifetime, max_lsp_lifetime_cmd,
}
DEFPY_YANG(no_max_lsp_lifetime, no_max_lsp_lifetime_cmd,
- "no max-lsp-lifetime [level-1|level-2]$level [(350-65535)]",
- NO_STR
- "Maximum LSP lifetime\n"
- "Maximum LSP lifetime for Level 1 only\n"
- "Maximum LSP lifetime for Level 2 only\n"
- "LSP lifetime in seconds\n")
+ "no max-lsp-lifetime [level-1|level-2]$level [(350-65535)]",
+ NO_STR
+ "Maximum LSP lifetime\n"
+ "Maximum LSP lifetime for Level 1 only\n"
+ "Maximum LSP lifetime for Level 2 only\n"
+ "LSP lifetime in seconds\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty,
@@ -759,17 +759,18 @@ DEFPY_YANG(no_max_lsp_lifetime, no_max_lsp_lifetime_cmd,
* XPath: /frr-isisd:isis/instance/lsp/timers
*/
-DEFPY_YANG(lsp_timers, lsp_timers_cmd,
- "lsp-timers [level-1|level-2]$level gen-interval (1-120)$gen refresh-interval (1-65235)$refresh max-lifetime (350-65535)$lifetime",
- "LSP-related timers\n"
- "LSP-related timers for Level 1 only\n"
- "LSP-related timers for Level 2 only\n"
- "Minimum interval between regenerating same LSP\n"
- "Generation interval in seconds\n"
- "LSP refresh interval\n"
- "LSP refresh interval in seconds\n"
- "Maximum LSP lifetime\n"
- "Maximum LSP lifetime in seconds\n")
+DEFPY_YANG(
+ lsp_timers, lsp_timers_cmd,
+ "lsp-timers [level-1|level-2]$level gen-interval (1-120)$gen refresh-interval (1-65235)$refresh max-lifetime (350-65535)$lifetime",
+ "LSP-related timers\n"
+ "LSP-related timers for Level 1 only\n"
+ "LSP-related timers for Level 2 only\n"
+ "Minimum interval between regenerating same LSP\n"
+ "Generation interval in seconds\n"
+ "LSP refresh interval\n"
+ "LSP refresh interval in seconds\n"
+ "Maximum LSP lifetime\n"
+ "Maximum LSP lifetime in seconds\n")
{
if (!level || strmatch(level, "level-1")) {
nb_cli_enqueue_change(
@@ -797,18 +798,19 @@ DEFPY_YANG(lsp_timers, lsp_timers_cmd,
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(no_lsp_timers, no_lsp_timers_cmd,
- "no lsp-timers [level-1|level-2]$level [gen-interval (1-120) refresh-interval (1-65235) max-lifetime (350-65535)]",
- NO_STR
- "LSP-related timers\n"
- "LSP-related timers for Level 1 only\n"
- "LSP-related timers for Level 2 only\n"
- "Minimum interval between regenerating same LSP\n"
- "Generation interval in seconds\n"
- "LSP refresh interval\n"
- "LSP refresh interval in seconds\n"
- "Maximum LSP lifetime\n"
- "Maximum LSP lifetime in seconds\n")
+DEFPY_YANG(
+ no_lsp_timers, no_lsp_timers_cmd,
+ "no lsp-timers [level-1|level-2]$level [gen-interval (1-120) refresh-interval (1-65235) max-lifetime (350-65535)]",
+ NO_STR
+ "LSP-related timers\n"
+ "LSP-related timers for Level 1 only\n"
+ "LSP-related timers for Level 2 only\n"
+ "Minimum interval between regenerating same LSP\n"
+ "Generation interval in seconds\n"
+ "LSP refresh interval\n"
+ "LSP refresh interval in seconds\n"
+ "Maximum LSP lifetime\n"
+ "Maximum LSP lifetime in seconds\n")
{
if (!level || strmatch(level, "level-1")) {
nb_cli_enqueue_change(
@@ -870,8 +872,8 @@ void cli_show_isis_lsp_timers(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance/lsp/mtu
*/
DEFPY_YANG(area_lsp_mtu, area_lsp_mtu_cmd, "lsp-mtu (128-4352)$val",
- "Configure the maximum size of generated LSPs\n"
- "Maximum size of generated LSPs\n")
+ "Configure the maximum size of generated LSPs\n"
+ "Maximum size of generated LSPs\n")
{
nb_cli_enqueue_change(vty, "./lsp/mtu", NB_OP_MODIFY, val_str);
@@ -879,9 +881,9 @@ DEFPY_YANG(area_lsp_mtu, area_lsp_mtu_cmd, "lsp-mtu (128-4352)$val",
}
DEFPY_YANG(no_area_lsp_mtu, no_area_lsp_mtu_cmd, "no lsp-mtu [(128-4352)]",
- NO_STR
- "Configure the maximum size of generated LSPs\n"
- "Maximum size of generated LSPs\n")
+ NO_STR
+ "Configure the maximum size of generated LSPs\n"
+ "Maximum size of generated LSPs\n")
{
nb_cli_enqueue_change(vty, "./lsp/mtu", NB_OP_MODIFY, NULL);
@@ -898,11 +900,11 @@ void cli_show_isis_lsp_mtu(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance/spf/minimum-interval
*/
DEFPY_YANG(spf_interval, spf_interval_cmd,
- "spf-interval [level-1|level-2]$level (1-120)$val",
- "Minimum interval between SPF calculations\n"
- "Set interval for level 1 only\n"
- "Set interval for level 2 only\n"
- "Minimum interval between consecutive SPFs in seconds\n")
+ "spf-interval [level-1|level-2]$level (1-120)$val",
+ "Minimum interval between SPF calculations\n"
+ "Set interval for level 1 only\n"
+ "Set interval for level 2 only\n"
+ "Minimum interval between consecutive SPFs in seconds\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty, "./spf/minimum-interval/level-1",
@@ -915,12 +917,12 @@ DEFPY_YANG(spf_interval, spf_interval_cmd,
}
DEFPY_YANG(no_spf_interval, no_spf_interval_cmd,
- "no spf-interval [level-1|level-2]$level [(1-120)]",
- NO_STR
- "Minimum interval between SPF calculations\n"
- "Set interval for level 1 only\n"
- "Set interval for level 2 only\n"
- "Minimum interval between consecutive SPFs in seconds\n")
+ "no spf-interval [level-1|level-2]$level [(1-120)]",
+ NO_STR
+ "Minimum interval between SPF calculations\n"
+ "Set interval for level 1 only\n"
+ "Set interval for level 2 only\n"
+ "Minimum interval between consecutive SPFs in seconds\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty, "./spf/minimum-interval/level-1",
@@ -949,19 +951,20 @@ void cli_show_isis_spf_min_interval(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/spf/ietf-backoff-delay
*/
-DEFPY_YANG(spf_delay_ietf, spf_delay_ietf_cmd,
- "spf-delay-ietf init-delay (0-60000) short-delay (0-60000) long-delay (0-60000) holddown (0-60000) time-to-learn (0-60000)",
- "IETF SPF delay algorithm\n"
- "Delay used while in QUIET state\n"
- "Delay used while in QUIET state in milliseconds\n"
- "Delay used while in SHORT_WAIT state\n"
- "Delay used while in SHORT_WAIT state in milliseconds\n"
- "Delay used while in LONG_WAIT\n"
- "Delay used while in LONG_WAIT state in milliseconds\n"
- "Time with no received IGP events before considering IGP stable\n"
- "Time with no received IGP events before considering IGP stable (in milliseconds)\n"
- "Maximum duration needed to learn all the events related to a single failure\n"
- "Maximum duration needed to learn all the events related to a single failure (in milliseconds)\n")
+DEFPY_YANG(
+ spf_delay_ietf, spf_delay_ietf_cmd,
+ "spf-delay-ietf init-delay (0-60000) short-delay (0-60000) long-delay (0-60000) holddown (0-60000) time-to-learn (0-60000)",
+ "IETF SPF delay algorithm\n"
+ "Delay used while in QUIET state\n"
+ "Delay used while in QUIET state in milliseconds\n"
+ "Delay used while in SHORT_WAIT state\n"
+ "Delay used while in SHORT_WAIT state in milliseconds\n"
+ "Delay used while in LONG_WAIT\n"
+ "Delay used while in LONG_WAIT state in milliseconds\n"
+ "Time with no received IGP events before considering IGP stable\n"
+ "Time with no received IGP events before considering IGP stable (in milliseconds)\n"
+ "Maximum duration needed to learn all the events related to a single failure\n"
+ "Maximum duration needed to learn all the events related to a single failure (in milliseconds)\n")
{
nb_cli_enqueue_change(vty, "./spf/ietf-backoff-delay", NB_OP_CREATE,
NULL);
@@ -979,20 +982,21 @@ DEFPY_YANG(spf_delay_ietf, spf_delay_ietf_cmd,
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(no_spf_delay_ietf, no_spf_delay_ietf_cmd,
- "no spf-delay-ietf [init-delay (0-60000) short-delay (0-60000) long-delay (0-60000) holddown (0-60000) time-to-learn (0-60000)]",
- NO_STR
- "IETF SPF delay algorithm\n"
- "Delay used while in QUIET state\n"
- "Delay used while in QUIET state in milliseconds\n"
- "Delay used while in SHORT_WAIT state\n"
- "Delay used while in SHORT_WAIT state in milliseconds\n"
- "Delay used while in LONG_WAIT\n"
- "Delay used while in LONG_WAIT state in milliseconds\n"
- "Time with no received IGP events before considering IGP stable\n"
- "Time with no received IGP events before considering IGP stable (in milliseconds)\n"
- "Maximum duration needed to learn all the events related to a single failure\n"
- "Maximum duration needed to learn all the events related to a single failure (in milliseconds)\n")
+DEFPY_YANG(
+ no_spf_delay_ietf, no_spf_delay_ietf_cmd,
+ "no spf-delay-ietf [init-delay (0-60000) short-delay (0-60000) long-delay (0-60000) holddown (0-60000) time-to-learn (0-60000)]",
+ NO_STR
+ "IETF SPF delay algorithm\n"
+ "Delay used while in QUIET state\n"
+ "Delay used while in QUIET state in milliseconds\n"
+ "Delay used while in SHORT_WAIT state\n"
+ "Delay used while in SHORT_WAIT state in milliseconds\n"
+ "Delay used while in LONG_WAIT\n"
+ "Delay used while in LONG_WAIT state in milliseconds\n"
+ "Time with no received IGP events before considering IGP stable\n"
+ "Time with no received IGP events before considering IGP stable (in milliseconds)\n"
+ "Maximum duration needed to learn all the events related to a single failure\n"
+ "Maximum duration needed to learn all the events related to a single failure (in milliseconds)\n")
{
nb_cli_enqueue_change(vty, "./spf/ietf-backoff-delay", NB_OP_DESTROY,
NULL);
@@ -1015,8 +1019,9 @@ void cli_show_isis_spf_ietf_backoff(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/purge-originator
*/
-DEFPY_YANG(area_purge_originator, area_purge_originator_cmd, "[no] purge-originator",
- NO_STR "Use the RFC 6232 purge-originator\n")
+DEFPY_YANG(area_purge_originator, area_purge_originator_cmd,
+ "[no] purge-originator",
+ NO_STR "Use the RFC 6232 purge-originator\n")
{
nb_cli_enqueue_change(vty, "./purge-originator", NB_OP_MODIFY,
no ? "false" : "true");
@@ -1036,7 +1041,7 @@ void cli_show_isis_purge_origin(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance/mpls-te
*/
DEFPY_YANG(isis_mpls_te_on, isis_mpls_te_on_cmd, "mpls-te on",
- MPLS_TE_STR "Enable the MPLS-TE functionality\n")
+ MPLS_TE_STR "Enable the MPLS-TE functionality\n")
{
nb_cli_enqueue_change(vty, "./mpls-te", NB_OP_CREATE,
NULL);
@@ -1045,9 +1050,9 @@ DEFPY_YANG(isis_mpls_te_on, isis_mpls_te_on_cmd, "mpls-te on",
}
DEFPY_YANG(no_isis_mpls_te_on, no_isis_mpls_te_on_cmd, "no mpls-te [on]",
- NO_STR
- "Disable the MPLS-TE functionality\n"
- "Disable the MPLS-TE functionality\n")
+ NO_STR
+ "Disable the MPLS-TE functionality\n"
+ "Disable the MPLS-TE functionality\n")
{
nb_cli_enqueue_change(vty, "./mpls-te", NB_OP_DESTROY,
NULL);
@@ -1065,10 +1070,10 @@ void cli_show_isis_mpls_te(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance/mpls-te/router-address
*/
DEFPY_YANG(isis_mpls_te_router_addr, isis_mpls_te_router_addr_cmd,
- "mpls-te router-address A.B.C.D",
- MPLS_TE_STR
- "Stable IP address of the advertising router\n"
- "MPLS-TE router address in IPv4 address format\n")
+ "mpls-te router-address A.B.C.D",
+ MPLS_TE_STR
+ "Stable IP address of the advertising router\n"
+ "MPLS-TE router address in IPv4 address format\n")
{
nb_cli_enqueue_change(vty, "./mpls-te/router-address",
NB_OP_MODIFY, router_address_str);
@@ -1077,10 +1082,10 @@ DEFPY_YANG(isis_mpls_te_router_addr, isis_mpls_te_router_addr_cmd,
}
DEFPY_YANG(no_isis_mpls_te_router_addr, no_isis_mpls_te_router_addr_cmd,
- "no mpls-te router-address [A.B.C.D]",
- NO_STR MPLS_TE_STR
- "Delete IP address of the advertising router\n"
- "MPLS-TE router address in IPv4 address format\n")
+ "no mpls-te router-address [A.B.C.D]",
+ NO_STR MPLS_TE_STR
+ "Delete IP address of the advertising router\n"
+ "MPLS-TE router address in IPv4 address format\n")
{
nb_cli_enqueue_change(vty, "./mpls-te/router-address",
NB_OP_DESTROY, NULL);
@@ -1095,13 +1100,14 @@ void cli_show_isis_mpls_te_router_addr(struct vty *vty, struct lyd_node *dnode,
yang_dnode_get_string(dnode, NULL));
}
-DEFPY_YANG(isis_mpls_te_inter_as, isis_mpls_te_inter_as_cmd,
- "[no] mpls-te inter-as [level-1|level-1-2|level-2-only]",
- NO_STR MPLS_TE_STR
- "Configure MPLS-TE Inter-AS support\n"
- "AREA native mode self originate INTER-AS LSP with L1 only flooding scope\n"
- "AREA native mode self originate INTER-AS LSP with L1 and L2 flooding scope\n"
- "AS native mode self originate INTER-AS LSP with L2 only flooding scope\n")
+DEFPY_YANG(
+ isis_mpls_te_inter_as, isis_mpls_te_inter_as_cmd,
+ "[no] mpls-te inter-as [level-1|level-1-2|level-2-only]",
+ NO_STR MPLS_TE_STR
+ "Configure MPLS-TE Inter-AS support\n"
+ "AREA native mode self originate INTER-AS LSP with L1 only flooding scope\n"
+ "AREA native mode self originate INTER-AS LSP with L1 and L2 flooding scope\n"
+ "AS native mode self originate INTER-AS LSP with L2 only flooding scope\n")
{
vty_out(vty, "MPLS-TE Inter-AS is not yet supported\n");
return CMD_SUCCESS;
@@ -1111,21 +1117,21 @@ DEFPY_YANG(isis_mpls_te_inter_as, isis_mpls_te_inter_as_cmd,
* XPath: /frr-isisd:isis/instance/default-information-originate
*/
DEFPY_YANG(isis_default_originate, isis_default_originate_cmd,
- "[no] default-information originate <ipv4|ipv6>$ip"
- " <level-1|level-2>$level [always]$always"
- " [{metric (0-16777215)$metric|route-map WORD$rmap}]",
- NO_STR
- "Control distribution of default information\n"
- "Distribute a default route\n"
- "Distribute default route for IPv4\n"
- "Distribute default route for IPv6\n"
- "Distribute default route into level-1\n"
- "Distribute default route into level-2\n"
- "Always advertise default route\n"
- "Metric for default route\n"
- "ISIS default metric\n"
- "Route map reference\n"
- "Pointer to route-map entries\n")
+ "[no] default-information originate <ipv4|ipv6>$ip"
+ " <level-1|level-2>$level [always]$always"
+ " [{metric (0-16777215)$metric|route-map WORD$rmap}]",
+ NO_STR
+ "Control distribution of default information\n"
+ "Distribute a default route\n"
+ "Distribute default route for IPv4\n"
+ "Distribute default route for IPv6\n"
+ "Distribute default route into level-1\n"
+ "Distribute default route into level-2\n"
+ "Always advertise default route\n"
+ "Metric for default route\n"
+ "ISIS default metric\n"
+ "Route map reference\n"
+ "Pointer to route-map entries\n")
{
if (no)
nb_cli_enqueue_change(vty, ".", NB_OP_DESTROY, NULL);
@@ -1189,19 +1195,19 @@ void cli_show_isis_def_origin_ipv6(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance/redistribute
*/
DEFPY_YANG(isis_redistribute, isis_redistribute_cmd,
- "[no] redistribute <ipv4|ipv6>$ip " PROTO_REDIST_STR
- "$proto"
- " <level-1|level-2>$level"
- " [{metric (0-16777215)|route-map WORD}]",
- NO_STR REDIST_STR
- "Redistribute IPv4 routes\n"
- "Redistribute IPv6 routes\n" PROTO_REDIST_HELP
- "Redistribute into level-1\n"
- "Redistribute into level-2\n"
- "Metric for redistributed routes\n"
- "ISIS default metric\n"
- "Route map reference\n"
- "Pointer to route-map entries\n")
+ "[no] redistribute <ipv4|ipv6>$ip " PROTO_REDIST_STR
+ "$proto"
+ " <level-1|level-2>$level"
+ " [{metric (0-16777215)|route-map WORD}]",
+ NO_STR REDIST_STR
+ "Redistribute IPv4 routes\n"
+ "Redistribute IPv6 routes\n" PROTO_REDIST_HELP
+ "Redistribute into level-1\n"
+ "Redistribute into level-2\n"
+ "Metric for redistributed routes\n"
+ "ISIS default metric\n"
+ "Route map reference\n"
+ "Pointer to route-map entries\n")
{
if (no)
nb_cli_enqueue_change(vty, ".", NB_OP_DESTROY, NULL);
@@ -1250,25 +1256,25 @@ void cli_show_isis_redistribute_ipv6(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance/multi-topology
*/
DEFPY_YANG(isis_topology, isis_topology_cmd,
- "[no] topology "
- "<ipv4-unicast"
- "|ipv4-mgmt"
- "|ipv6-unicast"
- "|ipv4-multicast"
- "|ipv6-multicast"
- "|ipv6-mgmt"
- "|ipv6-dstsrc>$topology "
- "[overload]$overload",
- NO_STR
- "Configure IS-IS topologies\n"
- "IPv4 unicast topology\n"
- "IPv4 management topology\n"
- "IPv6 unicast topology\n"
- "IPv4 multicast topology\n"
- "IPv6 multicast topology\n"
- "IPv6 management topology\n"
- "IPv6 dst-src topology\n"
- "Set overload bit for topology\n")
+ "[no] topology "
+ "<ipv4-unicast"
+ "|ipv4-mgmt"
+ "|ipv6-unicast"
+ "|ipv4-multicast"
+ "|ipv6-multicast"
+ "|ipv6-mgmt"
+ "|ipv6-dstsrc>$topology "
+ "[overload]$overload",
+ NO_STR
+ "Configure IS-IS topologies\n"
+ "IPv4 unicast topology\n"
+ "IPv4 management topology\n"
+ "IPv6 unicast topology\n"
+ "IPv4 multicast topology\n"
+ "IPv6 multicast topology\n"
+ "IPv6 management topology\n"
+ "IPv6 dst-src topology\n"
+ "Set overload bit for topology\n")
{
char base_xpath[XPATH_MAXLEN];
@@ -1358,11 +1364,8 @@ void cli_show_isis_mt_ipv6_dstsrc(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/segment-routing/enabled
*/
-DEFPY_YANG (isis_sr_enable,
- isis_sr_enable_cmd,
- "segment-routing on",
- SR_STR
- "Enable Segment Routing\n")
+DEFPY_YANG(isis_sr_enable, isis_sr_enable_cmd, "segment-routing on",
+ SR_STR "Enable Segment Routing\n")
{
nb_cli_enqueue_change(vty, "./segment-routing/enabled", NB_OP_MODIFY,
"true");
@@ -1370,12 +1373,8 @@ DEFPY_YANG (isis_sr_enable,
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG (no_isis_sr_enable,
- no_isis_sr_enable_cmd,
- "no segment-routing [on]",
- NO_STR
- SR_STR
- "Disable Segment Routing\n")
+DEFPY_YANG(no_isis_sr_enable, no_isis_sr_enable_cmd, "no segment-routing [on]",
+ NO_STR SR_STR "Disable Segment Routing\n")
{
nb_cli_enqueue_change(vty, "./segment-routing/enabled", NB_OP_MODIFY,
"false");
@@ -1395,13 +1394,13 @@ void cli_show_isis_sr_enabled(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/segment-routing/srgb
*/
-DEFPY_YANG (isis_sr_global_block_label_range,
- isis_sr_global_block_label_range_cmd,
- "segment-routing global-block (16-1048575)$lower_bound (16-1048575)$upper_bound",
- SR_STR
- "Segment Routing Global Block label range\n"
- "The lower bound of the block\n"
- "The upper bound of the block (block size may not exceed 65535)\n")
+DEFPY_YANG(
+ isis_sr_global_block_label_range, isis_sr_global_block_label_range_cmd,
+ "segment-routing global-block (16-1048575)$lower_bound (16-1048575)$upper_bound",
+ SR_STR
+ "Segment Routing Global Block label range\n"
+ "The lower bound of the block\n"
+ "The upper bound of the block (block size may not exceed 65535)\n")
{
nb_cli_enqueue_change(vty, "./segment-routing/srgb/lower-bound",
NB_OP_MODIFY, lower_bound_str);
@@ -1411,14 +1410,13 @@ DEFPY_YANG (isis_sr_global_block_label_range,
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG (no_isis_sr_global_block_label_range,
- no_isis_sr_global_block_label_range_cmd,
- "no segment-routing global-block [(16-1048575) (16-1048575)]",
- NO_STR
- SR_STR
- "Segment Routing Global Block label range\n"
- "The lower bound of the block\n"
- "The upper bound of the block (block size may not exceed 65535)\n")
+DEFPY_YANG(no_isis_sr_global_block_label_range,
+ no_isis_sr_global_block_label_range_cmd,
+ "no segment-routing global-block [(16-1048575) (16-1048575)]",
+ NO_STR SR_STR
+ "Segment Routing Global Block label range\n"
+ "The lower bound of the block\n"
+ "The upper bound of the block (block size may not exceed 65535)\n")
{
nb_cli_enqueue_change(vty, "./segment-routing/srgb/lower-bound",
NB_OP_MODIFY, NULL);
@@ -1439,13 +1437,13 @@ void cli_show_isis_srgb(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/segment-routing/srlb
*/
-DEFPY_YANG (isis_sr_local_block_label_range,
- isis_sr_local_block_label_range_cmd,
- "segment-routing local-block (16-1048575)$lower_bound (16-1048575)$upper_bound",
- SR_STR
- "Segment Routing Local Block label range\n"
- "The lower bound of the block\n"
- "The upper bound of the block (block size may not exceed 65535)\n")
+DEFPY_YANG(
+ isis_sr_local_block_label_range, isis_sr_local_block_label_range_cmd,
+ "segment-routing local-block (16-1048575)$lower_bound (16-1048575)$upper_bound",
+ SR_STR
+ "Segment Routing Local Block label range\n"
+ "The lower bound of the block\n"
+ "The upper bound of the block (block size may not exceed 65535)\n")
{
nb_cli_enqueue_change(vty, "./segment-routing/srlb/lower-bound",
NB_OP_MODIFY, lower_bound_str);
@@ -1455,14 +1453,13 @@ DEFPY_YANG (isis_sr_local_block_label_range,
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG (no_isis_sr_local_block_label_range,
- no_isis_sr_local_block_label_range_cmd,
- "no segment-routing local-block [(16-1048575) (16-1048575)]",
- NO_STR
- SR_STR
- "Segment Routing Local Block label range\n"
- "The lower bound of the block\n"
- "The upper bound of the block (block size may not exceed 65535)\n")
+DEFPY_YANG(no_isis_sr_local_block_label_range,
+ no_isis_sr_local_block_label_range_cmd,
+ "no segment-routing local-block [(16-1048575) (16-1048575)]",
+ NO_STR SR_STR
+ "Segment Routing Local Block label range\n"
+ "The lower bound of the block\n"
+ "The upper bound of the block (block size may not exceed 65535)\n")
{
nb_cli_enqueue_change(vty, "./segment-routing/srlb/lower-bound",
NB_OP_MODIFY, NULL);
@@ -1483,12 +1480,11 @@ void cli_show_isis_srlb(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/segment-routing/msd/node-msd
*/
-DEFPY_YANG (isis_sr_node_msd,
- isis_sr_node_msd_cmd,
- "segment-routing node-msd (1-16)$msd",
- SR_STR
- "Maximum Stack Depth for this router\n"
- "Maximum number of label that can be stack (1-16)\n")
+DEFPY_YANG(isis_sr_node_msd, isis_sr_node_msd_cmd,
+ "segment-routing node-msd (1-16)$msd",
+ SR_STR
+ "Maximum Stack Depth for this router\n"
+ "Maximum number of label that can be stack (1-16)\n")
{
nb_cli_enqueue_change(vty, "./segment-routing/msd/node-msd",
NB_OP_MODIFY, msd_str);
@@ -1496,13 +1492,11 @@ DEFPY_YANG (isis_sr_node_msd,
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG (no_isis_sr_node_msd,
- no_isis_sr_node_msd_cmd,
- "no segment-routing node-msd [(1-16)]",
- NO_STR
- SR_STR
- "Maximum Stack Depth for this router\n"
- "Maximum number of label that can be stack (1-16)\n")
+DEFPY_YANG(no_isis_sr_node_msd, no_isis_sr_node_msd_cmd,
+ "no segment-routing node-msd [(1-16)]",
+ NO_STR SR_STR
+ "Maximum Stack Depth for this router\n"
+ "Maximum number of label that can be stack (1-16)\n")
{
nb_cli_enqueue_change(vty, "./segment-routing/msd/node-msd",
NB_OP_DESTROY, NULL);
@@ -1520,22 +1514,22 @@ void cli_show_isis_node_msd(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/segment-routing/prefix-sid-map/prefix-sid
*/
-DEFPY_YANG (isis_sr_prefix_sid,
- isis_sr_prefix_sid_cmd,
- "segment-routing prefix\
+DEFPY_YANG(
+ isis_sr_prefix_sid, isis_sr_prefix_sid_cmd,
+ "segment-routing prefix\
<A.B.C.D/M|X:X::X:X/M>$prefix\
<absolute$sid_type (16-1048575)$sid_value|index$sid_type (0-65535)$sid_value>\
[<no-php-flag|explicit-null>$lh_behavior]",
- SR_STR
- "Prefix SID\n"
- "IPv4 Prefix\n"
- "IPv6 Prefix\n"
- "Specify the absolute value of Prefix Segement ID\n"
- "The Prefix Segment ID value\n"
- "Specify the index of Prefix Segement ID\n"
- "The Prefix Segment ID index\n"
- "Don't request Penultimate Hop Popping (PHP)\n"
- "Upstream neighbor must replace prefix-sid with explicit null label\n")
+ SR_STR
+ "Prefix SID\n"
+ "IPv4 Prefix\n"
+ "IPv6 Prefix\n"
+ "Specify the absolute value of Prefix Segement ID\n"
+ "The Prefix Segment ID value\n"
+ "Specify the index of Prefix Segement ID\n"
+ "The Prefix Segment ID index\n"
+ "Don't request Penultimate Hop Popping (PHP)\n"
+ "Upstream neighbor must replace prefix-sid with explicit null label\n")
{
nb_cli_enqueue_change(vty, ".", NB_OP_CREATE, NULL);
nb_cli_enqueue_change(vty, "./sid-value-type", NB_OP_MODIFY, sid_type);
@@ -1559,21 +1553,20 @@ DEFPY_YANG (isis_sr_prefix_sid,
prefix_str);
}
-DEFPY_YANG (no_isis_sr_prefix_sid,
- no_isis_sr_prefix_sid_cmd,
- "no segment-routing prefix <A.B.C.D/M|X:X::X:X/M>$prefix\
+DEFPY_YANG(
+ no_isis_sr_prefix_sid, no_isis_sr_prefix_sid_cmd,
+ "no segment-routing prefix <A.B.C.D/M|X:X::X:X/M>$prefix\
[<absolute$sid_type (16-1048575)|index (0-65535)> [<no-php-flag|explicit-null>]]",
- NO_STR
- SR_STR
- "Prefix SID\n"
- "IPv4 Prefix\n"
- "IPv6 Prefix\n"
- "Specify the absolute value of Prefix Segement ID\n"
- "The Prefix Segment ID value\n"
- "Specify the index of Prefix Segement ID\n"
- "The Prefix Segment ID index\n"
- "Don't request Penultimate Hop Popping (PHP)\n"
- "Upstream neighbor must replace prefix-sid with explicit null label\n")
+ NO_STR SR_STR
+ "Prefix SID\n"
+ "IPv4 Prefix\n"
+ "IPv6 Prefix\n"
+ "Specify the absolute value of Prefix Segement ID\n"
+ "The Prefix Segment ID value\n"
+ "Specify the index of Prefix Segement ID\n"
+ "The Prefix Segment ID index\n"
+ "Don't request Penultimate Hop Popping (PHP)\n"
+ "Upstream neighbor must replace prefix-sid with explicit null label\n")
{
nb_cli_enqueue_change(vty, ".", NB_OP_DESTROY, NULL);
@@ -1612,9 +1605,9 @@ void cli_show_isis_prefix_sid(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-interface:lib/interface/frr-isisd:isis/passive
*/
DEFPY_YANG(isis_passive, isis_passive_cmd, "[no] isis passive",
- NO_STR
- "IS-IS routing protocol\n"
- "Configure the passive mode for interface\n")
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Configure the passive mode for interface\n")
{
nb_cli_enqueue_change(vty, "./frr-isisd:isis/passive", NB_OP_MODIFY,
no ? "false" : "true");
@@ -1634,12 +1627,13 @@ void cli_show_ip_isis_passive(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-interface:lib/interface/frr-isisd:isis/password
*/
-DEFPY_YANG(isis_passwd, isis_passwd_cmd, "isis password <md5|clear>$type WORD$pwd",
- "IS-IS routing protocol\n"
- "Configure the authentication password for a circuit\n"
- "HMAC-MD5 authentication\n"
- "Cleartext password\n"
- "Circuit password\n")
+DEFPY_YANG(isis_passwd, isis_passwd_cmd,
+ "isis password <md5|clear>$type WORD$pwd",
+ "IS-IS routing protocol\n"
+ "Configure the authentication password for a circuit\n"
+ "HMAC-MD5 authentication\n"
+ "Cleartext password\n"
+ "Circuit password\n")
{
nb_cli_enqueue_change(vty, "./frr-isisd:isis/password", NB_OP_CREATE,
NULL);
@@ -1651,13 +1645,14 @@ DEFPY_YANG(isis_passwd, isis_passwd_cmd, "isis password <md5|clear>$type WORD$pw
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(no_isis_passwd, no_isis_passwd_cmd, "no isis password [<md5|clear> WORD]",
- NO_STR
- "IS-IS routing protocol\n"
- "Configure the authentication password for a circuit\n"
- "HMAC-MD5 authentication\n"
- "Cleartext password\n"
- "Circuit password\n")
+DEFPY_YANG(no_isis_passwd, no_isis_passwd_cmd,
+ "no isis password [<md5|clear> WORD]",
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Configure the authentication password for a circuit\n"
+ "HMAC-MD5 authentication\n"
+ "Cleartext password\n"
+ "Circuit password\n")
{
nb_cli_enqueue_change(vty, "./frr-isisd:isis/password", NB_OP_DESTROY,
NULL);
@@ -1677,12 +1672,12 @@ void cli_show_ip_isis_password(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-interface:lib/interface/frr-isisd:isis/metric
*/
DEFPY_YANG(isis_metric, isis_metric_cmd,
- "isis metric [level-1|level-2]$level (0-16777215)$met",
- "IS-IS routing protocol\n"
- "Set default metric for circuit\n"
- "Specify metric for level-1 routing\n"
- "Specify metric for level-2 routing\n"
- "Default metric value\n")
+ "isis metric [level-1|level-2]$level (0-16777215)$met",
+ "IS-IS routing protocol\n"
+ "Set default metric for circuit\n"
+ "Specify metric for level-1 routing\n"
+ "Specify metric for level-2 routing\n"
+ "Default metric value\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty, "./frr-isisd:isis/metric/level-1",
@@ -1695,13 +1690,13 @@ DEFPY_YANG(isis_metric, isis_metric_cmd,
}
DEFPY_YANG(no_isis_metric, no_isis_metric_cmd,
- "no isis metric [level-1|level-2]$level [(0-16777215)]",
- NO_STR
- "IS-IS routing protocol\n"
- "Set default metric for circuit\n"
- "Specify metric for level-1 routing\n"
- "Specify metric for level-2 routing\n"
- "Default metric value\n")
+ "no isis metric [level-1|level-2]$level [(0-16777215)]",
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Set default metric for circuit\n"
+ "Specify metric for level-1 routing\n"
+ "Specify metric for level-2 routing\n"
+ "Default metric value\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty, "./frr-isisd:isis/metric/level-1",
@@ -1731,12 +1726,12 @@ void cli_show_ip_isis_metric(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-interface:lib/interface/frr-isisd:isis/hello/interval
*/
DEFPY_YANG(isis_hello_interval, isis_hello_interval_cmd,
- "isis hello-interval [level-1|level-2]$level (1-600)$intv",
- "IS-IS routing protocol\n"
- "Set Hello interval\n"
- "Specify hello-interval for level-1 IIHs\n"
- "Specify hello-interval for level-2 IIHs\n"
- "Holdtime 1 seconds, interval depends on multiplier\n")
+ "isis hello-interval [level-1|level-2]$level (1-600)$intv",
+ "IS-IS routing protocol\n"
+ "Set Hello interval\n"
+ "Specify hello-interval for level-1 IIHs\n"
+ "Specify hello-interval for level-2 IIHs\n"
+ "Holdtime 1 seconds, interval depends on multiplier\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty,
@@ -1751,13 +1746,13 @@ DEFPY_YANG(isis_hello_interval, isis_hello_interval_cmd,
}
DEFPY_YANG(no_isis_hello_interval, no_isis_hello_interval_cmd,
- "no isis hello-interval [level-1|level-2]$level [(1-600)]",
- NO_STR
- "IS-IS routing protocol\n"
- "Set Hello interval\n"
- "Specify hello-interval for level-1 IIHs\n"
- "Specify hello-interval for level-2 IIHs\n"
- "Holdtime 1 second, interval depends on multiplier\n")
+ "no isis hello-interval [level-1|level-2]$level [(1-600)]",
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Set Hello interval\n"
+ "Specify hello-interval for level-1 IIHs\n"
+ "Specify hello-interval for level-2 IIHs\n"
+ "Holdtime 1 second, interval depends on multiplier\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty,
@@ -1789,12 +1784,12 @@ void cli_show_ip_isis_hello_interval(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-interface:lib/interface/frr-isisd:isis/hello/multiplier
*/
DEFPY_YANG(isis_hello_multiplier, isis_hello_multiplier_cmd,
- "isis hello-multiplier [level-1|level-2]$level (2-100)$mult",
- "IS-IS routing protocol\n"
- "Set multiplier for Hello holding time\n"
- "Specify hello multiplier for level-1 IIHs\n"
- "Specify hello multiplier for level-2 IIHs\n"
- "Hello multiplier value\n")
+ "isis hello-multiplier [level-1|level-2]$level (2-100)$mult",
+ "IS-IS routing protocol\n"
+ "Set multiplier for Hello holding time\n"
+ "Specify hello multiplier for level-1 IIHs\n"
+ "Specify hello multiplier for level-2 IIHs\n"
+ "Hello multiplier value\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(
@@ -1809,13 +1804,13 @@ DEFPY_YANG(isis_hello_multiplier, isis_hello_multiplier_cmd,
}
DEFPY_YANG(no_isis_hello_multiplier, no_isis_hello_multiplier_cmd,
- "no isis hello-multiplier [level-1|level-2]$level [(2-100)]",
- NO_STR
- "IS-IS routing protocol\n"
- "Set multiplier for Hello holding time\n"
- "Specify hello multiplier for level-1 IIHs\n"
- "Specify hello multiplier for level-2 IIHs\n"
- "Hello multiplier value\n")
+ "no isis hello-multiplier [level-1|level-2]$level [(2-100)]",
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Set multiplier for Hello holding time\n"
+ "Specify hello multiplier for level-1 IIHs\n"
+ "Specify hello multiplier for level-2 IIHs\n"
+ "Hello multiplier value\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(
@@ -1847,10 +1842,11 @@ void cli_show_ip_isis_hello_multi(struct vty *vty, struct lyd_node *dnode,
* XPath:
* /frr-interface:lib/interface/frr-isisd:isis/disable-three-way-handshake
*/
-DEFPY_YANG(isis_threeway_adj, isis_threeway_adj_cmd, "[no] isis three-way-handshake",
- NO_STR
- "IS-IS commands\n"
- "Enable/Disable three-way handshake\n")
+DEFPY_YANG(isis_threeway_adj, isis_threeway_adj_cmd,
+ "[no] isis three-way-handshake",
+ NO_STR
+ "IS-IS commands\n"
+ "Enable/Disable three-way handshake\n")
{
nb_cli_enqueue_change(vty,
"./frr-isisd:isis/disable-three-way-handshake",
@@ -1870,11 +1866,12 @@ void cli_show_ip_isis_threeway_shake(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-interface:lib/interface/frr-isisd:isis/hello/padding
*/
-DEFPY_YANG(isis_hello_padding, isis_hello_padding_cmd, "[no] isis hello padding",
- NO_STR
- "IS-IS routing protocol\n"
- "Add padding to IS-IS hello packets\n"
- "Pad hello packets\n")
+DEFPY_YANG(isis_hello_padding, isis_hello_padding_cmd,
+ "[no] isis hello padding",
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Add padding to IS-IS hello packets\n"
+ "Pad hello packets\n")
{
nb_cli_enqueue_change(vty, "./frr-isisd:isis/hello/padding",
NB_OP_MODIFY, no ? "false" : "true");
@@ -1895,12 +1892,12 @@ void cli_show_ip_isis_hello_padding(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-interface:lib/interface/frr-isisd:isis/csnp-interval
*/
DEFPY_YANG(csnp_interval, csnp_interval_cmd,
- "isis csnp-interval (1-600)$intv [level-1|level-2]$level",
- "IS-IS routing protocol\n"
- "Set CSNP interval in seconds\n"
- "CSNP interval value\n"
- "Specify interval for level-1 CSNPs\n"
- "Specify interval for level-2 CSNPs\n")
+ "isis csnp-interval (1-600)$intv [level-1|level-2]$level",
+ "IS-IS routing protocol\n"
+ "Set CSNP interval in seconds\n"
+ "CSNP interval value\n"
+ "Specify interval for level-1 CSNPs\n"
+ "Specify interval for level-2 CSNPs\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty,
@@ -1915,13 +1912,13 @@ DEFPY_YANG(csnp_interval, csnp_interval_cmd,
}
DEFPY_YANG(no_csnp_interval, no_csnp_interval_cmd,
- "no isis csnp-interval [(1-600)] [level-1|level-2]$level",
- NO_STR
- "IS-IS routing protocol\n"
- "Set CSNP interval in seconds\n"
- "CSNP interval value\n"
- "Specify interval for level-1 CSNPs\n"
- "Specify interval for level-2 CSNPs\n")
+ "no isis csnp-interval [(1-600)] [level-1|level-2]$level",
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Set CSNP interval in seconds\n"
+ "CSNP interval value\n"
+ "Specify interval for level-1 CSNPs\n"
+ "Specify interval for level-2 CSNPs\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty,
@@ -1953,12 +1950,12 @@ void cli_show_ip_isis_csnp_interval(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-interface:lib/interface/frr-isisd:isis/psnp-interval
*/
DEFPY_YANG(psnp_interval, psnp_interval_cmd,
- "isis psnp-interval (1-120)$intv [level-1|level-2]$level",
- "IS-IS routing protocol\n"
- "Set PSNP interval in seconds\n"
- "PSNP interval value\n"
- "Specify interval for level-1 PSNPs\n"
- "Specify interval for level-2 PSNPs\n")
+ "isis psnp-interval (1-120)$intv [level-1|level-2]$level",
+ "IS-IS routing protocol\n"
+ "Set PSNP interval in seconds\n"
+ "PSNP interval value\n"
+ "Specify interval for level-1 PSNPs\n"
+ "Specify interval for level-2 PSNPs\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty,
@@ -1973,13 +1970,13 @@ DEFPY_YANG(psnp_interval, psnp_interval_cmd,
}
DEFPY_YANG(no_psnp_interval, no_psnp_interval_cmd,
- "no isis psnp-interval [(1-120)] [level-1|level-2]$level",
- NO_STR
- "IS-IS routing protocol\n"
- "Set PSNP interval in seconds\n"
- "PSNP interval value\n"
- "Specify interval for level-1 PSNPs\n"
- "Specify interval for level-2 PSNPs\n")
+ "no isis psnp-interval [(1-120)] [level-1|level-2]$level",
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Set PSNP interval in seconds\n"
+ "PSNP interval value\n"
+ "Specify interval for level-1 PSNPs\n"
+ "Specify interval for level-2 PSNPs\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty,
@@ -2011,25 +2008,25 @@ void cli_show_ip_isis_psnp_interval(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-interface:lib/interface/frr-isisd:isis/multi-topology
*/
DEFPY_YANG(circuit_topology, circuit_topology_cmd,
- "[no] isis topology"
- "<ipv4-unicast"
- "|ipv4-mgmt"
- "|ipv6-unicast"
- "|ipv4-multicast"
- "|ipv6-multicast"
- "|ipv6-mgmt"
- "|ipv6-dstsrc"
- ">$topology",
- NO_STR
- "IS-IS routing protocol\n"
- "Configure interface IS-IS topologies\n"
- "IPv4 unicast topology\n"
- "IPv4 management topology\n"
- "IPv6 unicast topology\n"
- "IPv4 multicast topology\n"
- "IPv6 multicast topology\n"
- "IPv6 management topology\n"
- "IPv6 dst-src topology\n")
+ "[no] isis topology"
+ "<ipv4-unicast"
+ "|ipv4-mgmt"
+ "|ipv6-unicast"
+ "|ipv4-multicast"
+ "|ipv6-multicast"
+ "|ipv6-mgmt"
+ "|ipv6-dstsrc"
+ ">$topology",
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Configure interface IS-IS topologies\n"
+ "IPv4 unicast topology\n"
+ "IPv4 management topology\n"
+ "IPv6 unicast topology\n"
+ "IPv4 multicast topology\n"
+ "IPv6 multicast topology\n"
+ "IPv6 management topology\n"
+ "IPv6 dst-src topology\n")
{
nb_cli_enqueue_change(vty, ".", NB_OP_MODIFY, no ? "false" : "true");
@@ -2104,12 +2101,12 @@ void cli_show_ip_isis_mt_ipv6_dstsrc(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-interface:lib/interface/frr-isisd:isis/circuit-type
*/
DEFPY_YANG(isis_circuit_type, isis_circuit_type_cmd,
- "isis circuit-type <level-1|level-1-2|level-2-only>$type",
- "IS-IS routing protocol\n"
- "Configure circuit type for interface\n"
- "Level-1 only adjacencies are formed\n"
- "Level-1-2 adjacencies are formed\n"
- "Level-2 only adjacencies are formed\n")
+ "isis circuit-type <level-1|level-1-2|level-2-only>$type",
+ "IS-IS routing protocol\n"
+ "Configure circuit type for interface\n"
+ "Level-1 only adjacencies are formed\n"
+ "Level-1-2 adjacencies are formed\n"
+ "Level-2 only adjacencies are formed\n")
{
nb_cli_enqueue_change(
vty, "./frr-isisd:isis/circuit-type", NB_OP_MODIFY,
@@ -2119,13 +2116,13 @@ DEFPY_YANG(isis_circuit_type, isis_circuit_type_cmd,
}
DEFPY_YANG(no_isis_circuit_type, no_isis_circuit_type_cmd,
- "no isis circuit-type [level-1|level-1-2|level-2-only]",
- NO_STR
- "IS-IS routing protocol\n"
- "Configure circuit type for interface\n"
- "Level-1 only adjacencies are formed\n"
- "Level-1-2 adjacencies are formed\n"
- "Level-2 only adjacencies are formed\n")
+ "no isis circuit-type [level-1|level-1-2|level-2-only]",
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Configure circuit type for interface\n"
+ "Level-1 only adjacencies are formed\n"
+ "Level-1-2 adjacencies are formed\n"
+ "Level-2 only adjacencies are formed\n")
{
struct interface *ifp;
struct isis_circuit *circuit;
@@ -2197,10 +2194,10 @@ void cli_show_ip_isis_circ_type(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-interface:lib/interface/frr-isisd:isis/network-type
*/
DEFPY_YANG(isis_network, isis_network_cmd, "[no] isis network point-to-point",
- NO_STR
- "IS-IS routing protocol\n"
- "Set network type\n"
- "point-to-point network type\n")
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Set network type\n"
+ "point-to-point network type\n")
{
nb_cli_enqueue_change(vty, "./frr-isisd:isis/network-type",
NB_OP_MODIFY,
@@ -2222,12 +2219,12 @@ void cli_show_ip_isis_network_type(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-interface:lib/interface/frr-isisd:isis/priority
*/
DEFPY_YANG(isis_priority, isis_priority_cmd,
- "isis priority (0-127)$prio [level-1|level-2]$level",
- "IS-IS routing protocol\n"
- "Set priority for Designated Router election\n"
- "Priority value\n"
- "Specify priority for level-1 routing\n"
- "Specify priority for level-2 routing\n")
+ "isis priority (0-127)$prio [level-1|level-2]$level",
+ "IS-IS routing protocol\n"
+ "Set priority for Designated Router election\n"
+ "Priority value\n"
+ "Specify priority for level-1 routing\n"
+ "Specify priority for level-2 routing\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty, "./frr-isisd:isis/priority/level-1",
@@ -2240,13 +2237,13 @@ DEFPY_YANG(isis_priority, isis_priority_cmd,
}
DEFPY_YANG(no_isis_priority, no_isis_priority_cmd,
- "no isis priority [(0-127)] [level-1|level-2]$level",
- NO_STR
- "IS-IS routing protocol\n"
- "Set priority for Designated Router election\n"
- "Priority value\n"
- "Specify priority for level-1 routing\n"
- "Specify priority for level-2 routing\n")
+ "no isis priority [(0-127)] [level-1|level-2]$level",
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Set priority for Designated Router election\n"
+ "Priority value\n"
+ "Specify priority for level-1 routing\n"
+ "Specify priority for level-2 routing\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty, "./frr-isisd:isis/priority/level-1",
@@ -2276,7 +2273,7 @@ void cli_show_ip_isis_priority(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance/log-adjacency-changes
*/
DEFPY_YANG(log_adj_changes, log_adj_changes_cmd, "[no] log-adjacency-changes",
- NO_STR "Log changes in adjacency state\n")
+ NO_STR "Log changes in adjacency state\n")
{
nb_cli_enqueue_change(vty, "./log-adjacency-changes", NB_OP_MODIFY,
no ? "false" : "true");
diff --git a/lib/filter_cli.c b/lib/filter_cli.c
index 9523a9059..fd82c7ba3 100644
--- a/lib/filter_cli.c
+++ b/lib/filter_cli.c
@@ -172,11 +172,8 @@ static long acl_get_seq(struct vty *vty, const char *xpath)
DEFPY_YANG(
access_list_std, access_list_std_cmd,
"access-list <(1-99)|(1300-1999)>$number [seq (1-4294967295)$seq] <deny|permit>$action <[host] A.B.C.D$host|A.B.C.D$host A.B.C.D$mask|any>",
- ACCESS_LIST_STR
- ACCESS_LIST_LEG_STR
- ACCESS_LIST_LEG_EXT_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ ACCESS_LIST_STR ACCESS_LIST_LEG_STR ACCESS_LIST_LEG_EXT_STR
+ ACCESS_LIST_SEQ_STR ACCESS_LIST_ACTION_STR
"A single host address\n"
"Address to match\n"
"Address to match\n"
@@ -222,12 +219,8 @@ DEFPY_YANG(
DEFPY_YANG(
no_access_list_std, no_access_list_std_cmd,
"no access-list <(1-99)|(1300-1999)>$number [seq (1-4294967295)$seq] <deny|permit>$action <[host] A.B.C.D$host|A.B.C.D$host A.B.C.D$mask|any>",
- NO_STR
- ACCESS_LIST_STR
- ACCESS_LIST_LEG_STR
- ACCESS_LIST_LEG_EXT_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ NO_STR ACCESS_LIST_STR ACCESS_LIST_LEG_STR ACCESS_LIST_LEG_EXT_STR
+ ACCESS_LIST_SEQ_STR ACCESS_LIST_ACTION_STR
"A single host address\n"
"Address to match\n"
"Address to match\n"
@@ -281,11 +274,8 @@ DEFPY_YANG(
DEFPY_YANG(
access_list_ext, access_list_ext_cmd,
"access-list <(100-199)|(2000-2699)>$number [seq (1-4294967295)$seq] <deny|permit>$action ip <A.B.C.D$src A.B.C.D$src_mask|host A.B.C.D$src|any> <A.B.C.D$dst A.B.C.D$dst_mask|host A.B.C.D$dst|any>",
- ACCESS_LIST_STR
- ACCESS_LIST_ELEG_STR
- ACCESS_LIST_ELEG_EXT_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ ACCESS_LIST_STR ACCESS_LIST_ELEG_STR ACCESS_LIST_ELEG_EXT_STR
+ ACCESS_LIST_SEQ_STR ACCESS_LIST_ACTION_STR
"IPv4 address\n"
"Source address to match\n"
"Source address mask to apply\n"
@@ -351,12 +341,8 @@ DEFPY_YANG(
DEFPY_YANG(
no_access_list_ext, no_access_list_ext_cmd,
"no access-list <(100-199)|(2000-2699)>$number [seq (1-4294967295)$seq] <deny|permit>$action ip <A.B.C.D$src A.B.C.D$src_mask|host A.B.C.D$src|any> <A.B.C.D$dst A.B.C.D$dst_mask|host A.B.C.D$dst|any>",
- NO_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ELEG_STR
- ACCESS_LIST_ELEG_EXT_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ NO_STR ACCESS_LIST_STR ACCESS_LIST_ELEG_STR ACCESS_LIST_ELEG_EXT_STR
+ ACCESS_LIST_SEQ_STR ACCESS_LIST_ACTION_STR
"Any Internet Protocol\n"
"Source address to match\n"
"Source address mask to apply\n"
@@ -429,12 +415,9 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_access_list_legacy, no_access_list_legacy_cmd,
- "no access-list <(1-99)|(100-199)|(1300-1999)|(2000-2699)>$number",
- NO_STR
- ACCESS_LIST_STR
- ACCESS_LIST_XLEG_STR)
+DEFPY_YANG(no_access_list_legacy, no_access_list_legacy_cmd,
+ "no access-list <(1-99)|(100-199)|(1300-1999)|(2000-2699)>$number",
+ NO_STR ACCESS_LIST_STR ACCESS_LIST_XLEG_STR)
{
char xpath[XPATH_MAXLEN];
@@ -494,10 +477,8 @@ void access_list_legacy_show(struct vty *vty, struct lyd_node *dnode,
DEFPY_YANG(
access_list_legacy_remark, access_list_legacy_remark_cmd,
"access-list <(1-99)|(100-199)|(1300-1999)|(2000-2699)>$number remark LINE...",
- ACCESS_LIST_STR
- ACCESS_LIST_XLEG_STR
- ACCESS_LIST_REMARK_STR
- ACCESS_LIST_REMARK_LINE_STR)
+ ACCESS_LIST_STR ACCESS_LIST_XLEG_STR ACCESS_LIST_REMARK_STR
+ ACCESS_LIST_REMARK_LINE_STR)
{
int rv;
char *remark;
@@ -518,10 +499,7 @@ DEFPY_YANG(
DEFPY_YANG(
no_access_list_legacy_remark, no_access_list_legacy_remark_cmd,
"no access-list <(1-99)|(100-199)|(1300-1999)|(2000-2699)>$number remark",
- NO_STR
- ACCESS_LIST_STR
- ACCESS_LIST_XLEG_STR
- ACCESS_LIST_REMARK_STR)
+ NO_STR ACCESS_LIST_STR ACCESS_LIST_XLEG_STR ACCESS_LIST_REMARK_STR)
{
char xpath[XPATH_MAXLEN];
@@ -536,11 +514,8 @@ DEFPY_YANG(
ALIAS_YANG(
no_access_list_legacy_remark, no_access_list_legacy_remark_line_cmd,
"no access-list <(1-99)|(100-199)|(1300-1999)|(2000-2699)>$number remark LINE...",
- NO_STR
- ACCESS_LIST_STR
- ACCESS_LIST_XLEG_STR
- ACCESS_LIST_REMARK_STR
- ACCESS_LIST_REMARK_LINE_STR)
+ NO_STR ACCESS_LIST_STR ACCESS_LIST_XLEG_STR ACCESS_LIST_REMARK_STR
+ ACCESS_LIST_REMARK_LINE_STR)
void access_list_legacy_remark_show(struct vty *vty, struct lyd_node *dnode,
bool show_defaults)
@@ -556,10 +531,8 @@ void access_list_legacy_remark_show(struct vty *vty, struct lyd_node *dnode,
DEFPY_YANG(
access_list, access_list_cmd,
"access-list WORD$name [seq (1-4294967295)$seq] <deny|permit>$action <A.B.C.D/M$prefix [exact-match$exact]|any>",
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR ACCESS_LIST_SEQ_STR
+ ACCESS_LIST_ACTION_STR
"Prefix to match. e.g. 10.0.0.0/8\n"
"Exact match of the prefixes\n"
"Match any IPv4\n")
@@ -602,11 +575,8 @@ DEFPY_YANG(
DEFPY_YANG(
no_access_list, no_access_list_cmd,
"no access-list WORD$name [seq (1-4294967295)$seq] <deny|permit>$action <A.B.C.D/M$prefix [exact-match$exact]|any>",
- NO_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ NO_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR ACCESS_LIST_SEQ_STR
+ ACCESS_LIST_ACTION_STR
"Prefix to match. e.g. 10.0.0.0/8\n"
"Exact match of the prefixes\n"
"Match any IPv4\n")
@@ -656,12 +626,9 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_access_list_all, no_access_list_all_cmd,
- "no access-list WORD$name",
- NO_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR)
+DEFPY_YANG(no_access_list_all, no_access_list_all_cmd,
+ "no access-list WORD$name",
+ NO_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR)
{
char xpath[XPATH_MAXLEN];
@@ -672,13 +639,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- access_list_remark, access_list_remark_cmd,
- "access-list WORD$name remark LINE...",
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_REMARK_STR
- ACCESS_LIST_REMARK_LINE_STR)
+DEFPY_YANG(access_list_remark, access_list_remark_cmd,
+ "access-list WORD$name remark LINE...",
+ ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR ACCESS_LIST_REMARK_STR
+ ACCESS_LIST_REMARK_LINE_STR)
{
int rv;
char *remark;
@@ -696,13 +660,9 @@ DEFPY_YANG(
return rv;
}
-DEFPY_YANG(
- no_access_list_remark, no_access_list_remark_cmd,
- "no access-list WORD$name remark",
- NO_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_REMARK_STR)
+DEFPY_YANG(no_access_list_remark, no_access_list_remark_cmd,
+ "no access-list WORD$name remark",
+ NO_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR ACCESS_LIST_REMARK_STR)
{
char xpath[XPATH_MAXLEN];
@@ -714,23 +674,16 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-ALIAS_YANG(
- no_access_list_remark, no_access_list_remark_line_cmd,
- "no access-list WORD$name remark LINE...",
- NO_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_REMARK_STR
- ACCESS_LIST_REMARK_LINE_STR)
+ALIAS_YANG(no_access_list_remark, no_access_list_remark_line_cmd,
+ "no access-list WORD$name remark LINE...",
+ NO_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR ACCESS_LIST_REMARK_STR
+ ACCESS_LIST_REMARK_LINE_STR)
DEFPY_YANG(
ipv6_access_list, ipv6_access_list_cmd,
"ipv6 access-list WORD$name [seq (1-4294967295)$seq] <deny|permit>$action <X:X::X:X/M$prefix [exact-match$exact]|any>",
- IPV6_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ IPV6_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR ACCESS_LIST_SEQ_STR
+ ACCESS_LIST_ACTION_STR
"IPv6 prefix\n"
"Exact match of the prefixes\n"
"Match any IPv6\n")
@@ -773,12 +726,8 @@ DEFPY_YANG(
DEFPY_YANG(
no_ipv6_access_list, no_ipv6_access_list_cmd,
"no ipv6 access-list WORD$name [seq (1-4294967295)$seq] <deny|permit>$action <X:X::X:X/M$prefix [exact-match$exact]|any>",
- NO_STR
- IPV6_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ NO_STR IPV6_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR
+ ACCESS_LIST_SEQ_STR ACCESS_LIST_ACTION_STR
"IPv6 prefix\n"
"Exact match of the prefixes\n"
"Match any IPv6\n")
@@ -828,13 +777,9 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_ipv6_access_list_all, no_ipv6_access_list_all_cmd,
- "no ipv6 access-list WORD$name",
- NO_STR
- IPV6_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR)
+DEFPY_YANG(no_ipv6_access_list_all, no_ipv6_access_list_all_cmd,
+ "no ipv6 access-list WORD$name",
+ NO_STR IPV6_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR)
{
char xpath[XPATH_MAXLEN];
@@ -845,14 +790,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- ipv6_access_list_remark, ipv6_access_list_remark_cmd,
- "ipv6 access-list WORD$name remark LINE...",
- IPV6_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_REMARK_STR
- ACCESS_LIST_REMARK_LINE_STR)
+DEFPY_YANG(ipv6_access_list_remark, ipv6_access_list_remark_cmd,
+ "ipv6 access-list WORD$name remark LINE...",
+ IPV6_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR ACCESS_LIST_REMARK_STR
+ ACCESS_LIST_REMARK_LINE_STR)
{
int rv;
char *remark;
@@ -870,14 +811,10 @@ DEFPY_YANG(
return rv;
}
-DEFPY_YANG(
- no_ipv6_access_list_remark, no_ipv6_access_list_remark_cmd,
- "no ipv6 access-list WORD$name remark",
- NO_STR
- IPV6_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_REMARK_STR)
+DEFPY_YANG(no_ipv6_access_list_remark, no_ipv6_access_list_remark_cmd,
+ "no ipv6 access-list WORD$name remark",
+ NO_STR IPV6_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR
+ ACCESS_LIST_REMARK_STR)
{
char xpath[XPATH_MAXLEN];
@@ -889,24 +826,16 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-ALIAS_YANG(
- no_ipv6_access_list_remark, no_ipv6_access_list_remark_line_cmd,
- "no ipv6 access-list WORD$name remark LINE...",
- NO_STR
- IPV6_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_REMARK_STR
- ACCESS_LIST_REMARK_LINE_STR)
+ALIAS_YANG(no_ipv6_access_list_remark, no_ipv6_access_list_remark_line_cmd,
+ "no ipv6 access-list WORD$name remark LINE...",
+ NO_STR IPV6_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR
+ ACCESS_LIST_REMARK_STR ACCESS_LIST_REMARK_LINE_STR)
DEFPY_YANG(
mac_access_list, mac_access_list_cmd,
"mac access-list WORD$name [seq (1-4294967295)$seq] <deny|permit>$action <X:X:X:X:X:X$mac|any>",
- MAC_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ MAC_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR ACCESS_LIST_SEQ_STR
+ ACCESS_LIST_ACTION_STR
"MAC address\n"
"Match any MAC address\n")
{
@@ -945,12 +874,8 @@ DEFPY_YANG(
DEFPY_YANG(
no_mac_access_list, no_mac_access_list_cmd,
"no mac access-list WORD$name [seq (1-4294967295)$seq] <deny|permit>$action <X:X:X:X:X:X$prefix|any>",
- NO_STR
- MAC_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ NO_STR MAC_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR ACCESS_LIST_SEQ_STR
+ ACCESS_LIST_ACTION_STR
"MAC address\n"
"Match any MAC address\n")
{
@@ -999,13 +924,9 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_mac_access_list_all, no_mac_access_list_all_cmd,
- "no mac access-list WORD$name",
- NO_STR
- MAC_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR)
+DEFPY_YANG(no_mac_access_list_all, no_mac_access_list_all_cmd,
+ "no mac access-list WORD$name",
+ NO_STR MAC_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR)
{
char xpath[XPATH_MAXLEN];
@@ -1016,14 +937,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- mac_access_list_remark, mac_access_list_remark_cmd,
- "mac access-list WORD$name remark LINE...",
- MAC_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_REMARK_STR
- ACCESS_LIST_REMARK_LINE_STR)
+DEFPY_YANG(mac_access_list_remark, mac_access_list_remark_cmd,
+ "mac access-list WORD$name remark LINE...",
+ MAC_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR ACCESS_LIST_REMARK_STR
+ ACCESS_LIST_REMARK_LINE_STR)
{
int rv;
char *remark;
@@ -1041,14 +958,10 @@ DEFPY_YANG(
return rv;
}
-DEFPY_YANG(
- no_mac_access_list_remark, no_mac_access_list_remark_cmd,
- "no mac access-list WORD$name remark",
- NO_STR
- MAC_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_REMARK_STR)
+DEFPY_YANG(no_mac_access_list_remark, no_mac_access_list_remark_cmd,
+ "no mac access-list WORD$name remark",
+ NO_STR MAC_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR
+ ACCESS_LIST_REMARK_STR)
{
char xpath[XPATH_MAXLEN];
@@ -1060,15 +973,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-ALIAS_YANG(
- no_mac_access_list_remark, no_mac_access_list_remark_line_cmd,
- "no mac access-list WORD$name remark LINE...",
- NO_STR
- MAC_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_REMARK_STR
- ACCESS_LIST_REMARK_LINE_STR)
+ALIAS_YANG(no_mac_access_list_remark, no_mac_access_list_remark_line_cmd,
+ "no mac access-list WORD$name remark LINE...",
+ NO_STR MAC_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR
+ ACCESS_LIST_REMARK_STR ACCESS_LIST_REMARK_LINE_STR)
void access_list_show(struct vty *vty, struct lyd_node *dnode,
bool show_defaults)
@@ -1246,11 +1154,8 @@ static int plist_remove(struct vty *vty, const char *iptype, const char *name,
DEFPY_YANG(
ip_prefix_list, ip_prefix_list_cmd,
"ip prefix-list WORD$name [seq (1-4294967295)$seq] <deny|permit>$action <any|A.B.C.D/M$prefix [{ge (0-32)$ge|le (0-32)$le}]>",
- IP_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ IP_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR ACCESS_LIST_SEQ_STR
+ ACCESS_LIST_ACTION_STR
"Any prefix match. Same as \"0.0.0.0/0 le 32\"\n"
"IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
"Minimum prefix length to be matched\n"
@@ -1303,12 +1208,8 @@ DEFPY_YANG(
DEFPY_YANG(
no_ip_prefix_list, no_ip_prefix_list_cmd,
"no ip prefix-list WORD$name [seq (1-4294967295)$seq] <deny|permit>$action <any|A.B.C.D/M$prefix [{ge (0-32)|le (0-32)}]>",
- NO_STR
- IP_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ NO_STR IP_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR ACCESS_LIST_SEQ_STR
+ ACCESS_LIST_ACTION_STR
"Any prefix match. Same as \"0.0.0.0/0 le 32\"\n"
"IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
"Minimum prefix length to be matched\n"
@@ -1320,25 +1221,17 @@ DEFPY_YANG(
(struct prefix *)prefix, ge, le);
}
-DEFPY_YANG(
- no_ip_prefix_list_seq, no_ip_prefix_list_seq_cmd,
- "no ip prefix-list WORD$name seq (1-4294967295)$seq",
- NO_STR
- IP_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_SEQ_STR)
+DEFPY_YANG(no_ip_prefix_list_seq, no_ip_prefix_list_seq_cmd,
+ "no ip prefix-list WORD$name seq (1-4294967295)$seq",
+ NO_STR IP_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR
+ ACCESS_LIST_SEQ_STR)
{
return plist_remove(vty, "ipv4", name, seq_str, NULL, NULL, 0, 0);
}
-DEFPY_YANG(
- no_ip_prefix_list_all, no_ip_prefix_list_all_cmd,
- "no ip prefix-list WORD$name",
- NO_STR
- IP_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR)
+DEFPY_YANG(no_ip_prefix_list_all, no_ip_prefix_list_all_cmd,
+ "no ip prefix-list WORD$name",
+ NO_STR IP_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR)
{
char xpath[XPATH_MAXLEN];
@@ -1349,14 +1242,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- ip_prefix_list_remark, ip_prefix_list_remark_cmd,
- "ip prefix-list WORD$name description LINE...",
- IP_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_REMARK_STR
- ACCESS_LIST_REMARK_LINE_STR)
+DEFPY_YANG(ip_prefix_list_remark, ip_prefix_list_remark_cmd,
+ "ip prefix-list WORD$name description LINE...",
+ IP_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR ACCESS_LIST_REMARK_STR
+ ACCESS_LIST_REMARK_LINE_STR)
{
int rv;
char *remark;
@@ -1374,14 +1263,10 @@ DEFPY_YANG(
return rv;
}
-DEFPY_YANG(
- no_ip_prefix_list_remark, no_ip_prefix_list_remark_cmd,
- "no ip prefix-list WORD$name description",
- NO_STR
- IP_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_REMARK_STR)
+DEFPY_YANG(no_ip_prefix_list_remark, no_ip_prefix_list_remark_cmd,
+ "no ip prefix-list WORD$name description",
+ NO_STR IP_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR
+ ACCESS_LIST_REMARK_STR)
{
char xpath[XPATH_MAXLEN];
@@ -1393,24 +1278,16 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-ALIAS_YANG(
- no_ip_prefix_list_remark, no_ip_prefix_list_remark_line_cmd,
- "no ip prefix-list WORD$name description LINE...",
- NO_STR
- IP_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_REMARK_STR
- ACCESS_LIST_REMARK_LINE_STR)
+ALIAS_YANG(no_ip_prefix_list_remark, no_ip_prefix_list_remark_line_cmd,
+ "no ip prefix-list WORD$name description LINE...",
+ NO_STR IP_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR
+ ACCESS_LIST_REMARK_STR ACCESS_LIST_REMARK_LINE_STR)
DEFPY_YANG(
ipv6_prefix_list, ipv6_prefix_list_cmd,
"ipv6 prefix-list WORD$name [seq (1-4294967295)] <deny|permit>$action <any|X:X::X:X/M$prefix [{ge (0-128)$ge|le (0-128)$le}]>",
- IPV6_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ IPV6_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR ACCESS_LIST_SEQ_STR
+ ACCESS_LIST_ACTION_STR
"Any prefix match. Same as \"::0/0 le 128\"\n"
"IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
"Maximum prefix length to be matched\n"
@@ -1463,12 +1340,8 @@ DEFPY_YANG(
DEFPY_YANG(
no_ipv6_prefix_list, no_ipv6_prefix_list_cmd,
"no ipv6 prefix-list WORD$name [seq (1-4294967295)$seq] <deny|permit>$action <any|X:X::X:X/M$prefix [{ge (0-128)$ge|le (0-128)$le}]>",
- NO_STR
- IPV6_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ NO_STR IPV6_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR ACCESS_LIST_SEQ_STR
+ ACCESS_LIST_ACTION_STR
"Any prefix match. Same as \"::0/0 le 128\"\n"
"IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
"Maximum prefix length to be matched\n"
@@ -1480,25 +1353,17 @@ DEFPY_YANG(
(struct prefix *)prefix, ge, le);
}
-DEFPY_YANG(
- no_ipv6_prefix_list_seq, no_ipv6_prefix_list_seq_cmd,
- "no ipv6 prefix-list WORD$name seq (1-4294967295)$seq",
- NO_STR
- IPV6_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_SEQ_STR)
+DEFPY_YANG(no_ipv6_prefix_list_seq, no_ipv6_prefix_list_seq_cmd,
+ "no ipv6 prefix-list WORD$name seq (1-4294967295)$seq",
+ NO_STR IPV6_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR
+ ACCESS_LIST_SEQ_STR)
{
return plist_remove(vty, "ipv6", name, seq_str, NULL, NULL, 0, 0);
}
-DEFPY_YANG(
- no_ipv6_prefix_list_all, no_ipv6_prefix_list_all_cmd,
- "no ipv6 prefix-list WORD$name",
- NO_STR
- IPV6_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR)
+DEFPY_YANG(no_ipv6_prefix_list_all, no_ipv6_prefix_list_all_cmd,
+ "no ipv6 prefix-list WORD$name",
+ NO_STR IPV6_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR)
{
char xpath[XPATH_MAXLEN];
@@ -1509,14 +1374,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- ipv6_prefix_list_remark, ipv6_prefix_list_remark_cmd,
- "ipv6 prefix-list WORD$name description LINE...",
- IPV6_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_REMARK_STR
- ACCESS_LIST_REMARK_LINE_STR)
+DEFPY_YANG(ipv6_prefix_list_remark, ipv6_prefix_list_remark_cmd,
+ "ipv6 prefix-list WORD$name description LINE...",
+ IPV6_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR ACCESS_LIST_REMARK_STR
+ ACCESS_LIST_REMARK_LINE_STR)
{
int rv;
char *remark;
@@ -1534,14 +1395,10 @@ DEFPY_YANG(
return rv;
}
-DEFPY_YANG(
- no_ipv6_prefix_list_remark, no_ipv6_prefix_list_remark_cmd,
- "no ipv6 prefix-list WORD$name description",
- NO_STR
- IPV6_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_REMARK_STR)
+DEFPY_YANG(no_ipv6_prefix_list_remark, no_ipv6_prefix_list_remark_cmd,
+ "no ipv6 prefix-list WORD$name description",
+ NO_STR IPV6_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR
+ ACCESS_LIST_REMARK_STR)
{
char xpath[XPATH_MAXLEN];
@@ -1553,15 +1410,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-ALIAS_YANG(
- no_ipv6_prefix_list_remark, no_ipv6_prefix_list_remark_line_cmd,
- "no ipv6 prefix-list WORD$name description LINE...",
- NO_STR
- IPV6_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_REMARK_STR
- ACCESS_LIST_REMARK_LINE_STR)
+ALIAS_YANG(no_ipv6_prefix_list_remark, no_ipv6_prefix_list_remark_line_cmd,
+ "no ipv6 prefix-list WORD$name description LINE...",
+ NO_STR IPV6_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR
+ ACCESS_LIST_REMARK_STR ACCESS_LIST_REMARK_LINE_STR)
void prefix_list_show(struct vty *vty, struct lyd_node *dnode,
bool show_defaults)
diff --git a/lib/if.c b/lib/if.c
index d0524b789..7e12e70da 100644
--- a/lib/if.c
+++ b/lib/if.c
@@ -1311,12 +1311,10 @@ void if_link_params_free(struct interface *ifp)
/*
* XPath: /frr-interface:lib/interface
*/
-DEFPY_YANG_NOSH (interface,
- interface_cmd,
- "interface IFNAME [vrf NAME$vrf_name]",
- "Select an interface to configure\n"
- "Interface's name\n"
- VRF_CMD_HELP_STR)
+DEFPY_YANG_NOSH(interface, interface_cmd,
+ "interface IFNAME [vrf NAME$vrf_name]",
+ "Select an interface to configure\n"
+ "Interface's name\n" VRF_CMD_HELP_STR)
{
char xpath_list[XPATH_MAXLEN];
vrf_id_t vrf_id;
@@ -1383,13 +1381,11 @@ DEFPY_YANG_NOSH (interface,
return ret;
}
-DEFPY_YANG (no_interface,
- no_interface_cmd,
- "no interface IFNAME [vrf NAME$vrf_name]",
- NO_STR
- "Delete a pseudo interface's configuration\n"
- "Interface's name\n"
- VRF_CMD_HELP_STR)
+DEFPY_YANG(no_interface, no_interface_cmd,
+ "no interface IFNAME [vrf NAME$vrf_name]",
+ NO_STR
+ "Delete a pseudo interface's configuration\n"
+ "Interface's name\n" VRF_CMD_HELP_STR)
{
if (!vrf_name)
vrf_name = VRF_DEFAULT_NAME;
@@ -1418,11 +1414,9 @@ static void cli_show_interface(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-interface:lib/interface/description
*/
-DEFPY_YANG (interface_desc,
- interface_desc_cmd,
- "description LINE...",
- "Interface specific description\n"
- "Characters describing this interface\n")
+DEFPY_YANG(interface_desc, interface_desc_cmd, "description LINE...",
+ "Interface specific description\n"
+ "Characters describing this interface\n")
{
char *desc;
int ret;
@@ -1435,11 +1429,8 @@ DEFPY_YANG (interface_desc,
return ret;
}
-DEFPY_YANG (no_interface_desc,
- no_interface_desc_cmd,
- "no description",
- NO_STR
- "Interface specific description\n")
+DEFPY_YANG(no_interface_desc, no_interface_desc_cmd, "no description",
+ NO_STR "Interface specific description\n")
{
nb_cli_enqueue_change(vty, "./description", NB_OP_DESTROY, NULL);
diff --git a/lib/routemap_cli.c b/lib/routemap_cli.c
index 6a6dd6ff7..ab6d1d2d9 100644
--- a/lib/routemap_cli.c
+++ b/lib/routemap_cli.c
@@ -39,12 +39,10 @@
#define ROUTE_MAP_SEQUENCE_CMD_STR \
"Sequence to insert to/delete from existing route-map entry\n"
-DEFPY_YANG_NOSH(
- route_map, route_map_cmd,
- "route-map WORD$name <deny|permit>$action (1-65535)$sequence",
- ROUTE_MAP_CMD_STR
- ROUTE_MAP_OP_CMD_STR
- ROUTE_MAP_SEQUENCE_CMD_STR)
+DEFPY_YANG_NOSH(route_map, route_map_cmd,
+ "route-map WORD$name <deny|permit>$action (1-65535)$sequence",
+ ROUTE_MAP_CMD_STR ROUTE_MAP_OP_CMD_STR
+ ROUTE_MAP_SEQUENCE_CMD_STR)
{
struct route_map_index *rmi;
struct route_map *rm;
@@ -80,11 +78,8 @@ DEFPY_YANG_NOSH(
return rv;
}
-DEFPY_YANG(
- no_route_map_all, no_route_map_all_cmd,
- "no route-map WORD$name",
- NO_STR
- ROUTE_MAP_CMD_STR)
+DEFPY_YANG(no_route_map_all, no_route_map_all_cmd, "no route-map WORD$name",
+ NO_STR ROUTE_MAP_CMD_STR)
{
char xpath[XPATH_MAXLEN];
@@ -95,13 +90,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_route_map, no_route_map_cmd,
- "no route-map WORD$name <deny|permit>$action (1-65535)$sequence",
- NO_STR
- ROUTE_MAP_CMD_STR
- ROUTE_MAP_OP_CMD_STR
- ROUTE_MAP_SEQUENCE_CMD_STR)
+DEFPY_YANG(no_route_map, no_route_map_cmd,
+ "no route-map WORD$name <deny|permit>$action (1-65535)$sequence",
+ NO_STR ROUTE_MAP_CMD_STR ROUTE_MAP_OP_CMD_STR
+ ROUTE_MAP_SEQUENCE_CMD_STR)
{
char xpath[XPATH_MAXLEN];
@@ -180,12 +172,8 @@ void route_map_instance_show_end(struct vty *vty, struct lyd_node *dnode)
vty_out(vty, "!\n");
}
-DEFPY_YANG(
- match_interface, match_interface_cmd,
- "match interface IFNAME",
- MATCH_STR
- "Match first hop interface of route\n"
- INTERFACE_STR)
+DEFPY_YANG(match_interface, match_interface_cmd, "match interface IFNAME",
+ MATCH_STR "Match first hop interface of route\n" INTERFACE_STR)
{
const char *xpath = "./match-condition[condition='interface']";
char xpath_value[XPATH_MAXLEN];
@@ -197,13 +185,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_interface, no_match_interface_cmd,
- "no match interface [IFNAME]",
- NO_STR
- MATCH_STR
- "Match first hop interface of route\n"
- INTERFACE_STR)
+DEFPY_YANG(no_match_interface, no_match_interface_cmd,
+ "no match interface [IFNAME]",
+ NO_STR MATCH_STR
+ "Match first hop interface of route\n" INTERFACE_STR)
{
const char *xpath = "./match-condition[condition='interface']";
@@ -212,15 +197,13 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_ip_address, match_ip_address_cmd,
- "match ip address <(1-199)$acll|(1300-2699)$aclh|WORD$name>",
- MATCH_STR
- IP_STR
- "Match address of route\n"
- "IP access-list number\n"
- "IP access-list number (expanded range)\n"
- "IP Access-list name\n")
+DEFPY_YANG(match_ip_address, match_ip_address_cmd,
+ "match ip address <(1-199)$acll|(1300-2699)$aclh|WORD$name>",
+ MATCH_STR IP_STR
+ "Match address of route\n"
+ "IP access-list number\n"
+ "IP access-list number (expanded range)\n"
+ "IP Access-list name\n")
{
const char *xpath = "./match-condition[condition='ipv4-address-list']";
char xpath_value[XPATH_MAXLEN + 32];
@@ -251,16 +234,13 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ip_address, no_match_ip_address_cmd,
- "no match ip address [<(1-199)|(1300-2699)|WORD>]",
- NO_STR
- MATCH_STR
- IP_STR
- "Match address of route\n"
- "IP access-list number\n"
- "IP access-list number (expanded range)\n"
- "IP Access-list name\n")
+DEFPY_YANG(no_match_ip_address, no_match_ip_address_cmd,
+ "no match ip address [<(1-199)|(1300-2699)|WORD>]",
+ NO_STR MATCH_STR IP_STR
+ "Match address of route\n"
+ "IP access-list number\n"
+ "IP access-list number (expanded range)\n"
+ "IP Access-list name\n")
{
const char *xpath = "./match-condition[condition='ipv4-address-list']";
@@ -269,15 +249,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_ip_address_prefix_list,
- match_ip_address_prefix_list_cmd,
- "match ip address prefix-list WORD$name",
- MATCH_STR
- IP_STR
- "Match address of route\n"
- "Match entries of prefix-lists\n"
- "IP prefix-list name\n")
+DEFPY_YANG(match_ip_address_prefix_list, match_ip_address_prefix_list_cmd,
+ "match ip address prefix-list WORD$name",
+ MATCH_STR IP_STR
+ "Match address of route\n"
+ "Match entries of prefix-lists\n"
+ "IP prefix-list name\n")
{
const char *xpath = "./match-condition[condition='ipv4-prefix-list']";
char xpath_value[XPATH_MAXLEN];
@@ -289,15 +266,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ip_address_prefix_list, no_match_ip_address_prefix_list_cmd,
- "no match ip address prefix-list [WORD]",
- NO_STR
- MATCH_STR
- IP_STR
- "Match address of route\n"
- "Match entries of prefix-lists\n"
- "IP prefix-list name\n")
+DEFPY_YANG(no_match_ip_address_prefix_list, no_match_ip_address_prefix_list_cmd,
+ "no match ip address prefix-list [WORD]",
+ NO_STR MATCH_STR IP_STR
+ "Match address of route\n"
+ "Match entries of prefix-lists\n"
+ "IP prefix-list name\n")
{
const char *xpath = "./match-condition[condition='ipv4-prefix-list']";
@@ -306,15 +280,13 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_ip_next_hop, match_ip_next_hop_cmd,
- "match ip next-hop <(1-199)$acll|(1300-2699)$aclh|WORD$name>",
- MATCH_STR
- IP_STR
- "Match next-hop address of route\n"
- "IP access-list number\n"
- "IP access-list number (expanded range)\n"
- "IP Access-list name\n")
+DEFPY_YANG(match_ip_next_hop, match_ip_next_hop_cmd,
+ "match ip next-hop <(1-199)$acll|(1300-2699)$aclh|WORD$name>",
+ MATCH_STR IP_STR
+ "Match next-hop address of route\n"
+ "IP access-list number\n"
+ "IP access-list number (expanded range)\n"
+ "IP Access-list name\n")
{
const char *xpath = "./match-condition[condition='ipv4-next-hop-list']";
char xpath_value[XPATH_MAXLEN + 32];
@@ -345,16 +317,13 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ip_next_hop, no_match_ip_next_hop_cmd,
- "no match ip next-hop [<(1-199)|(1300-2699)|WORD>]",
- NO_STR
- MATCH_STR
- IP_STR
- "Match address of route\n"
- "IP access-list number\n"
- "IP access-list number (expanded range)\n"
- "IP Access-list name\n")
+DEFPY_YANG(no_match_ip_next_hop, no_match_ip_next_hop_cmd,
+ "no match ip next-hop [<(1-199)|(1300-2699)|WORD>]",
+ NO_STR MATCH_STR IP_STR
+ "Match address of route\n"
+ "IP access-list number\n"
+ "IP access-list number (expanded range)\n"
+ "IP Access-list name\n")
{
const char *xpath = "./match-condition[condition='ipv4-next-hop-list']";
@@ -363,15 +332,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_ip_next_hop_prefix_list,
- match_ip_next_hop_prefix_list_cmd,
- "match ip next-hop prefix-list WORD$name",
- MATCH_STR
- IP_STR
- "Match next-hop address of route\n"
- "Match entries of prefix-lists\n"
- "IP prefix-list name\n")
+DEFPY_YANG(match_ip_next_hop_prefix_list, match_ip_next_hop_prefix_list_cmd,
+ "match ip next-hop prefix-list WORD$name",
+ MATCH_STR IP_STR
+ "Match next-hop address of route\n"
+ "Match entries of prefix-lists\n"
+ "IP prefix-list name\n")
{
const char *xpath =
"./match-condition[condition='ipv4-next-hop-prefix-list']";
@@ -384,16 +350,13 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ip_next_hop_prefix_list,
- no_match_ip_next_hop_prefix_list_cmd,
- "no match ip next-hop prefix-list [WORD]",
- NO_STR
- MATCH_STR
- IP_STR
- "Match next-hop address of route\n"
- "Match entries of prefix-lists\n"
- "IP prefix-list name\n")
+DEFPY_YANG(no_match_ip_next_hop_prefix_list,
+ no_match_ip_next_hop_prefix_list_cmd,
+ "no match ip next-hop prefix-list [WORD]",
+ NO_STR MATCH_STR IP_STR
+ "Match next-hop address of route\n"
+ "Match entries of prefix-lists\n"
+ "IP prefix-list name\n")
{
const char *xpath =
"./match-condition[condition='ipv4-next-hop-prefix-list']";
@@ -403,14 +366,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_ip_next_hop_type, match_ip_next_hop_type_cmd,
- "match ip next-hop type <blackhole>$type",
- MATCH_STR
- IP_STR
- "Match next-hop address of route\n"
- "Match entries by type\n"
- "Blackhole\n")
+DEFPY_YANG(match_ip_next_hop_type, match_ip_next_hop_type_cmd,
+ "match ip next-hop type <blackhole>$type",
+ MATCH_STR IP_STR
+ "Match next-hop address of route\n"
+ "Match entries by type\n"
+ "Blackhole\n")
{
const char *xpath = "./match-condition[condition='ipv4-next-hop-type']";
char xpath_value[XPATH_MAXLEN];
@@ -423,13 +384,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ip_next_hop_type, no_match_ip_next_hop_type_cmd,
- "no match ip next-hop type [<blackhole>]",
- NO_STR MATCH_STR IP_STR
- "Match next-hop address of route\n"
- "Match entries by type\n"
- "Blackhole\n")
+DEFPY_YANG(no_match_ip_next_hop_type, no_match_ip_next_hop_type_cmd,
+ "no match ip next-hop type [<blackhole>]",
+ NO_STR MATCH_STR IP_STR
+ "Match next-hop address of route\n"
+ "Match entries by type\n"
+ "Blackhole\n")
{
const char *xpath = "./match-condition[condition='ipv4-next-hop-type']";
@@ -438,13 +398,11 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_ipv6_address, match_ipv6_address_cmd,
- "match ipv6 address WORD$name",
- MATCH_STR
- IPV6_STR
- "Match IPv6 address of route\n"
- "IPv6 access-list name\n")
+DEFPY_YANG(match_ipv6_address, match_ipv6_address_cmd,
+ "match ipv6 address WORD$name",
+ MATCH_STR IPV6_STR
+ "Match IPv6 address of route\n"
+ "IPv6 access-list name\n")
{
const char *xpath = "./match-condition[condition='ipv6-address-list']";
char xpath_value[XPATH_MAXLEN];
@@ -456,14 +414,11 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ipv6_address, no_match_ipv6_address_cmd,
- "no match ipv6 address [WORD]",
- NO_STR
- MATCH_STR
- IPV6_STR
- "Match IPv6 address of route\n"
- "IPv6 access-list name\n")
+DEFPY_YANG(no_match_ipv6_address, no_match_ipv6_address_cmd,
+ "no match ipv6 address [WORD]",
+ NO_STR MATCH_STR IPV6_STR
+ "Match IPv6 address of route\n"
+ "IPv6 access-list name\n")
{
const char *xpath = "./match-condition[condition='ipv6-address-list']";
@@ -472,14 +427,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_ipv6_address_prefix_list, match_ipv6_address_prefix_list_cmd,
- "match ipv6 address prefix-list WORD$name",
- MATCH_STR
- IPV6_STR
- "Match address of route\n"
- "Match entries of prefix-lists\n"
- "IP prefix-list name\n")
+DEFPY_YANG(match_ipv6_address_prefix_list, match_ipv6_address_prefix_list_cmd,
+ "match ipv6 address prefix-list WORD$name",
+ MATCH_STR IPV6_STR
+ "Match address of route\n"
+ "Match entries of prefix-lists\n"
+ "IP prefix-list name\n")
{
const char *xpath = "./match-condition[condition='ipv6-prefix-list']";
char xpath_value[XPATH_MAXLEN];
@@ -491,16 +444,13 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ipv6_address_prefix_list,
- no_match_ipv6_address_prefix_list_cmd,
- "no match ipv6 address prefix-list [WORD]",
- NO_STR
- MATCH_STR
- IPV6_STR
- "Match address of route\n"
- "Match entries of prefix-lists\n"
- "IP prefix-list name\n")
+DEFPY_YANG(no_match_ipv6_address_prefix_list,
+ no_match_ipv6_address_prefix_list_cmd,
+ "no match ipv6 address prefix-list [WORD]",
+ NO_STR MATCH_STR IPV6_STR
+ "Match address of route\n"
+ "Match entries of prefix-lists\n"
+ "IP prefix-list name\n")
{
const char *xpath = "./match-condition[condition='ipv6-prefix-list']";
@@ -509,13 +459,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_ipv6_next_hop_type, match_ipv6_next_hop_type_cmd,
- "match ipv6 next-hop type <blackhole>$type",
- MATCH_STR IPV6_STR
- "Match next-hop address of route\n"
- "Match entries by type\n"
- "Blackhole\n")
+DEFPY_YANG(match_ipv6_next_hop_type, match_ipv6_next_hop_type_cmd,
+ "match ipv6 next-hop type <blackhole>$type",
+ MATCH_STR IPV6_STR
+ "Match next-hop address of route\n"
+ "Match entries by type\n"
+ "Blackhole\n")
{
const char *xpath = "./match-condition[condition='ipv6-next-hop-type']";
char xpath_value[XPATH_MAXLEN];
@@ -528,13 +477,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ipv6_next_hop_type, no_match_ipv6_next_hop_type_cmd,
- "no match ipv6 next-hop type [<blackhole>]",
- NO_STR MATCH_STR IPV6_STR
- "Match address of route\n"
- "Match entries by type\n"
- "Blackhole\n")
+DEFPY_YANG(no_match_ipv6_next_hop_type, no_match_ipv6_next_hop_type_cmd,
+ "no match ipv6 next-hop type [<blackhole>]",
+ NO_STR MATCH_STR IPV6_STR
+ "Match address of route\n"
+ "Match entries by type\n"
+ "Blackhole\n")
{
const char *xpath = "./match-condition[condition='ipv6-next-hop-type']";
@@ -543,12 +491,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_metric, match_metric_cmd,
- "match metric (0-4294967295)$metric",
- MATCH_STR
- "Match metric of route\n"
- "Metric value\n")
+DEFPY_YANG(match_metric, match_metric_cmd, "match metric (0-4294967295)$metric",
+ MATCH_STR
+ "Match metric of route\n"
+ "Metric value\n")
{
const char *xpath = "./match-condition[condition='metric']";
char xpath_value[XPATH_MAXLEN];
@@ -560,13 +506,11 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_metric, no_match_metric_cmd,
- "no match metric [(0-4294967295)]",
- NO_STR
- MATCH_STR
- "Match metric of route\n"
- "Metric value\n")
+DEFPY_YANG(no_match_metric, no_match_metric_cmd,
+ "no match metric [(0-4294967295)]",
+ NO_STR MATCH_STR
+ "Match metric of route\n"
+ "Metric value\n")
{
const char *xpath = "./match-condition[condition='metric']";
@@ -575,12 +519,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_tag, match_tag_cmd,
- "match tag (1-4294967295)$tag",
- MATCH_STR
- "Match tag of route\n"
- "Tag value\n")
+DEFPY_YANG(match_tag, match_tag_cmd, "match tag (1-4294967295)$tag",
+ MATCH_STR
+ "Match tag of route\n"
+ "Tag value\n")
{
const char *xpath = "./match-condition[condition='tag']";
char xpath_value[XPATH_MAXLEN];
@@ -592,13 +534,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_tag, no_match_tag_cmd,
- "no match tag [(1-4294967295)]",
- NO_STR
- MATCH_STR
- "Match tag of route\n"
- "Tag value\n")
+DEFPY_YANG(no_match_tag, no_match_tag_cmd, "no match tag [(1-4294967295)]",
+ NO_STR MATCH_STR
+ "Match tag of route\n"
+ "Tag value\n")
{
const char *xpath = "./match-condition[condition='tag']";
@@ -698,13 +637,10 @@ void route_map_condition_show(struct vty *vty, struct lyd_node *dnode,
}
}
-DEFPY_YANG(
- set_ip_nexthop, set_ip_nexthop_cmd,
- "set ip next-hop A.B.C.D$addr",
- SET_STR
- IP_STR
- "Next hop address\n"
- "IP address of next hop\n")
+DEFPY_YANG(set_ip_nexthop, set_ip_nexthop_cmd, "set ip next-hop A.B.C.D$addr",
+ SET_STR IP_STR
+ "Next hop address\n"
+ "IP address of next hop\n")
{
const char *xpath = "./set-action[action='ipv4-next-hop']";
char xpath_value[XPATH_MAXLEN];
@@ -716,14 +652,11 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_set_ip_nexthop, no_set_ip_nexthop_cmd,
- "no set ip next-hop [A.B.C.D]",
- NO_STR
- SET_STR
- IP_STR
- "Next hop address\n"
- "IP address of next hop\n")
+DEFPY_YANG(no_set_ip_nexthop, no_set_ip_nexthop_cmd,
+ "no set ip next-hop [A.B.C.D]",
+ NO_STR SET_STR IP_STR
+ "Next hop address\n"
+ "IP address of next hop\n")
{
const char *xpath = "./set-action[action='ipv4-next-hop']";
@@ -732,14 +665,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- set_ipv6_nexthop_local, set_ipv6_nexthop_local_cmd,
- "set ipv6 next-hop local X:X::X:X$addr",
- SET_STR
- IPV6_STR
- "IPv6 next-hop address\n"
- "IPv6 local address\n"
- "IPv6 address of next hop\n")
+DEFPY_YANG(set_ipv6_nexthop_local, set_ipv6_nexthop_local_cmd,
+ "set ipv6 next-hop local X:X::X:X$addr",
+ SET_STR IPV6_STR
+ "IPv6 next-hop address\n"
+ "IPv6 local address\n"
+ "IPv6 address of next hop\n")
{
const char *xpath = "./set-action[action='ipv6-next-hop']";
char xpath_value[XPATH_MAXLEN];
@@ -751,15 +682,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_set_ipv6_nexthop_local, no_set_ipv6_nexthop_local_cmd,
- "no set ipv6 next-hop local [X:X::X:X]",
- NO_STR
- SET_STR
- IPV6_STR
- "IPv6 next-hop address\n"
- "IPv6 local address\n"
- "IPv6 address of next hop\n")
+DEFPY_YANG(no_set_ipv6_nexthop_local, no_set_ipv6_nexthop_local_cmd,
+ "no set ipv6 next-hop local [X:X::X:X]",
+ NO_STR SET_STR IPV6_STR
+ "IPv6 next-hop address\n"
+ "IPv6 local address\n"
+ "IPv6 address of next hop\n")
{
const char *xpath = "./set-action[action='ipv6-next-hop']";
@@ -814,13 +742,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_set_metric, no_set_metric_cmd,
- "no set metric [(0-4294967295)]",
- NO_STR
- SET_STR
- "Metric value for destination routing protocol\n"
- "Metric value\n")
+DEFPY_YANG(no_set_metric, no_set_metric_cmd, "no set metric [(0-4294967295)]",
+ NO_STR SET_STR
+ "Metric value for destination routing protocol\n"
+ "Metric value\n")
{
const char *xpath = "./set-action[action='metric']";
@@ -828,12 +753,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- set_tag, set_tag_cmd,
- "set tag (1-4294967295)$tag",
- SET_STR
- "Tag value for routing protocol\n"
- "Tag value\n")
+DEFPY_YANG(set_tag, set_tag_cmd, "set tag (1-4294967295)$tag",
+ SET_STR
+ "Tag value for routing protocol\n"
+ "Tag value\n")
{
const char *xpath = "./set-action[action='tag']";
char xpath_value[XPATH_MAXLEN];
@@ -845,13 +768,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_set_tag, no_set_tag_cmd,
- "no set tag [(1-4294967295)]",
- NO_STR
- SET_STR
- "Tag value for routing protocol\n"
- "Tag value\n")
+DEFPY_YANG(no_set_tag, no_set_tag_cmd, "no set tag [(1-4294967295)]",
+ NO_STR SET_STR
+ "Tag value for routing protocol\n"
+ "Tag value\n")
{
const char *xpath = "./set-action[action='tag']";
@@ -905,36 +825,30 @@ void route_map_action_show(struct vty *vty, struct lyd_node *dnode,
}
}
-DEFPY_YANG(
- rmap_onmatch_next, rmap_onmatch_next_cmd,
- "on-match next",
- "Exit policy on matches\n"
- "Next clause\n")
+DEFPY_YANG(rmap_onmatch_next, rmap_onmatch_next_cmd, "on-match next",
+ "Exit policy on matches\n"
+ "Next clause\n")
{
nb_cli_enqueue_change(vty, "./exit-policy", NB_OP_MODIFY, "next");
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_rmap_onmatch_next,
- no_rmap_onmatch_next_cmd,
- "no on-match next",
- NO_STR
- "Exit policy on matches\n"
- "Next clause\n")
+DEFPY_YANG(no_rmap_onmatch_next, no_rmap_onmatch_next_cmd, "no on-match next",
+ NO_STR
+ "Exit policy on matches\n"
+ "Next clause\n")
{
nb_cli_enqueue_change(vty, "./exit-policy", NB_OP_DESTROY, NULL);
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- rmap_onmatch_goto, rmap_onmatch_goto_cmd,
- "on-match goto (1-65535)$rm_num",
- "Exit policy on matches\n"
- "Goto Clause number\n"
- "Number\n")
+DEFPY_YANG(rmap_onmatch_goto, rmap_onmatch_goto_cmd,
+ "on-match goto (1-65535)$rm_num",
+ "Exit policy on matches\n"
+ "Goto Clause number\n"
+ "Number\n")
{
nb_cli_enqueue_change(vty, "./exit-policy", NB_OP_MODIFY, "goto");
nb_cli_enqueue_change(vty, "./goto-value", NB_OP_MODIFY, rm_num_str);
@@ -942,12 +856,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_rmap_onmatch_goto, no_rmap_onmatch_goto_cmd,
- "no on-match goto",
- NO_STR
- "Exit policy on matches\n"
- "Goto Clause number\n")
+DEFPY_YANG(no_rmap_onmatch_goto, no_rmap_onmatch_goto_cmd, "no on-match goto",
+ NO_STR
+ "Exit policy on matches\n"
+ "Goto Clause number\n")
{
nb_cli_enqueue_change(vty, "./exit-policy", NB_OP_DESTROY, NULL);
@@ -955,18 +867,15 @@ DEFPY_YANG(
}
/* Cisco/GNU Zebra compatibility aliases */
-ALIAS_YANG(
- rmap_onmatch_goto, rmap_continue_cmd,
- "continue (1-65535)$rm_num",
- "Continue on a different entry within the route-map\n"
- "Route-map entry sequence number\n")
-
-ALIAS_YANG(
- no_rmap_onmatch_goto, no_rmap_continue_cmd,
- "no continue [(1-65535)]",
- NO_STR
- "Continue on a different entry within the route-map\n"
- "Route-map entry sequence number\n")
+ALIAS_YANG(rmap_onmatch_goto, rmap_continue_cmd, "continue (1-65535)$rm_num",
+ "Continue on a different entry within the route-map\n"
+ "Route-map entry sequence number\n")
+
+ALIAS_YANG(no_rmap_onmatch_goto, no_rmap_continue_cmd,
+ "no continue [(1-65535)]",
+ NO_STR
+ "Continue on a different entry within the route-map\n"
+ "Route-map entry sequence number\n")
void route_map_exit_policy_show(struct vty *vty, struct lyd_node *dnode,
bool show_defaults)
@@ -987,22 +896,17 @@ void route_map_exit_policy_show(struct vty *vty, struct lyd_node *dnode,
}
}
-DEFPY_YANG(
- rmap_call, rmap_call_cmd,
- "call WORD$name",
- "Jump to another Route-Map after match+set\n"
- "Target route-map name\n")
+DEFPY_YANG(rmap_call, rmap_call_cmd, "call WORD$name",
+ "Jump to another Route-Map after match+set\n"
+ "Target route-map name\n")
{
nb_cli_enqueue_change(vty, "./call", NB_OP_MODIFY, name);
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_rmap_call, no_rmap_call_cmd,
- "no call",
- NO_STR
- "Jump to another Route-Map after match+set\n")
+DEFPY_YANG(no_rmap_call, no_rmap_call_cmd, "no call",
+ NO_STR "Jump to another Route-Map after match+set\n")
{
nb_cli_enqueue_change(vty, "./call", NB_OP_DESTROY, NULL);
@@ -1015,11 +919,9 @@ void route_map_call_show(struct vty *vty, struct lyd_node *dnode,
vty_out(vty, " call %s\n", yang_dnode_get_string(dnode, NULL));
}
-DEFPY_YANG(
- rmap_description, rmap_description_cmd,
- "description LINE...",
- "Route-map comment\n"
- "Comment describing this route-map rule\n")
+DEFPY_YANG(rmap_description, rmap_description_cmd, "description LINE...",
+ "Route-map comment\n"
+ "Comment describing this route-map rule\n")
{
char *desc;
int rv;
@@ -1032,11 +934,8 @@ DEFPY_YANG(
return rv;
}
-DEFUN_YANG (no_rmap_description,
- no_rmap_description_cmd,
- "no description",
- NO_STR
- "Route-map comment\n")
+DEFUN_YANG(no_rmap_description, no_rmap_description_cmd, "no description",
+ NO_STR "Route-map comment\n")
{
nb_cli_enqueue_change(vty, "./description", NB_OP_DESTROY, NULL);
diff --git a/lib/vrf.c b/lib/vrf.c
index a1d537ff2..bbe3a3c1b 100644
--- a/lib/vrf.c
+++ b/lib/vrf.c
@@ -733,11 +733,9 @@ DEFUN_NOSH(vrf_exit,
return CMD_SUCCESS;
}
-DEFUN_YANG_NOSH (vrf,
- vrf_cmd,
- "vrf NAME",
- "Select a VRF to configure\n"
- "VRF's name\n")
+DEFUN_YANG_NOSH(vrf, vrf_cmd, "vrf NAME",
+ "Select a VRF to configure\n"
+ "VRF's name\n")
{
int idx_name = 1;
const char *vrfname = argv[idx_name]->arg;
@@ -745,12 +743,10 @@ DEFUN_YANG_NOSH (vrf,
return vrf_handler_create(vty, vrfname, NULL);
}
-DEFUN_YANG (no_vrf,
- no_vrf_cmd,
- "no vrf NAME",
- NO_STR
- "Delete a pseudo VRF's configuration\n"
- "VRF's name\n")
+DEFUN_YANG(no_vrf, no_vrf_cmd, "no vrf NAME",
+ NO_STR
+ "Delete a pseudo VRF's configuration\n"
+ "VRF's name\n")
{
const char *vrfname = argv[2]->arg;
char xpath_list[XPATH_MAXLEN];
diff --git a/ripd/rip_cli.c b/ripd/rip_cli.c
index 5e64b7afd..12eff0b6f 100644
--- a/ripd/rip_cli.c
+++ b/ripd/rip_cli.c
@@ -37,12 +37,9 @@
/*
* XPath: /frr-ripd:ripd/instance
*/
-DEFPY_YANG_NOSH (router_rip,
- router_rip_cmd,
- "router rip [vrf NAME]",
- "Enable a routing process\n"
- "Routing Information Protocol (RIP)\n"
- VRF_CMD_HELP_STR)
+DEFPY_YANG_NOSH(router_rip, router_rip_cmd, "router rip [vrf NAME]",
+ "Enable a routing process\n"
+ "Routing Information Protocol (RIP)\n" VRF_CMD_HELP_STR)
{
char xpath[XPATH_MAXLEN];
int ret;
@@ -62,13 +59,10 @@ DEFPY_YANG_NOSH (router_rip,
return ret;
}
-DEFPY_YANG (no_router_rip,
- no_router_rip_cmd,
- "no router rip [vrf NAME]",
- NO_STR
- "Enable a routing process\n"
- "Routing Information Protocol (RIP)\n"
- VRF_CMD_HELP_STR)
+DEFPY_YANG(no_router_rip, no_router_rip_cmd, "no router rip [vrf NAME]",
+ NO_STR
+ "Enable a routing process\n"
+ "Routing Information Protocol (RIP)\n" VRF_CMD_HELP_STR)
{
char xpath[XPATH_MAXLEN];
@@ -100,11 +94,8 @@ void cli_show_router_rip(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/allow-ecmp
*/
-DEFPY_YANG (rip_allow_ecmp,
- rip_allow_ecmp_cmd,
- "[no] allow-ecmp",
- NO_STR
- "Allow Equal Cost MultiPath\n")
+DEFPY_YANG(rip_allow_ecmp, rip_allow_ecmp_cmd, "[no] allow-ecmp",
+ NO_STR "Allow Equal Cost MultiPath\n")
{
nb_cli_enqueue_change(vty, "./allow-ecmp", NB_OP_MODIFY,
no ? "false" : "true");
@@ -124,12 +115,12 @@ void cli_show_rip_allow_ecmp(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/default-information-originate
*/
-DEFPY_YANG (rip_default_information_originate,
- rip_default_information_originate_cmd,
- "[no] default-information originate",
- NO_STR
- "Control distribution of default route\n"
- "Distribute a default route\n")
+DEFPY_YANG(rip_default_information_originate,
+ rip_default_information_originate_cmd,
+ "[no] default-information originate",
+ NO_STR
+ "Control distribution of default route\n"
+ "Distribute a default route\n")
{
nb_cli_enqueue_change(vty, "./default-information-originate",
NB_OP_MODIFY, no ? "false" : "true");
@@ -150,11 +141,9 @@ void cli_show_rip_default_information_originate(struct vty *vty,
/*
* XPath: /frr-ripd:ripd/instance/default-metric
*/
-DEFPY_YANG (rip_default_metric,
- rip_default_metric_cmd,
- "default-metric (1-16)",
- "Set a metric of redistribute routes\n"
- "Default metric\n")
+DEFPY_YANG(rip_default_metric, rip_default_metric_cmd, "default-metric (1-16)",
+ "Set a metric of redistribute routes\n"
+ "Default metric\n")
{
nb_cli_enqueue_change(vty, "./default-metric", NB_OP_MODIFY,
default_metric_str);
@@ -162,12 +151,11 @@ DEFPY_YANG (rip_default_metric,
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG (no_rip_default_metric,
- no_rip_default_metric_cmd,
- "no default-metric [(1-16)]",
- NO_STR
- "Set a metric of redistribute routes\n"
- "Default metric\n")
+DEFPY_YANG(no_rip_default_metric, no_rip_default_metric_cmd,
+ "no default-metric [(1-16)]",
+ NO_STR
+ "Set a metric of redistribute routes\n"
+ "Default metric\n")
{
nb_cli_enqueue_change(vty, "./default-metric", NB_OP_MODIFY, NULL);
@@ -184,11 +172,9 @@ void cli_show_rip_default_metric(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/distance/default
*/
-DEFPY_YANG (rip_distance,
- rip_distance_cmd,
- "distance (1-255)",
- "Administrative distance\n"
- "Distance value\n")
+DEFPY_YANG(rip_distance, rip_distance_cmd, "distance (1-255)",
+ "Administrative distance\n"
+ "Distance value\n")
{
nb_cli_enqueue_change(vty, "./distance/default", NB_OP_MODIFY,
distance_str);
@@ -196,12 +182,10 @@ DEFPY_YANG (rip_distance,
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG (no_rip_distance,
- no_rip_distance_cmd,
- "no distance [(1-255)]",
- NO_STR
- "Administrative distance\n"
- "Distance value\n")
+DEFPY_YANG(no_rip_distance, no_rip_distance_cmd, "no distance [(1-255)]",
+ NO_STR
+ "Administrative distance\n"
+ "Distance value\n")
{
nb_cli_enqueue_change(vty, "./distance/default", NB_OP_MODIFY, NULL);
@@ -221,14 +205,13 @@ void cli_show_rip_distance(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/distance/source
*/
-DEFPY_YANG (rip_distance_source,
- rip_distance_source_cmd,
- "[no] distance (1-255) A.B.C.D/M$prefix [WORD$acl]",
- NO_STR
- "Administrative distance\n"
- "Distance value\n"
- "IP source prefix\n"
- "Access list name\n")
+DEFPY_YANG(rip_distance_source, rip_distance_source_cmd,
+ "[no] distance (1-255) A.B.C.D/M$prefix [WORD$acl]",
+ NO_STR
+ "Administrative distance\n"
+ "Distance value\n"
+ "IP source prefix\n"
+ "Access list name\n")
{
if (!no) {
nb_cli_enqueue_change(vty, ".", NB_OP_CREATE, NULL);
@@ -258,12 +241,10 @@ void cli_show_rip_distance_source(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/explicit-neighbor
*/
-DEFPY_YANG (rip_neighbor,
- rip_neighbor_cmd,
- "[no] neighbor A.B.C.D",
- NO_STR
- "Specify a neighbor router\n"
- "Neighbor address\n")
+DEFPY_YANG(rip_neighbor, rip_neighbor_cmd, "[no] neighbor A.B.C.D",
+ NO_STR
+ "Specify a neighbor router\n"
+ "Neighbor address\n")
{
nb_cli_enqueue_change(vty, "./explicit-neighbor",
no ? NB_OP_DESTROY : NB_OP_CREATE, neighbor_str);
@@ -280,12 +261,10 @@ void cli_show_rip_neighbor(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/network
*/
-DEFPY_YANG (rip_network_prefix,
- rip_network_prefix_cmd,
- "[no] network A.B.C.D/M",
- NO_STR
- "Enable routing on an IP network\n"
- "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n")
+DEFPY_YANG(rip_network_prefix, rip_network_prefix_cmd, "[no] network A.B.C.D/M",
+ NO_STR
+ "Enable routing on an IP network\n"
+ "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n")
{
nb_cli_enqueue_change(vty, "./network",
no ? NB_OP_DESTROY : NB_OP_CREATE, network_str);
@@ -302,12 +281,10 @@ void cli_show_rip_network_prefix(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/interface
*/
-DEFPY_YANG (rip_network_if,
- rip_network_if_cmd,
- "[no] network WORD",
- NO_STR
- "Enable routing on an IP network\n"
- "Interface name\n")
+DEFPY_YANG(rip_network_if, rip_network_if_cmd, "[no] network WORD",
+ NO_STR
+ "Enable routing on an IP network\n"
+ "Interface name\n")
{
nb_cli_enqueue_change(vty, "./interface",
no ? NB_OP_DESTROY : NB_OP_CREATE, network);
@@ -324,16 +301,16 @@ void cli_show_rip_network_interface(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/offset-list
*/
-DEFPY_YANG (rip_offset_list,
- rip_offset_list_cmd,
- "[no] offset-list WORD$acl <in|out>$direction (0-16)$metric [IFNAME]",
- NO_STR
- "Modify RIP metric\n"
- "Access-list name\n"
- "For incoming updates\n"
- "For outgoing updates\n"
- "Metric value\n"
- "Interface to match\n")
+DEFPY_YANG(
+ rip_offset_list, rip_offset_list_cmd,
+ "[no] offset-list WORD$acl <in|out>$direction (0-16)$metric [IFNAME]",
+ NO_STR
+ "Modify RIP metric\n"
+ "Access-list name\n"
+ "For incoming updates\n"
+ "For outgoing updates\n"
+ "Metric value\n"
+ "Interface to match\n")
{
if (!no) {
nb_cli_enqueue_change(vty, ".", NB_OP_CREATE, NULL);
@@ -367,12 +344,11 @@ void cli_show_rip_offset_list(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/passive-default
*/
-DEFPY_YANG (rip_passive_default,
- rip_passive_default_cmd,
- "[no] passive-interface default",
- NO_STR
- "Suppress routing updates on an interface\n"
- "default for all interfaces\n")
+DEFPY_YANG(rip_passive_default, rip_passive_default_cmd,
+ "[no] passive-interface default",
+ NO_STR
+ "Suppress routing updates on an interface\n"
+ "default for all interfaces\n")
{
nb_cli_enqueue_change(vty, "./passive-default", NB_OP_MODIFY,
no ? "false" : "true");
@@ -393,12 +369,11 @@ void cli_show_rip_passive_default(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-ripd:ripd/instance/passive-interface
* /frr-ripd:ripd/instance/non-passive-interface
*/
-DEFPY_YANG (rip_passive_interface,
- rip_passive_interface_cmd,
- "[no] passive-interface IFNAME",
- NO_STR
- "Suppress routing updates on an interface\n"
- "Interface name\n")
+DEFPY_YANG(rip_passive_interface, rip_passive_interface_cmd,
+ "[no] passive-interface IFNAME",
+ NO_STR
+ "Suppress routing updates on an interface\n"
+ "Interface name\n")
{
bool passive_default =
yang_dnode_get_bool(vty->candidate_config->dnode, "%s%s",
@@ -434,16 +409,14 @@ void cli_show_rip_non_passive_interface(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/redistribute
*/
-DEFPY_YANG (rip_redistribute,
- rip_redistribute_cmd,
- "[no] redistribute " FRR_REDIST_STR_RIPD "$protocol [{metric (0-16)|route-map WORD}]",
- NO_STR
- REDIST_STR
- FRR_REDIST_HELP_STR_RIPD
- "Metric\n"
- "Metric value\n"
- "Route map reference\n"
- "Pointer to route-map entries\n")
+DEFPY_YANG(rip_redistribute, rip_redistribute_cmd,
+ "[no] redistribute " FRR_REDIST_STR_RIPD
+ "$protocol [{metric (0-16)|route-map WORD}]",
+ NO_STR REDIST_STR FRR_REDIST_HELP_STR_RIPD
+ "Metric\n"
+ "Metric value\n"
+ "Route map reference\n"
+ "Pointer to route-map entries\n")
{
if (!no) {
nb_cli_enqueue_change(vty, ".", NB_OP_CREATE, NULL);
@@ -477,12 +450,10 @@ void cli_show_rip_redistribute(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/static-route
*/
-DEFPY_YANG (rip_route,
- rip_route_cmd,
- "[no] route A.B.C.D/M",
- NO_STR
- "RIP static route configuration\n"
- "IP prefix <network>/<length>\n")
+DEFPY_YANG(rip_route, rip_route_cmd, "[no] route A.B.C.D/M",
+ NO_STR
+ "RIP static route configuration\n"
+ "IP prefix <network>/<length>\n")
{
nb_cli_enqueue_change(vty, "./static-route",
no ? NB_OP_DESTROY : NB_OP_CREATE, route_str);
@@ -499,14 +470,14 @@ void cli_show_rip_route(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/timers
*/
-DEFPY_YANG (rip_timers,
- rip_timers_cmd,
- "timers basic (5-2147483647)$update (5-2147483647)$timeout (5-2147483647)$garbage",
- "Adjust routing timers\n"
- "Basic routing protocol update timers\n"
- "Routing table update timer value in second. Default is 30.\n"
- "Routing information timeout timer. Default is 180.\n"
- "Garbage collection timer. Default is 120.\n")
+DEFPY_YANG(
+ rip_timers, rip_timers_cmd,
+ "timers basic (5-2147483647)$update (5-2147483647)$timeout (5-2147483647)$garbage",
+ "Adjust routing timers\n"
+ "Basic routing protocol update timers\n"
+ "Routing table update timer value in second. Default is 30.\n"
+ "Routing information timeout timer. Default is 180.\n"
+ "Garbage collection timer. Default is 120.\n")
{
nb_cli_enqueue_change(vty, "./update-interval", NB_OP_MODIFY,
update_str);
@@ -518,15 +489,14 @@ DEFPY_YANG (rip_timers,
return nb_cli_apply_changes(vty, "./timers");
}
-DEFPY_YANG (no_rip_timers,
- no_rip_timers_cmd,
- "no timers basic [(5-2147483647) (5-2147483647) (5-2147483647)]",
- NO_STR
- "Adjust routing timers\n"
- "Basic routing protocol update timers\n"
- "Routing table update timer value in second. Default is 30.\n"
- "Routing information timeout timer. Default is 180.\n"
- "Garbage collection timer. Default is 120.\n")
+DEFPY_YANG(no_rip_timers, no_rip_timers_cmd,
+ "no timers basic [(5-2147483647) (5-2147483647) (5-2147483647)]",
+ NO_STR
+ "Adjust routing timers\n"
+ "Basic routing protocol update timers\n"
+ "Routing table update timer value in second. Default is 30.\n"
+ "Routing information timeout timer. Default is 180.\n"
+ "Garbage collection timer. Default is 120.\n")
{
nb_cli_enqueue_change(vty, "./update-interval", NB_OP_MODIFY, NULL);
nb_cli_enqueue_change(vty, "./holddown-interval", NB_OP_MODIFY, NULL);
@@ -547,11 +517,9 @@ void cli_show_rip_timers(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/version
*/
-DEFPY_YANG (rip_version,
- rip_version_cmd,
- "version (1-2)",
- "Set routing protocol version\n"
- "version\n")
+DEFPY_YANG(rip_version, rip_version_cmd, "version (1-2)",
+ "Set routing protocol version\n"
+ "version\n")
{
nb_cli_enqueue_change(vty, "./version/receive", NB_OP_MODIFY,
version_str);
@@ -560,12 +528,10 @@ DEFPY_YANG (rip_version,
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG (no_rip_version,
- no_rip_version_cmd,
- "no version [(1-2)]",
- NO_STR
- "Set routing protocol version\n"
- "version\n")
+DEFPY_YANG(no_rip_version, no_rip_version_cmd, "no version [(1-2)]",
+ NO_STR
+ "Set routing protocol version\n"
+ "version\n")
{
nb_cli_enqueue_change(vty, "./version/receive", NB_OP_MODIFY, NULL);
nb_cli_enqueue_change(vty, "./version/send", NB_OP_MODIFY, NULL);
@@ -596,14 +562,12 @@ void cli_show_rip_version(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-interface:lib/interface/frr-ripd:rip/split-horizon
*/
-DEFPY_YANG (ip_rip_split_horizon,
- ip_rip_split_horizon_cmd,
- "[no] ip rip split-horizon [poisoned-reverse$poisoned_reverse]",
- NO_STR
- IP_STR
- "Routing Information Protocol\n"
- "Perform split horizon\n"
- "With poisoned-reverse\n")
+DEFPY_YANG(ip_rip_split_horizon, ip_rip_split_horizon_cmd,
+ "[no] ip rip split-horizon [poisoned-reverse$poisoned_reverse]",
+ NO_STR IP_STR
+ "Routing Information Protocol\n"
+ "Perform split horizon\n"
+ "With poisoned-reverse\n")
{
const char *value;
@@ -641,13 +605,11 @@ void cli_show_ip_rip_split_horizon(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-interface:lib/interface/frr-ripd:rip/v2-broadcast
*/
-DEFPY_YANG (ip_rip_v2_broadcast,
- ip_rip_v2_broadcast_cmd,
- "[no] ip rip v2-broadcast",
- NO_STR
- IP_STR
- "Routing Information Protocol\n"
- "Send ip broadcast v2 update\n")
+DEFPY_YANG(ip_rip_v2_broadcast, ip_rip_v2_broadcast_cmd,
+ "[no] ip rip v2-broadcast",
+ NO_STR IP_STR
+ "Routing Information Protocol\n"
+ "Send ip broadcast v2 update\n")
{
nb_cli_enqueue_change(vty, "./v2-broadcast", NB_OP_MODIFY,
no ? "false" : "true");
@@ -667,16 +629,15 @@ void cli_show_ip_rip_v2_broadcast(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-interface:lib/interface/frr-ripd:rip/version-receive
*/
-DEFPY_YANG (ip_rip_receive_version,
- ip_rip_receive_version_cmd,
- "ip rip receive version <{1$v1|2$v2}|none>",
- IP_STR
- "Routing Information Protocol\n"
- "Advertisement reception\n"
- "Version control\n"
- "RIP version 1\n"
- "RIP version 2\n"
- "None\n")
+DEFPY_YANG(ip_rip_receive_version, ip_rip_receive_version_cmd,
+ "ip rip receive version <{1$v1|2$v2}|none>",
+ IP_STR
+ "Routing Information Protocol\n"
+ "Advertisement reception\n"
+ "Version control\n"
+ "RIP version 1\n"
+ "RIP version 2\n"
+ "None\n")
{
const char *value;
@@ -694,17 +655,15 @@ DEFPY_YANG (ip_rip_receive_version,
return nb_cli_apply_changes(vty, "./frr-ripd:rip");
}
-DEFPY_YANG (no_ip_rip_receive_version,
- no_ip_rip_receive_version_cmd,
- "no ip rip receive version [<{1|2}|none>]",
- NO_STR
- IP_STR
- "Routing Information Protocol\n"
- "Advertisement reception\n"
- "Version control\n"
- "RIP version 1\n"
- "RIP version 2\n"
- "None\n")
+DEFPY_YANG(no_ip_rip_receive_version, no_ip_rip_receive_version_cmd,
+ "no ip rip receive version [<{1|2}|none>]",
+ NO_STR IP_STR
+ "Routing Information Protocol\n"
+ "Advertisement reception\n"
+ "Version control\n"
+ "RIP version 1\n"
+ "RIP version 2\n"
+ "None\n")
{
nb_cli_enqueue_change(vty, "./version-receive", NB_OP_MODIFY, NULL);
@@ -736,16 +695,15 @@ void cli_show_ip_rip_receive_version(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-interface:lib/interface/frr-ripd:rip/version-send
*/
-DEFPY_YANG (ip_rip_send_version,
- ip_rip_send_version_cmd,
- "ip rip send version <{1$v1|2$v2}|none>",
- IP_STR
- "Routing Information Protocol\n"
- "Advertisement transmission\n"
- "Version control\n"
- "RIP version 1\n"
- "RIP version 2\n"
- "None\n")
+DEFPY_YANG(ip_rip_send_version, ip_rip_send_version_cmd,
+ "ip rip send version <{1$v1|2$v2}|none>",
+ IP_STR
+ "Routing Information Protocol\n"
+ "Advertisement transmission\n"
+ "Version control\n"
+ "RIP version 1\n"
+ "RIP version 2\n"
+ "None\n")
{
const char *value;
@@ -763,17 +721,15 @@ DEFPY_YANG (ip_rip_send_version,
return nb_cli_apply_changes(vty, "./frr-ripd:rip");
}
-DEFPY_YANG (no_ip_rip_send_version,
- no_ip_rip_send_version_cmd,
- "no ip rip send version [<{1|2}|none>]",
- NO_STR
- IP_STR
- "Routing Information Protocol\n"
- "Advertisement transmission\n"
- "Version control\n"
- "RIP version 1\n"
- "RIP version 2\n"
- "None\n")
+DEFPY_YANG(no_ip_rip_send_version, no_ip_rip_send_version_cmd,
+ "no ip rip send version [<{1|2}|none>]",
+ NO_STR IP_STR
+ "Routing Information Protocol\n"
+ "Advertisement transmission\n"
+ "Version control\n"
+ "RIP version 1\n"
+ "RIP version 2\n"
+ "None\n")
{
nb_cli_enqueue_change(vty, "./version-send", NB_OP_MODIFY, NULL);
@@ -805,18 +761,18 @@ void cli_show_ip_rip_send_version(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-interface:lib/interface/frr-ripd:rip/authentication-scheme
*/
-DEFPY_YANG (ip_rip_authentication_mode,
- ip_rip_authentication_mode_cmd,
- "ip rip authentication mode <md5$mode [auth-length <rfc|old-ripd>$auth_length]|text$mode>",
- IP_STR
- "Routing Information Protocol\n"
- "Authentication control\n"
- "Authentication mode\n"
- "Keyed message digest\n"
- "MD5 authentication data length\n"
- "RFC compatible\n"
- "Old ripd compatible\n"
- "Clear text authentication\n")
+DEFPY_YANG(
+ ip_rip_authentication_mode, ip_rip_authentication_mode_cmd,
+ "ip rip authentication mode <md5$mode [auth-length <rfc|old-ripd>$auth_length]|text$mode>",
+ IP_STR
+ "Routing Information Protocol\n"
+ "Authentication control\n"
+ "Authentication mode\n"
+ "Keyed message digest\n"
+ "MD5 authentication data length\n"
+ "RFC compatible\n"
+ "Old ripd compatible\n"
+ "Clear text authentication\n")
{
const char *value = NULL;
@@ -837,19 +793,18 @@ DEFPY_YANG (ip_rip_authentication_mode,
return nb_cli_apply_changes(vty, "./frr-ripd:rip");
}
-DEFPY_YANG (no_ip_rip_authentication_mode,
- no_ip_rip_authentication_mode_cmd,
- "no ip rip authentication mode [<md5 [auth-length <rfc|old-ripd>]|text>]",
- NO_STR
- IP_STR
- "Routing Information Protocol\n"
- "Authentication control\n"
- "Authentication mode\n"
- "Keyed message digest\n"
- "MD5 authentication data length\n"
- "RFC compatible\n"
- "Old ripd compatible\n"
- "Clear text authentication\n")
+DEFPY_YANG(
+ no_ip_rip_authentication_mode, no_ip_rip_authentication_mode_cmd,
+ "no ip rip authentication mode [<md5 [auth-length <rfc|old-ripd>]|text>]",
+ NO_STR IP_STR
+ "Routing Information Protocol\n"
+ "Authentication control\n"
+ "Authentication mode\n"
+ "Keyed message digest\n"
+ "MD5 authentication data length\n"
+ "RFC compatible\n"
+ "Old ripd compatible\n"
+ "Clear text authentication\n")
{
nb_cli_enqueue_change(vty, "./authentication-scheme/mode", NB_OP_MODIFY,
NULL);
@@ -888,14 +843,13 @@ void cli_show_ip_rip_authentication_scheme(struct vty *vty,
/*
* XPath: /frr-interface:lib/interface/frr-ripd:rip/authentication-password
*/
-DEFPY_YANG (ip_rip_authentication_string,
- ip_rip_authentication_string_cmd,
- "ip rip authentication string LINE$password",
- IP_STR
- "Routing Information Protocol\n"
- "Authentication control\n"
- "Authentication string\n"
- "Authentication string\n")
+DEFPY_YANG(ip_rip_authentication_string, ip_rip_authentication_string_cmd,
+ "ip rip authentication string LINE$password",
+ IP_STR
+ "Routing Information Protocol\n"
+ "Authentication control\n"
+ "Authentication string\n"
+ "Authentication string\n")
{
if (strlen(password) > 16) {
vty_out(vty,
@@ -916,15 +870,13 @@ DEFPY_YANG (ip_rip_authentication_string,
return nb_cli_apply_changes(vty, "./frr-ripd:rip");
}
-DEFPY_YANG (no_ip_rip_authentication_string,
- no_ip_rip_authentication_string_cmd,
- "no ip rip authentication string [LINE]",
- NO_STR
- IP_STR
- "Routing Information Protocol\n"
- "Authentication control\n"
- "Authentication string\n"
- "Authentication string\n")
+DEFPY_YANG(no_ip_rip_authentication_string, no_ip_rip_authentication_string_cmd,
+ "no ip rip authentication string [LINE]",
+ NO_STR IP_STR
+ "Routing Information Protocol\n"
+ "Authentication control\n"
+ "Authentication string\n"
+ "Authentication string\n")
{
nb_cli_enqueue_change(vty, "./authentication-password", NB_OP_DESTROY,
NULL);
@@ -943,14 +895,13 @@ void cli_show_ip_rip_authentication_string(struct vty *vty,
/*
* XPath: /frr-interface:lib/interface/frr-ripd:rip/authentication-key-chain
*/
-DEFPY_YANG (ip_rip_authentication_key_chain,
- ip_rip_authentication_key_chain_cmd,
- "ip rip authentication key-chain LINE$keychain",
- IP_STR
- "Routing Information Protocol\n"
- "Authentication control\n"
- "Authentication key-chain\n"
- "name of key-chain\n")
+DEFPY_YANG(ip_rip_authentication_key_chain, ip_rip_authentication_key_chain_cmd,
+ "ip rip authentication key-chain LINE$keychain",
+ IP_STR
+ "Routing Information Protocol\n"
+ "Authentication control\n"
+ "Authentication key-chain\n"
+ "name of key-chain\n")
{
if (yang_dnode_exists(vty->candidate_config->dnode, "%s%s",
VTY_CURR_XPATH,
@@ -965,15 +916,14 @@ DEFPY_YANG (ip_rip_authentication_key_chain,
return nb_cli_apply_changes(vty, "./frr-ripd:rip");
}
-DEFPY_YANG (no_ip_rip_authentication_key_chain,
- no_ip_rip_authentication_key_chain_cmd,
- "no ip rip authentication key-chain [LINE]",
- NO_STR
- IP_STR
- "Routing Information Protocol\n"
- "Authentication control\n"
- "Authentication key-chain\n"
- "name of key-chain\n")
+DEFPY_YANG(no_ip_rip_authentication_key_chain,
+ no_ip_rip_authentication_key_chain_cmd,
+ "no ip rip authentication key-chain [LINE]",
+ NO_STR IP_STR
+ "Routing Information Protocol\n"
+ "Authentication control\n"
+ "Authentication key-chain\n"
+ "name of key-chain\n")
{
nb_cli_enqueue_change(vty, "./authentication-key-chain", NB_OP_DESTROY,
NULL);
@@ -992,13 +942,8 @@ void cli_show_ip_rip_authentication_key_chain(struct vty *vty,
/*
* XPath: /frr-ripd:clear-rip-route
*/
-DEFPY_YANG (clear_ip_rip,
- clear_ip_rip_cmd,
- "clear ip rip [vrf WORD]",
- CLEAR_STR
- IP_STR
- "Clear IP RIP database\n"
- VRF_CMD_HELP_STR)
+DEFPY_YANG(clear_ip_rip, clear_ip_rip_cmd, "clear ip rip [vrf WORD]",
+ CLEAR_STR IP_STR "Clear IP RIP database\n" VRF_CMD_HELP_STR)
{
struct list *input;
int ret;
diff --git a/ripngd/ripng_cli.c b/ripngd/ripng_cli.c
index f66de175f..9494f37ce 100644
--- a/ripngd/ripng_cli.c
+++ b/ripngd/ripng_cli.c
@@ -37,12 +37,9 @@
/*
* XPath: /frr-ripngd:ripngd/instance
*/
-DEFPY_YANG_NOSH (router_ripng,
- router_ripng_cmd,
- "router ripng [vrf NAME]",
- "Enable a routing process\n"
- "Make RIPng instance command\n"
- VRF_CMD_HELP_STR)
+DEFPY_YANG_NOSH(router_ripng, router_ripng_cmd, "router ripng [vrf NAME]",
+ "Enable a routing process\n"
+ "Make RIPng instance command\n" VRF_CMD_HELP_STR)
{
char xpath[XPATH_MAXLEN];
int ret;
@@ -62,13 +59,10 @@ DEFPY_YANG_NOSH (router_ripng,
return ret;
}
-DEFPY_YANG (no_router_ripng,
- no_router_ripng_cmd,
- "no router ripng [vrf NAME]",
- NO_STR
- "Enable a routing process\n"
- "Make RIPng instance command\n"
- VRF_CMD_HELP_STR)
+DEFPY_YANG(no_router_ripng, no_router_ripng_cmd, "no router ripng [vrf NAME]",
+ NO_STR
+ "Enable a routing process\n"
+ "Make RIPng instance command\n" VRF_CMD_HELP_STR)
{
char xpath[XPATH_MAXLEN];
@@ -100,11 +94,8 @@ void cli_show_router_ripng(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:ripngd/instance/allow-ecmp
*/
-DEFPY_YANG (ripng_allow_ecmp,
- ripng_allow_ecmp_cmd,
- "[no] allow-ecmp",
- NO_STR
- "Allow Equal Cost MultiPath\n")
+DEFPY_YANG(ripng_allow_ecmp, ripng_allow_ecmp_cmd, "[no] allow-ecmp",
+ NO_STR "Allow Equal Cost MultiPath\n")
{
nb_cli_enqueue_change(vty, "./allow-ecmp", NB_OP_MODIFY,
no ? "false" : "true");
@@ -124,12 +115,12 @@ void cli_show_ripng_allow_ecmp(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:ripngd/instance/default-information-originate
*/
-DEFPY_YANG (ripng_default_information_originate,
- ripng_default_information_originate_cmd,
- "[no] default-information originate",
- NO_STR
- "Default route information\n"
- "Distribute default route\n")
+DEFPY_YANG(ripng_default_information_originate,
+ ripng_default_information_originate_cmd,
+ "[no] default-information originate",
+ NO_STR
+ "Default route information\n"
+ "Distribute default route\n")
{
nb_cli_enqueue_change(vty, "./default-information-originate",
NB_OP_MODIFY, no ? "false" : "true");
@@ -150,11 +141,10 @@ void cli_show_ripng_default_information_originate(struct vty *vty,
/*
* XPath: /frr-ripngd:ripngd/instance/default-metric
*/
-DEFPY_YANG (ripng_default_metric,
- ripng_default_metric_cmd,
- "default-metric (1-16)",
- "Set a metric of redistribute routes\n"
- "Default metric\n")
+DEFPY_YANG(ripng_default_metric, ripng_default_metric_cmd,
+ "default-metric (1-16)",
+ "Set a metric of redistribute routes\n"
+ "Default metric\n")
{
nb_cli_enqueue_change(vty, "./default-metric", NB_OP_MODIFY,
default_metric_str);
@@ -162,12 +152,11 @@ DEFPY_YANG (ripng_default_metric,
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG (no_ripng_default_metric,
- no_ripng_default_metric_cmd,
- "no default-metric [(1-16)]",
- NO_STR
- "Set a metric of redistribute routes\n"
- "Default metric\n")
+DEFPY_YANG(no_ripng_default_metric, no_ripng_default_metric_cmd,
+ "no default-metric [(1-16)]",
+ NO_STR
+ "Set a metric of redistribute routes\n"
+ "Default metric\n")
{
nb_cli_enqueue_change(vty, "./default-metric", NB_OP_MODIFY, NULL);
@@ -184,12 +173,11 @@ void cli_show_ripng_default_metric(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:ripngd/instance/network
*/
-DEFPY_YANG (ripng_network_prefix,
- ripng_network_prefix_cmd,
- "[no] network X:X::X:X/M",
- NO_STR
- "RIPng enable on specified interface or network.\n"
- "IPv6 network\n")
+DEFPY_YANG(ripng_network_prefix, ripng_network_prefix_cmd,
+ "[no] network X:X::X:X/M",
+ NO_STR
+ "RIPng enable on specified interface or network.\n"
+ "IPv6 network\n")
{
nb_cli_enqueue_change(vty, "./network",
no ? NB_OP_DESTROY : NB_OP_CREATE, network_str);
@@ -206,12 +194,10 @@ void cli_show_ripng_network_prefix(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:ripngd/instance/interface
*/
-DEFPY_YANG (ripng_network_if,
- ripng_network_if_cmd,
- "[no] network WORD",
- NO_STR
- "RIPng enable on specified interface or network.\n"
- "Interface name\n")
+DEFPY_YANG(ripng_network_if, ripng_network_if_cmd, "[no] network WORD",
+ NO_STR
+ "RIPng enable on specified interface or network.\n"
+ "Interface name\n")
{
nb_cli_enqueue_change(vty, "./interface",
no ? NB_OP_DESTROY : NB_OP_CREATE, network);
@@ -228,16 +214,16 @@ void cli_show_ripng_network_interface(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:ripngd/instance/offset-list
*/
-DEFPY_YANG (ripng_offset_list,
- ripng_offset_list_cmd,
- "[no] offset-list WORD$acl <in|out>$direction (0-16)$metric [IFNAME]",
- NO_STR
- "Modify RIPng metric\n"
- "Access-list name\n"
- "For incoming updates\n"
- "For outgoing updates\n"
- "Metric value\n"
- "Interface to match\n")
+DEFPY_YANG(
+ ripng_offset_list, ripng_offset_list_cmd,
+ "[no] offset-list WORD$acl <in|out>$direction (0-16)$metric [IFNAME]",
+ NO_STR
+ "Modify RIPng metric\n"
+ "Access-list name\n"
+ "For incoming updates\n"
+ "For outgoing updates\n"
+ "Metric value\n"
+ "Interface to match\n")
{
if (!no) {
nb_cli_enqueue_change(vty, ".", NB_OP_CREATE, NULL);
@@ -271,12 +257,11 @@ void cli_show_ripng_offset_list(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:ripngd/instance/passive-interface
*/
-DEFPY_YANG (ripng_passive_interface,
- ripng_passive_interface_cmd,
- "[no] passive-interface IFNAME",
- NO_STR
- "Suppress routing updates on an interface\n"
- "Interface name\n")
+DEFPY_YANG(ripng_passive_interface, ripng_passive_interface_cmd,
+ "[no] passive-interface IFNAME",
+ NO_STR
+ "Suppress routing updates on an interface\n"
+ "Interface name\n")
{
nb_cli_enqueue_change(vty, "./passive-interface",
no ? NB_OP_DESTROY : NB_OP_CREATE, ifname);
@@ -294,16 +279,14 @@ void cli_show_ripng_passive_interface(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:ripngd/instance/redistribute
*/
-DEFPY_YANG (ripng_redistribute,
- ripng_redistribute_cmd,
- "[no] redistribute " FRR_REDIST_STR_RIPNGD "$protocol [{metric (0-16)|route-map WORD}]",
- NO_STR
- REDIST_STR
- FRR_REDIST_HELP_STR_RIPNGD
- "Metric\n"
- "Metric value\n"
- "Route map reference\n"
- "Pointer to route-map entries\n")
+DEFPY_YANG(ripng_redistribute, ripng_redistribute_cmd,
+ "[no] redistribute " FRR_REDIST_STR_RIPNGD
+ "$protocol [{metric (0-16)|route-map WORD}]",
+ NO_STR REDIST_STR FRR_REDIST_HELP_STR_RIPNGD
+ "Metric\n"
+ "Metric value\n"
+ "Route map reference\n"
+ "Pointer to route-map entries\n")
{
if (!no) {
nb_cli_enqueue_change(vty, ".", NB_OP_CREATE, NULL);
@@ -337,12 +320,10 @@ void cli_show_ripng_redistribute(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:ripngd/instance/static-route
*/
-DEFPY_YANG (ripng_route,
- ripng_route_cmd,
- "[no] route X:X::X:X/M",
- NO_STR
- "Static route setup\n"
- "Set static RIPng route announcement\n")
+DEFPY_YANG(ripng_route, ripng_route_cmd, "[no] route X:X::X:X/M",
+ NO_STR
+ "Static route setup\n"
+ "Set static RIPng route announcement\n")
{
nb_cli_enqueue_change(vty, "./static-route",
no ? NB_OP_DESTROY : NB_OP_CREATE, route_str);
@@ -359,12 +340,11 @@ void cli_show_ripng_route(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:ripngd/instance/aggregate-addres
*/
-DEFPY_YANG (ripng_aggregate_address,
- ripng_aggregate_address_cmd,
- "[no] aggregate-address X:X::X:X/M",
- NO_STR
- "Set aggregate RIPng route announcement\n"
- "Aggregate network\n")
+DEFPY_YANG(ripng_aggregate_address, ripng_aggregate_address_cmd,
+ "[no] aggregate-address X:X::X:X/M",
+ NO_STR
+ "Set aggregate RIPng route announcement\n"
+ "Aggregate network\n")
{
nb_cli_enqueue_change(vty, "./aggregate-address",
no ? NB_OP_DESTROY : NB_OP_CREATE,
@@ -383,14 +363,13 @@ void cli_show_ripng_aggregate_address(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:ripngd/instance/timers
*/
-DEFPY_YANG (ripng_timers,
- ripng_timers_cmd,
- "timers basic (1-65535)$update (1-65535)$timeout (1-65535)$garbage",
- "RIPng timers setup\n"
- "Basic timer\n"
- "Routing table update timer value in second. Default is 30.\n"
- "Routing information timeout timer. Default is 180.\n"
- "Garbage collection timer. Default is 120.\n")
+DEFPY_YANG(ripng_timers, ripng_timers_cmd,
+ "timers basic (1-65535)$update (1-65535)$timeout (1-65535)$garbage",
+ "RIPng timers setup\n"
+ "Basic timer\n"
+ "Routing table update timer value in second. Default is 30.\n"
+ "Routing information timeout timer. Default is 180.\n"
+ "Garbage collection timer. Default is 120.\n")
{
nb_cli_enqueue_change(vty, "./update-interval", NB_OP_MODIFY,
update_str);
@@ -402,15 +381,14 @@ DEFPY_YANG (ripng_timers,
return nb_cli_apply_changes(vty, "./timers");
}
-DEFPY_YANG (no_ripng_timers,
- no_ripng_timers_cmd,
- "no timers basic [(1-65535) (1-65535) (1-65535)]",
- NO_STR
- "RIPng timers setup\n"
- "Basic timer\n"
- "Routing table update timer value in second. Default is 30.\n"
- "Routing information timeout timer. Default is 180.\n"
- "Garbage collection timer. Default is 120.\n")
+DEFPY_YANG(no_ripng_timers, no_ripng_timers_cmd,
+ "no timers basic [(1-65535) (1-65535) (1-65535)]",
+ NO_STR
+ "RIPng timers setup\n"
+ "Basic timer\n"
+ "Routing table update timer value in second. Default is 30.\n"
+ "Routing information timeout timer. Default is 180.\n"
+ "Garbage collection timer. Default is 120.\n")
{
nb_cli_enqueue_change(vty, "./update-interval", NB_OP_MODIFY, NULL);
nb_cli_enqueue_change(vty, "./holddown-interval", NB_OP_MODIFY, NULL);
@@ -431,14 +409,12 @@ void cli_show_ripng_timers(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-interface:lib/interface/frr-ripngd:ripng/split-horizon
*/
-DEFPY_YANG (ipv6_ripng_split_horizon,
- ipv6_ripng_split_horizon_cmd,
- "[no] ipv6 ripng split-horizon [poisoned-reverse$poisoned_reverse]",
- NO_STR
- IPV6_STR
- "Routing Information Protocol\n"
- "Perform split horizon\n"
- "With poisoned-reverse\n")
+DEFPY_YANG(ipv6_ripng_split_horizon, ipv6_ripng_split_horizon_cmd,
+ "[no] ipv6 ripng split-horizon [poisoned-reverse$poisoned_reverse]",
+ NO_STR IPV6_STR
+ "Routing Information Protocol\n"
+ "Perform split horizon\n"
+ "With poisoned-reverse\n")
{
const char *value;
@@ -476,13 +452,8 @@ void cli_show_ipv6_ripng_split_horizon(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:clear-ripng-route
*/
-DEFPY_YANG (clear_ipv6_rip,
- clear_ipv6_rip_cmd,
- "clear ipv6 ripng [vrf WORD]",
- CLEAR_STR
- IPV6_STR
- "Clear IPv6 RIP database\n"
- VRF_CMD_HELP_STR)
+DEFPY_YANG(clear_ipv6_rip, clear_ipv6_rip_cmd, "clear ipv6 ripng [vrf WORD]",
+ CLEAR_STR IPV6_STR "Clear IPv6 RIP database\n" VRF_CMD_HELP_STR)
{
struct list *input;
int ret;
diff --git a/zebra/zebra_routemap.c b/zebra/zebra_routemap.c
index 8155f9acf..8dad7d15a 100644
--- a/zebra/zebra_routemap.c
+++ b/zebra/zebra_routemap.c
@@ -351,14 +351,12 @@ static int ip_nht_rm_del(struct zebra_vrf *zvrf, const char *rmap, int rtype,
return CMD_SUCCESS;
}
-DEFPY_YANG(
- match_ip_address_prefix_len, match_ip_address_prefix_len_cmd,
- "match ip address prefix-len (0-32)$length",
- MATCH_STR
- IP_STR
- "Match prefix length of IP address\n"
- "Match prefix length of IP address\n"
- "Prefix length\n")
+DEFPY_YANG(match_ip_address_prefix_len, match_ip_address_prefix_len_cmd,
+ "match ip address prefix-len (0-32)$length",
+ MATCH_STR IP_STR
+ "Match prefix length of IP address\n"
+ "Match prefix length of IP address\n"
+ "Prefix length\n")
{
const char *xpath = "./match-condition[condition='ipv4-prefix-length']";
char xpath_value[XPATH_MAXLEN];
@@ -371,15 +369,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ip_address_prefix_len, no_match_ip_address_prefix_len_cmd,
- "no match ip address prefix-len [(0-32)]",
- NO_STR
- MATCH_STR
- IP_STR
- "Match prefix length of IP address\n"
- "Match prefix length of IP address\n"
- "Prefix length\n")
+DEFPY_YANG(no_match_ip_address_prefix_len, no_match_ip_address_prefix_len_cmd,
+ "no match ip address prefix-len [(0-32)]",
+ NO_STR MATCH_STR IP_STR
+ "Match prefix length of IP address\n"
+ "Match prefix length of IP address\n"
+ "Prefix length\n")
{
const char *xpath = "./match-condition[condition='ipv4-prefix-length']";
@@ -388,14 +383,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_ipv6_address_prefix_len, match_ipv6_address_prefix_len_cmd,
- "match ipv6 address prefix-len (0-128)$length",
- MATCH_STR
- IPV6_STR
- "Match prefix length of IPv6 address\n"
- "Match prefix length of IPv6 address\n"
- "Prefix length\n")
+DEFPY_YANG(match_ipv6_address_prefix_len, match_ipv6_address_prefix_len_cmd,
+ "match ipv6 address prefix-len (0-128)$length",
+ MATCH_STR IPV6_STR
+ "Match prefix length of IPv6 address\n"
+ "Match prefix length of IPv6 address\n"
+ "Prefix length\n")
{
const char *xpath = "./match-condition[condition='ipv6-prefix-length']";
char xpath_value[XPATH_MAXLEN];
@@ -408,15 +401,13 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ipv6_address_prefix_len, no_match_ipv6_address_prefix_len_cmd,
- "no match ipv6 address prefix-len [(0-128)]",
- NO_STR
- MATCH_STR
- IPV6_STR
- "Match prefix length of IPv6 address\n"
- "Match prefix length of IPv6 address\n"
- "Prefix length\n")
+DEFPY_YANG(no_match_ipv6_address_prefix_len,
+ no_match_ipv6_address_prefix_len_cmd,
+ "no match ipv6 address prefix-len [(0-128)]",
+ NO_STR MATCH_STR IPV6_STR
+ "Match prefix length of IPv6 address\n"
+ "Match prefix length of IPv6 address\n"
+ "Prefix length\n")
{
const char *xpath = "./match-condition[condition='ipv6-prefix-length']";
@@ -425,14 +416,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_ip_nexthop_prefix_len, match_ip_nexthop_prefix_len_cmd,
- "match ip next-hop prefix-len (0-32)$length",
- MATCH_STR
- IP_STR
- "Match prefixlen of nexthop IP address\n"
- "Match prefixlen of given nexthop\n"
- "Prefix length\n")
+DEFPY_YANG(match_ip_nexthop_prefix_len, match_ip_nexthop_prefix_len_cmd,
+ "match ip next-hop prefix-len (0-32)$length",
+ MATCH_STR IP_STR
+ "Match prefixlen of nexthop IP address\n"
+ "Match prefixlen of given nexthop\n"
+ "Prefix length\n")
{
const char *xpath =
"./match-condition[condition='ipv4-next-hop-prefix-length']";
@@ -446,15 +435,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ip_nexthop_prefix_len, no_match_ip_nexthop_prefix_len_cmd,
- "no match ip next-hop prefix-len [(0-32)]",
- NO_STR
- MATCH_STR
- IP_STR
- "Match prefixlen of nexthop IP address\n"
- "Match prefix length of nexthop\n"
- "Prefix length\n")
+DEFPY_YANG(no_match_ip_nexthop_prefix_len, no_match_ip_nexthop_prefix_len_cmd,
+ "no match ip next-hop prefix-len [(0-32)]",
+ NO_STR MATCH_STR IP_STR
+ "Match prefixlen of nexthop IP address\n"
+ "Match prefix length of nexthop\n"
+ "Prefix length\n")
{
const char *xpath =
"./match-condition[condition='ipv4-next-hop-prefix-length']";
@@ -468,8 +454,7 @@ DEFPY_YANG(
match_source_protocol, match_source_protocol_cmd,
"match source-protocol " FRR_REDIST_STR_ZEBRA "$proto",
MATCH_STR
- "Match protocol via which the route was learnt\n"
- FRR_REDIST_HELP_STR_ZEBRA)
+ "Match protocol via which the route was learnt\n" FRR_REDIST_HELP_STR_ZEBRA)
{
const char *xpath = "./match-condition[condition='source-protocol']";
char xpath_value[XPATH_MAXLEN];
@@ -485,10 +470,8 @@ DEFPY_YANG(
DEFPY_YANG(
no_match_source_protocol, no_match_source_protocol_cmd,
"no match source-protocol [" FRR_REDIST_STR_ZEBRA "]",
- NO_STR
- MATCH_STR
- "Match protocol via which the route was learnt\n"
- FRR_REDIST_HELP_STR_ZEBRA)
+ NO_STR MATCH_STR
+ "Match protocol via which the route was learnt\n" FRR_REDIST_HELP_STR_ZEBRA)
{
const char *xpath = "./match-condition[condition='source-protocol']";
@@ -497,12 +480,11 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_source_instance, match_source_instance_cmd,
- "match source-instance (0-255)$instance",
- MATCH_STR
- "Match the protocol's instance number\n"
- "The instance number\n")
+DEFPY_YANG(match_source_instance, match_source_instance_cmd,
+ "match source-instance (0-255)$instance",
+ MATCH_STR
+ "Match the protocol's instance number\n"
+ "The instance number\n")
{
const char *xpath = "./match-condition[condition='source-instance']";
char xpath_value[XPATH_MAXLEN];
@@ -515,12 +497,11 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_source_instance, no_match_source_instance_cmd,
- "no match source-instance [(0-255)]",
- NO_STR MATCH_STR
- "Match the protocol's instance number\n"
- "The instance number\n")
+DEFPY_YANG(no_match_source_instance, no_match_source_instance_cmd,
+ "no match source-instance [(0-255)]",
+ NO_STR MATCH_STR
+ "Match the protocol's instance number\n"
+ "The instance number\n")
{
const char *xpath = "./match-condition[condition='source-instance']";
@@ -531,13 +512,11 @@ DEFPY_YANG(
/* set functions */
-DEFPY_YANG(
- set_src, set_src_cmd,
- "set src <A.B.C.D$addrv4|X:X::X:X$addrv6>",
- SET_STR
- "src address for route\n"
- "IPv4 src address\n"
- "IPv6 src address\n")
+DEFPY_YANG(set_src, set_src_cmd, "set src <A.B.C.D$addrv4|X:X::X:X$addrv6>",
+ SET_STR
+ "src address for route\n"
+ "IPv4 src address\n"
+ "IPv6 src address\n")
{
const char *xpath = "./set-action[action='source']";
char xpath_value[XPATH_MAXLEN];
@@ -558,14 +537,11 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_set_src, no_set_src_cmd,
- "no set src [<A.B.C.D|X:X::X:X>]",
- NO_STR
- SET_STR
- "Source address for route\n"
- "IPv4 address\n"
- "IPv6 address\n")
+DEFPY_YANG(no_set_src, no_set_src_cmd, "no set src [<A.B.C.D|X:X::X:X>]",
+ NO_STR SET_STR
+ "Source address for route\n"
+ "IPv4 address\n"
+ "IPv6 address\n")
{
const char *xpath = "./set-action[action='source']";
@@ -605,15 +581,14 @@ DEFUN (no_zebra_route_map_timer,
return (CMD_SUCCESS);
}
-DEFPY_YANG (ip_protocol,
- ip_protocol_cmd,
- "ip protocol " FRR_IP_PROTOCOL_MAP_STR_ZEBRA
- " $proto route-map ROUTE-MAP$rmap",
- IP_STR
- "Filter routing info exchanged between zebra and protocol\n"
- FRR_IP_PROTOCOL_MAP_HELP_STR_ZEBRA
- "Specify route-map\n"
- "Route map name\n")
+DEFPY_YANG(
+ ip_protocol, ip_protocol_cmd,
+ "ip protocol " FRR_IP_PROTOCOL_MAP_STR_ZEBRA
+ " $proto route-map ROUTE-MAP$rmap",
+ IP_STR
+ "Filter routing info exchanged between zebra and protocol\n" FRR_IP_PROTOCOL_MAP_HELP_STR_ZEBRA
+ "Specify route-map\n"
+ "Route map name\n")
{
int ret, rtype;
@@ -639,16 +614,14 @@ DEFPY_YANG (ip_protocol,
return ret;
}
-DEFPY_YANG (no_ip_protocol,
- no_ip_protocol_cmd,
- "no ip protocol " FRR_IP_PROTOCOL_MAP_STR_ZEBRA
- " $proto [route-map ROUTE-MAP$rmap]",
- NO_STR
- IP_STR
- "Stop filtering routing info between zebra and protocol\n"
- FRR_IP_PROTOCOL_MAP_HELP_STR_ZEBRA
- "Specify route-map\n"
- "Route map name\n")
+DEFPY_YANG(
+ no_ip_protocol, no_ip_protocol_cmd,
+ "no ip protocol " FRR_IP_PROTOCOL_MAP_STR_ZEBRA
+ " $proto [route-map ROUTE-MAP$rmap]",
+ NO_STR IP_STR
+ "Stop filtering routing info between zebra and protocol\n" FRR_IP_PROTOCOL_MAP_HELP_STR_ZEBRA
+ "Specify route-map\n"
+ "Route map name\n")
{
int ret, rtype;
@@ -673,28 +646,24 @@ DEFPY_YANG (no_ip_protocol,
return ret;
}
-DEFPY_YANG (show_ip_protocol,
- show_ip_protocol_cmd,
- "show ip protocol [vrf <NAME$vrf_name|all$vrf_all>]",
- SHOW_STR
- IP_STR
- "IP protocol filtering status\n"
- VRF_FULL_CMD_HELP_STR)
+DEFPY_YANG(show_ip_protocol, show_ip_protocol_cmd,
+ "show ip protocol [vrf <NAME$vrf_name|all$vrf_all>]",
+ SHOW_STR IP_STR
+ "IP protocol filtering status\n" VRF_FULL_CMD_HELP_STR)
{
int ret = show_proto_rm(vty, AFI_IP, vrf_all, vrf_name);
return ret;
}
-DEFPY_YANG (ipv6_protocol,
- ipv6_protocol_cmd,
- "ipv6 protocol " FRR_IP6_PROTOCOL_MAP_STR_ZEBRA
- " $proto route-map ROUTE-MAP$rmap",
- IP6_STR
- "Filter IPv6 routing info exchanged between zebra and protocol\n"
- FRR_IP6_PROTOCOL_MAP_HELP_STR_ZEBRA
- "Specify route-map\n"
- "Route map name\n")
+DEFPY_YANG(
+ ipv6_protocol, ipv6_protocol_cmd,
+ "ipv6 protocol " FRR_IP6_PROTOCOL_MAP_STR_ZEBRA
+ " $proto route-map ROUTE-MAP$rmap",
+ IP6_STR
+ "Filter IPv6 routing info exchanged between zebra and protocol\n" FRR_IP6_PROTOCOL_MAP_HELP_STR_ZEBRA
+ "Specify route-map\n"
+ "Route map name\n")
{
int ret, rtype;
@@ -720,16 +689,14 @@ DEFPY_YANG (ipv6_protocol,
return ret;
}
-DEFPY_YANG (no_ipv6_protocol,
- no_ipv6_protocol_cmd,
- "no ipv6 protocol " FRR_IP6_PROTOCOL_MAP_STR_ZEBRA
- " $proto [route-map ROUTE-MAP$rmap]",
- NO_STR
- IP6_STR
- "Stop filtering IPv6 routing info between zebra and protocol\n"
- FRR_IP6_PROTOCOL_MAP_HELP_STR_ZEBRA
- "Specify route-map\n"
- "Route map name\n")
+DEFPY_YANG(
+ no_ipv6_protocol, no_ipv6_protocol_cmd,
+ "no ipv6 protocol " FRR_IP6_PROTOCOL_MAP_STR_ZEBRA
+ " $proto [route-map ROUTE-MAP$rmap]",
+ NO_STR IP6_STR
+ "Stop filtering IPv6 routing info between zebra and protocol\n" FRR_IP6_PROTOCOL_MAP_HELP_STR_ZEBRA
+ "Specify route-map\n"
+ "Route map name\n")
{
int ret, rtype;
@@ -754,28 +721,24 @@ DEFPY_YANG (no_ipv6_protocol,
return ret;
}
-DEFPY_YANG (show_ipv6_protocol,
- show_ipv6_protocol_cmd,
- "show ipv6 protocol [vrf <NAME$vrf_name|all$vrf_all>]",
- SHOW_STR
- IP6_STR
- "IPv6 protocol filtering status\n"
- VRF_FULL_CMD_HELP_STR)
+DEFPY_YANG(show_ipv6_protocol, show_ipv6_protocol_cmd,
+ "show ipv6 protocol [vrf <NAME$vrf_name|all$vrf_all>]",
+ SHOW_STR IP6_STR
+ "IPv6 protocol filtering status\n" VRF_FULL_CMD_HELP_STR)
{
int ret = show_proto_rm(vty, AFI_IP6, vrf_all, vrf_name);
return ret;
}
-DEFPY_YANG (ip_protocol_nht_rmap,
- ip_protocol_nht_rmap_cmd,
- "ip nht " FRR_IP_PROTOCOL_MAP_STR_ZEBRA
- " $proto route-map ROUTE-MAP$rmap",
- IP_STR
- "Filter Next Hop tracking route resolution\n"
- FRR_IP_PROTOCOL_MAP_HELP_STR_ZEBRA
- "Specify route map\n"
- "Route map name\n")
+DEFPY_YANG(
+ ip_protocol_nht_rmap, ip_protocol_nht_rmap_cmd,
+ "ip nht " FRR_IP_PROTOCOL_MAP_STR_ZEBRA
+ " $proto route-map ROUTE-MAP$rmap",
+ IP_STR
+ "Filter Next Hop tracking route resolution\n" FRR_IP_PROTOCOL_MAP_HELP_STR_ZEBRA
+ "Specify route map\n"
+ "Route map name\n")
{
int ret, rtype;
@@ -802,16 +765,14 @@ DEFPY_YANG (ip_protocol_nht_rmap,
return ret;
}
-DEFPY_YANG (no_ip_protocol_nht_rmap,
- no_ip_protocol_nht_rmap_cmd,
- "no ip nht " FRR_IP_PROTOCOL_MAP_STR_ZEBRA
- " $proto route-map [ROUTE-MAP$rmap]",
- NO_STR
- IP_STR
- "Filter Next Hop tracking route resolution\n"
- FRR_IP_PROTOCOL_MAP_HELP_STR_ZEBRA
- "Specify route map\n"
- "Route map name\n")
+DEFPY_YANG(
+ no_ip_protocol_nht_rmap, no_ip_protocol_nht_rmap_cmd,
+ "no ip nht " FRR_IP_PROTOCOL_MAP_STR_ZEBRA
+ " $proto route-map [ROUTE-MAP$rmap]",
+ NO_STR IP_STR
+ "Filter Next Hop tracking route resolution\n" FRR_IP_PROTOCOL_MAP_HELP_STR_ZEBRA
+ "Specify route map\n"
+ "Route map name\n")
{
int ret, rtype;
@@ -836,29 +797,25 @@ DEFPY_YANG (no_ip_protocol_nht_rmap,
return ret;
}
-DEFPY_YANG (show_ip_protocol_nht,
- show_ip_protocol_nht_cmd,
- "show ip nht route-map [vrf <NAME$vrf_name|all$vrf_all>]",
- SHOW_STR
- IP_STR
- "IP nexthop tracking table\n"
- "IP Next Hop tracking filtering status\n"
- VRF_FULL_CMD_HELP_STR)
+DEFPY_YANG(show_ip_protocol_nht, show_ip_protocol_nht_cmd,
+ "show ip nht route-map [vrf <NAME$vrf_name|all$vrf_all>]",
+ SHOW_STR IP_STR
+ "IP nexthop tracking table\n"
+ "IP Next Hop tracking filtering status\n" VRF_FULL_CMD_HELP_STR)
{
int ret = show_nht_rm(vty, AFI_IP, vrf_all, vrf_name);
return ret;
}
-DEFPY_YANG (ipv6_protocol_nht_rmap,
- ipv6_protocol_nht_rmap_cmd,
- "ipv6 nht " FRR_IP6_PROTOCOL_MAP_STR_ZEBRA
- " $proto route-map ROUTE-MAP$rmap",
- IP6_STR
- "Filter Next Hop tracking route resolution\n"
- FRR_IP6_PROTOCOL_MAP_HELP_STR_ZEBRA
- "Specify route map\n"
- "Route map name\n")
+DEFPY_YANG(
+ ipv6_protocol_nht_rmap, ipv6_protocol_nht_rmap_cmd,
+ "ipv6 nht " FRR_IP6_PROTOCOL_MAP_STR_ZEBRA
+ " $proto route-map ROUTE-MAP$rmap",
+ IP6_STR
+ "Filter Next Hop tracking route resolution\n" FRR_IP6_PROTOCOL_MAP_HELP_STR_ZEBRA
+ "Specify route map\n"
+ "Route map name\n")
{
int ret, rtype;
@@ -884,16 +841,14 @@ DEFPY_YANG (ipv6_protocol_nht_rmap,
return ret;
}
-DEFPY_YANG (no_ipv6_protocol_nht_rmap,
- no_ipv6_protocol_nht_rmap_cmd,
- "no ipv6 nht " FRR_IP6_PROTOCOL_MAP_STR_ZEBRA
- " $proto [route-map ROUTE-MAP$rmap]",
- NO_STR
- IP6_STR
- "Filter Next Hop tracking route resolution\n"
- FRR_IP6_PROTOCOL_MAP_HELP_STR_ZEBRA
- "Specify route map\n"
- "Route map name\n")
+DEFPY_YANG(
+ no_ipv6_protocol_nht_rmap, no_ipv6_protocol_nht_rmap_cmd,
+ "no ipv6 nht " FRR_IP6_PROTOCOL_MAP_STR_ZEBRA
+ " $proto [route-map ROUTE-MAP$rmap]",
+ NO_STR IP6_STR
+ "Filter Next Hop tracking route resolution\n" FRR_IP6_PROTOCOL_MAP_HELP_STR_ZEBRA
+ "Specify route map\n"
+ "Route map name\n")
{
int ret, rtype;
@@ -918,14 +873,11 @@ DEFPY_YANG (no_ipv6_protocol_nht_rmap,
return ret;
}
-DEFPY_YANG (show_ipv6_protocol_nht,
- show_ipv6_protocol_nht_cmd,
- "show ipv6 nht route-map [vrf <NAME$vrf_name|all$vrf_all>]",
- SHOW_STR
- IP6_STR
- "Next Hop filtering status\n"
- "Route-map\n"
- VRF_FULL_CMD_HELP_STR)
+DEFPY_YANG(show_ipv6_protocol_nht, show_ipv6_protocol_nht_cmd,
+ "show ipv6 nht route-map [vrf <NAME$vrf_name|all$vrf_all>]",
+ SHOW_STR IP6_STR
+ "Next Hop filtering status\n"
+ "Route-map\n" VRF_FULL_CMD_HELP_STR)
{
int ret = show_nht_rm(vty, AFI_IP6, vrf_all, vrf_name);
If you are a new contributor to FRR, please see our contributing guidelines.
Outdated results 💚Basic BGPD CI results: SUCCESS, 0 tests failed
For details, please contact louberger |
Continuous Integration Result: FAILEDContinuous Integration Result: FAILEDTest incomplete. See below for issues. This is a comment from an automated CI system. Get source / Pull Request: SuccessfulBuilding Stage: SuccessfulBasic Tests: IncompleteTopo tests part 0 on Ubuntu 16.04 amd64: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPOU1604-13092/test Topology Tests failed for Topo tests part 0 on Ubuntu 16.04 amd64:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-13092/artifact/TOPOU1604/ErrorLog/log_topotests.txt Topo tests part 0 on Ubuntu 16.04 amd64: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPOU1604-13092/test Topology Tests failed for Topo tests part 0 on Ubuntu 16.04 amd64:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-13092/artifact/TOPOU1604/ErrorLog/log_topotests.txt Addresssanitizer topotests part 0: Incomplete(check logs for details)Successful on other platforms/tests
|
Continuous Integration Result: SUCCESSFULContinuous Integration Result: SUCCESSFULCongratulations, this patch passed basic tests Tested-by: NetDEF / OpenSourceRouting.org CI System CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-13092/ This is a comment from an automated CI system. Warnings Generated during build:Checkout code: Successful with additional warnings
Warnings Generated during build:Debian 10 amd64 build: Successful with additional warningsDebian Package lintian failed for Debian 10 amd64 build:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm okay with it as a temporary fix. Dislike the new DEF*
macro, but at the same time, it does serve the side-effect purpose of calling out which functions have been converted to NB or not, which actually may be useful in and of itself as a way to find unconverted functions when we get closer to the conversion endgame.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems like an "okay" solution, especially as a workaround... I don't see how to make the grouping any more intuitive -- if the user doesn't group things, there's no real way for the system to "know" how to do so.
Commands.frr has 32k prefix-lists in it. While we are now ~1 order of magnitude slower 4->40 seconds. This command now finishes in reasonable time... In my opinion this is still a significant problem especially on slower/older systems. (We have customers who will have an absolute problem upgrading to a version of FRR that has this code in it ). This PR:
7.1:
7.2:
7.3:
7.4:
|
update the PR to latest master with a merge, rebase and a force push and I'll get this in. |
@donaldsharp Thanks for testing this. Given your numbers, I suppose your prefix-lists didn't have explicit sequence numbers, right? When that happens, the "prefix-list" commands need to use I'll rebase the code now to resolve the conflicts. |
db87819
to
3cdad3d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your contribution to FRR!
Click for style suggestions
To apply these suggestions:
curl -s https://gist.githubusercontent.com/polychaeta/85c7de76e372a84c3f781a35591b3396/raw/1a10aa358b0bdfeca0b8e6432746541c18180581/cr_6727_1595963121.diff | git apply
diff --git a/bfdd/bfdd_cli.c b/bfdd/bfdd_cli.c
index 0dd021d47..5d372ba82 100644
--- a/bfdd/bfdd_cli.c
+++ b/bfdd/bfdd_cli.c
@@ -55,10 +55,7 @@
/*
* Functions.
*/
-DEFPY_YANG_NOSH(
- bfd_enter, bfd_enter_cmd,
- "bfd",
- "Configure BFD peers\n")
+DEFPY_YANG_NOSH(bfd_enter, bfd_enter_cmd, "bfd", "Configure BFD peers\n")
{
int ret;
@@ -70,11 +67,8 @@ DEFPY_YANG_NOSH(
return ret;
}
-DEFUN_YANG(
- bfd_config_reset, bfd_config_reset_cmd,
- "no bfd",
- NO_STR
- "Configure BFD peers\n")
+DEFUN_YANG(bfd_config_reset, bfd_config_reset_cmd, "no bfd",
+ NO_STR "Configure BFD peers\n")
{
nb_cli_enqueue_change(vty, "/frr-bfdd:bfdd/bfd", NB_OP_DESTROY, NULL);
return nb_cli_apply_changes(vty, NULL);
@@ -96,17 +90,9 @@ void bfd_cli_show_header_end(struct vty *vty,
DEFPY_YANG_NOSH(
bfd_peer_enter, bfd_peer_enter_cmd,
"peer <A.B.C.D|X:X::X:X> [{multihop$multihop|local-address <A.B.C.D|X:X::X:X>|interface IFNAME$ifname|vrf NAME}]",
- PEER_STR
- PEER_IPV4_STR
- PEER_IPV6_STR
- MHOP_STR
- LOCAL_STR
- LOCAL_IPV4_STR
- LOCAL_IPV6_STR
- INTERFACE_STR
- LOCAL_INTF_STR
- VRF_STR
- VRF_NAME_STR)
+ PEER_STR PEER_IPV4_STR PEER_IPV6_STR MHOP_STR LOCAL_STR LOCAL_IPV4_STR
+ LOCAL_IPV6_STR INTERFACE_STR LOCAL_INTF_STR VRF_STR
+ VRF_NAME_STR)
{
int ret, slen;
char source_str[INET6_ADDRSTRLEN];
@@ -153,18 +139,9 @@ DEFPY_YANG_NOSH(
DEFPY_YANG(
bfd_no_peer, bfd_no_peer_cmd,
"no peer <A.B.C.D|X:X::X:X> [{multihop$multihop|local-address <A.B.C.D|X:X::X:X>|interface IFNAME$ifname|vrf NAME}]",
- NO_STR
- PEER_STR
- PEER_IPV4_STR
- PEER_IPV6_STR
- MHOP_STR
- LOCAL_STR
- LOCAL_IPV4_STR
- LOCAL_IPV6_STR
- INTERFACE_STR
- LOCAL_INTF_STR
- VRF_STR
- VRF_NAME_STR)
+ NO_STR PEER_STR PEER_IPV4_STR PEER_IPV6_STR MHOP_STR LOCAL_STR
+ LOCAL_IPV4_STR LOCAL_IPV6_STR INTERFACE_STR LOCAL_INTF_STR
+ VRF_STR VRF_NAME_STR)
{
int slen;
char xpath[XPATH_MAXLEN];
@@ -244,11 +221,8 @@ void bfd_cli_show_peer_end(struct vty *vty,
vty_out(vty, " !\n");
}
-DEFPY_YANG(
- bfd_peer_shutdown, bfd_peer_shutdown_cmd,
- "[no] shutdown",
- NO_STR
- "Disable BFD peer\n")
+DEFPY_YANG(bfd_peer_shutdown, bfd_peer_shutdown_cmd, "[no] shutdown",
+ NO_STR "Disable BFD peer\n")
{
nb_cli_enqueue_change(vty, "./administrative-down", NB_OP_MODIFY,
no ? "false" : "true");
@@ -265,11 +239,10 @@ void bfd_cli_show_shutdown(struct vty *vty, struct lyd_node *dnode,
yang_dnode_get_bool(dnode, NULL) ? "" : "no ");
}
-DEFPY_YANG(
- bfd_peer_mult, bfd_peer_mult_cmd,
- "detect-multiplier (2-255)$multiplier",
- "Configure peer detection multiplier\n"
- "Configure peer detection multiplier value\n")
+DEFPY_YANG(bfd_peer_mult, bfd_peer_mult_cmd,
+ "detect-multiplier (2-255)$multiplier",
+ "Configure peer detection multiplier\n"
+ "Configure peer detection multiplier value\n")
{
nb_cli_enqueue_change(vty, "./detection-multiplier", NB_OP_MODIFY,
multiplier_str);
@@ -287,11 +260,9 @@ void bfd_cli_show_mult(struct vty *vty, struct lyd_node *dnode,
yang_dnode_get_string(dnode, NULL));
}
-DEFPY_YANG(
- bfd_peer_rx, bfd_peer_rx_cmd,
- "receive-interval (10-60000)$interval",
- "Configure peer receive interval\n"
- "Configure peer receive interval value in milliseconds\n")
+DEFPY_YANG(bfd_peer_rx, bfd_peer_rx_cmd, "receive-interval (10-60000)$interval",
+ "Configure peer receive interval\n"
+ "Configure peer receive interval value in milliseconds\n")
{
char value[32];
@@ -316,11 +287,10 @@ void bfd_cli_show_rx(struct vty *vty, struct lyd_node *dnode,
}
}
-DEFPY_YANG(
- bfd_peer_tx, bfd_peer_tx_cmd,
- "transmit-interval (10-60000)$interval",
- "Configure peer transmit interval\n"
- "Configure peer transmit interval value in milliseconds\n")
+DEFPY_YANG(bfd_peer_tx, bfd_peer_tx_cmd,
+ "transmit-interval (10-60000)$interval",
+ "Configure peer transmit interval\n"
+ "Configure peer transmit interval value in milliseconds\n")
{
char value[32];
@@ -345,11 +315,8 @@ void bfd_cli_show_tx(struct vty *vty, struct lyd_node *dnode,
}
}
-DEFPY_YANG(
- bfd_peer_echo, bfd_peer_echo_cmd,
- "[no] echo-mode",
- NO_STR
- "Configure echo mode\n")
+DEFPY_YANG(bfd_peer_echo, bfd_peer_echo_cmd, "[no] echo-mode",
+ NO_STR "Configure echo mode\n")
{
nb_cli_enqueue_change(vty, "./echo-mode", NB_OP_MODIFY,
no ? "false" : "true");
@@ -366,11 +333,10 @@ void bfd_cli_show_echo(struct vty *vty, struct lyd_node *dnode,
yang_dnode_get_bool(dnode, NULL) ? "" : "no ");
}
-DEFPY_YANG(
- bfd_peer_echo_interval, bfd_peer_echo_interval_cmd,
- "echo-interval (10-60000)$interval",
- "Configure peer echo interval\n"
- "Configure peer echo interval value in milliseconds\n")
+DEFPY_YANG(bfd_peer_echo_interval, bfd_peer_echo_interval_cmd,
+ "echo-interval (10-60000)$interval",
+ "Configure peer echo interval\n"
+ "Configure peer echo interval value in milliseconds\n")
{
char value[32];
@@ -398,10 +364,8 @@ void bfd_cli_show_echo_interval(struct vty *vty, struct lyd_node *dnode,
/*
* Profile commands.
*/
-DEFPY_YANG_NOSH(bfd_profile, bfd_profile_cmd,
- "profile WORD$name",
- BFD_PROFILE_STR
- BFD_PROFILE_NAME_STR)
+DEFPY_YANG_NOSH(bfd_profile, bfd_profile_cmd, "profile WORD$name",
+ BFD_PROFILE_STR BFD_PROFILE_NAME_STR)
{
char xpath[XPATH_MAXLEN];
int rv;
@@ -419,11 +383,8 @@ DEFPY_YANG_NOSH(bfd_profile, bfd_profile_cmd,
return CMD_SUCCESS;
}
-DEFPY_YANG(no_bfd_profile, no_bfd_profile_cmd,
- "no profile BFDPROF$name",
- NO_STR
- BFD_PROFILE_STR
- BFD_PROFILE_NAME_STR)
+DEFPY_YANG(no_bfd_profile, no_bfd_profile_cmd, "no profile BFDPROF$name",
+ NO_STR BFD_PROFILE_STR BFD_PROFILE_NAME_STR)
{
char xpath[XPATH_MAXLEN];
@@ -443,40 +404,33 @@ void bfd_cli_show_profile(struct vty *vty, struct lyd_node *dnode,
}
ALIAS_YANG(bfd_peer_mult, bfd_profile_mult_cmd,
- "detect-multiplier (2-255)$multiplier",
- "Configure peer detection multiplier\n"
- "Configure peer detection multiplier value\n")
+ "detect-multiplier (2-255)$multiplier",
+ "Configure peer detection multiplier\n"
+ "Configure peer detection multiplier value\n")
ALIAS_YANG(bfd_peer_tx, bfd_profile_tx_cmd,
- "transmit-interval (10-60000)$interval",
- "Configure peer transmit interval\n"
- "Configure peer transmit interval value in milliseconds\n")
+ "transmit-interval (10-60000)$interval",
+ "Configure peer transmit interval\n"
+ "Configure peer transmit interval value in milliseconds\n")
ALIAS_YANG(bfd_peer_rx, bfd_profile_rx_cmd,
- "receive-interval (10-60000)$interval",
- "Configure peer receive interval\n"
- "Configure peer receive interval value in milliseconds\n")
+ "receive-interval (10-60000)$interval",
+ "Configure peer receive interval\n"
+ "Configure peer receive interval value in milliseconds\n")
-ALIAS_YANG(bfd_peer_shutdown, bfd_profile_shutdown_cmd,
- "[no] shutdown",
- NO_STR
- "Disable BFD peer\n")
+ALIAS_YANG(bfd_peer_shutdown, bfd_profile_shutdown_cmd, "[no] shutdown",
+ NO_STR "Disable BFD peer\n")
-ALIAS_YANG(bfd_peer_echo, bfd_profile_echo_cmd,
- "[no] echo-mode",
- NO_STR
- "Configure echo mode\n")
+ALIAS_YANG(bfd_peer_echo, bfd_profile_echo_cmd, "[no] echo-mode",
+ NO_STR "Configure echo mode\n")
ALIAS_YANG(bfd_peer_echo_interval, bfd_profile_echo_interval_cmd,
- "echo-interval (10-60000)$interval",
- "Configure peer echo interval\n"
- "Configure peer echo interval value in milliseconds\n")
-
-DEFPY_YANG(bfd_peer_profile, bfd_peer_profile_cmd,
- "[no] profile BFDPROF$pname",
- NO_STR
- "Use BFD profile settings\n"
- BFD_PROFILE_NAME_STR)
+ "echo-interval (10-60000)$interval",
+ "Configure peer echo interval\n"
+ "Configure peer echo interval value in milliseconds\n")
+
+DEFPY_YANG(bfd_peer_profile, bfd_peer_profile_cmd, "[no] profile BFDPROF$pname",
+ NO_STR "Use BFD profile settings\n" BFD_PROFILE_NAME_STR)
{
if (no)
nb_cli_enqueue_change(vty, "./profile", NB_OP_DESTROY, NULL);
diff --git a/isisd/isis_cli.c b/isisd/isis_cli.c
index cd75116c5..8710ae423 100644
--- a/isisd/isis_cli.c
+++ b/isisd/isis_cli.c
@@ -47,9 +47,9 @@
* XPath: /frr-isisd:isis/instance
*/
DEFPY_YANG_NOSH(router_isis, router_isis_cmd, "router isis WORD$tag",
- ROUTER_STR
- "ISO IS-IS\n"
- "ISO Routing area tag\n")
+ ROUTER_STR
+ "ISO IS-IS\n"
+ "ISO Routing area tag\n")
{
int ret;
char base_xpath[XPATH_MAXLEN];
@@ -73,9 +73,9 @@ DEFPY_YANG_NOSH(router_isis, router_isis_cmd, "router isis WORD$tag",
}
DEFPY_YANG(no_router_isis, no_router_isis_cmd, "no router isis WORD$tag",
- NO_STR ROUTER_STR
- "ISO IS-IS\n"
- "ISO Routing area tag\n")
+ NO_STR ROUTER_STR
+ "ISO IS-IS\n"
+ "ISO Routing area tag\n")
{
char temp_xpath[XPATH_MAXLEN];
struct listnode *node, *nnode;
@@ -127,10 +127,10 @@ void cli_show_router_isis(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance
*/
DEFPY_YANG(ip_router_isis, ip_router_isis_cmd, "ip router isis WORD$tag",
- "Interface Internet Protocol config commands\n"
- "IP router interface commands\n"
- "IS-IS routing protocol\n"
- "Routing process tag\n")
+ "Interface Internet Protocol config commands\n"
+ "IP router interface commands\n"
+ "IS-IS routing protocol\n"
+ "Routing process tag\n")
{
char temp_xpath[XPATH_MAXLEN];
const char *circ_type;
@@ -197,10 +197,10 @@ DEFPY_YANG(ip_router_isis, ip_router_isis_cmd, "ip router isis WORD$tag",
}
DEFPY_YANG(ip6_router_isis, ip6_router_isis_cmd, "ipv6 router isis WORD$tag",
- "Interface Internet Protocol config commands\n"
- "IP router interface commands\n"
- "IS-IS routing protocol\n"
- "Routing process tag\n")
+ "Interface Internet Protocol config commands\n"
+ "IP router interface commands\n"
+ "IS-IS routing protocol\n"
+ "Routing process tag\n")
{
char temp_xpath[XPATH_MAXLEN];
const char *circ_type;
@@ -267,13 +267,13 @@ DEFPY_YANG(ip6_router_isis, ip6_router_isis_cmd, "ipv6 router isis WORD$tag",
}
DEFPY_YANG(no_ip_router_isis, no_ip_router_isis_cmd,
- "no <ip|ipv6>$ip router isis [WORD]$tag",
- NO_STR
- "Interface Internet Protocol config commands\n"
- "IP router interface commands\n"
- "IP router interface commands\n"
- "IS-IS routing protocol\n"
- "Routing process tag\n")
+ "no <ip|ipv6>$ip router isis [WORD]$tag",
+ NO_STR
+ "Interface Internet Protocol config commands\n"
+ "IP router interface commands\n"
+ "IP router interface commands\n"
+ "IS-IS routing protocol\n"
+ "Routing process tag\n")
{
const struct lyd_node *dnode;
@@ -327,11 +327,8 @@ void cli_show_ip_isis_ipv6(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-interface:lib/interface/frr-isisd:isis/bfd-monitoring
*/
-DEFPY_YANG(isis_bfd,
- isis_bfd_cmd,
- "[no] isis bfd",
- NO_STR PROTO_HELP
- "Enable BFD support\n")
+DEFPY_YANG(isis_bfd, isis_bfd_cmd, "[no] isis bfd",
+ NO_STR PROTO_HELP "Enable BFD support\n")
{
const struct lyd_node *dnode;
@@ -351,13 +348,11 @@ DEFPY_YANG(isis_bfd,
/*
* XPath: /frr-interface:lib/interface/frr-isisd:isis/bfd-monitoring/profile
*/
-DEFPY_YANG(isis_bfd_profile,
- isis_bfd_profile_cmd,
- "[no] isis bfd profile WORD",
- NO_STR PROTO_HELP
- "Enable BFD support\n"
- "Use a pre-configured profile\n"
- "Profile name\n")
+DEFPY_YANG(isis_bfd_profile, isis_bfd_profile_cmd, "[no] isis bfd profile WORD",
+ NO_STR PROTO_HELP
+ "Enable BFD support\n"
+ "Use a pre-configured profile\n"
+ "Profile name\n")
{
const struct lyd_node *dnode;
@@ -395,9 +390,9 @@ void cli_show_ip_isis_bfd_monitoring(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance/area-address
*/
DEFPY_YANG(net, net_cmd, "[no] net WORD",
- "Remove an existing Network Entity Title for this process\n"
- "A Network Entity Title for this process (OSI only)\n"
- "XX.XXXX. ... .XXX.XX Network entity title (NET)\n")
+ "Remove an existing Network Entity Title for this process\n"
+ "A Network Entity Title for this process (OSI only)\n"
+ "XX.XXXX. ... .XXX.XX Network entity title (NET)\n")
{
nb_cli_enqueue_change(vty, "./area-address",
no ? NB_OP_DESTROY : NB_OP_CREATE, net);
@@ -414,11 +409,12 @@ void cli_show_isis_area_address(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/is-type
*/
-DEFPY_YANG(is_type, is_type_cmd, "is-type <level-1|level-1-2|level-2-only>$level",
- "IS Level for this routing process (OSI only)\n"
- "Act as a station router only\n"
- "Act as both a station router and an area router\n"
- "Act as an area router only\n")
+DEFPY_YANG(is_type, is_type_cmd,
+ "is-type <level-1|level-1-2|level-2-only>$level",
+ "IS Level for this routing process (OSI only)\n"
+ "Act as a station router only\n"
+ "Act as both a station router and an area router\n"
+ "Act as an area router only\n")
{
nb_cli_enqueue_change(vty, "./is-type", NB_OP_MODIFY,
strmatch(level, "level-2-only") ? "level-2"
@@ -428,12 +424,12 @@ DEFPY_YANG(is_type, is_type_cmd, "is-type <level-1|level-1-2|level-2-only>$level
}
DEFPY_YANG(no_is_type, no_is_type_cmd,
- "no is-type [<level-1|level-1-2|level-2-only>]",
- NO_STR
- "IS Level for this routing process (OSI only)\n"
- "Act as a station router only\n"
- "Act as both a station router and an area router\n"
- "Act as an area router only\n")
+ "no is-type [<level-1|level-1-2|level-2-only>]",
+ NO_STR
+ "IS Level for this routing process (OSI only)\n"
+ "Act as a station router only\n"
+ "Act as both a station router and an area router\n"
+ "Act as an area router only\n")
{
nb_cli_enqueue_change(vty, "./is-type", NB_OP_MODIFY, NULL);
@@ -462,9 +458,9 @@ void cli_show_isis_is_type(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance/dynamic-hostname
*/
DEFPY_YANG(dynamic_hostname, dynamic_hostname_cmd, "[no] hostname dynamic",
- NO_STR
- "Dynamic hostname for IS-IS\n"
- "Dynamic hostname\n")
+ NO_STR
+ "Dynamic hostname for IS-IS\n"
+ "Dynamic hostname\n")
{
nb_cli_enqueue_change(vty, "./dynamic-hostname", NB_OP_MODIFY,
no ? "false" : "true");
@@ -485,8 +481,8 @@ void cli_show_isis_dynamic_hostname(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance/overload
*/
DEFPY_YANG(set_overload_bit, set_overload_bit_cmd, "[no] set-overload-bit",
- "Reset overload bit to accept transit traffic\n"
- "Set overload bit to avoid any transit traffic\n")
+ "Reset overload bit to accept transit traffic\n"
+ "Set overload bit to avoid any transit traffic\n")
{
nb_cli_enqueue_change(vty, "./overload", NB_OP_MODIFY,
no ? "false" : "true");
@@ -505,9 +501,10 @@ void cli_show_isis_overload(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/attached
*/
-DEFPY_YANG(set_attached_bit, set_attached_bit_cmd, "[no] set-attached-bit",
- "Reset attached bit\n"
- "Set attached bit to identify as L1/L2 router for inter-area traffic\n")
+DEFPY_YANG(
+ set_attached_bit, set_attached_bit_cmd, "[no] set-attached-bit",
+ "Reset attached bit\n"
+ "Set attached bit to identify as L1/L2 router for inter-area traffic\n")
{
nb_cli_enqueue_change(vty, "./attached", NB_OP_MODIFY,
no ? "false" : "true");
@@ -527,11 +524,11 @@ void cli_show_isis_attached(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance/metric-style
*/
DEFPY_YANG(metric_style, metric_style_cmd,
- "metric-style <narrow|transition|wide>$style",
- "Use old-style (ISO 10589) or new-style packet formats\n"
- "Use old style of TLVs with narrow metric\n"
- "Send and accept both styles of TLVs during transition\n"
- "Use new style of TLVs to carry wider metric\n")
+ "metric-style <narrow|transition|wide>$style",
+ "Use old-style (ISO 10589) or new-style packet formats\n"
+ "Use old style of TLVs with narrow metric\n"
+ "Send and accept both styles of TLVs during transition\n"
+ "Use new style of TLVs to carry wider metric\n")
{
nb_cli_enqueue_change(vty, "./metric-style", NB_OP_MODIFY, style);
@@ -539,12 +536,12 @@ DEFPY_YANG(metric_style, metric_style_cmd,
}
DEFPY_YANG(no_metric_style, no_metric_style_cmd,
- "no metric-style [narrow|transition|wide]",
- NO_STR
- "Use old-style (ISO 10589) or new-style packet formats\n"
- "Use old style of TLVs with narrow metric\n"
- "Send and accept both styles of TLVs during transition\n"
- "Use new style of TLVs to carry wider metric\n")
+ "no metric-style [narrow|transition|wide]",
+ NO_STR
+ "Use old-style (ISO 10589) or new-style packet formats\n"
+ "Use old style of TLVs with narrow metric\n"
+ "Send and accept both styles of TLVs during transition\n"
+ "Use new style of TLVs to carry wider metric\n")
{
nb_cli_enqueue_change(vty, "./metric-style", NB_OP_MODIFY, NULL);
@@ -572,16 +569,17 @@ void cli_show_isis_metric_style(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/area-password
*/
-DEFPY_YANG(area_passwd, area_passwd_cmd,
- "area-password <clear|md5>$pwd_type WORD$pwd [authenticate snp <send-only|validate>$snp]",
- "Configure the authentication password for an area\n"
- "Clear-text authentication type\n"
- "MD5 authentication type\n"
- "Level-wide password\n"
- "Authentication\n"
- "SNP PDUs\n"
- "Send but do not check PDUs on receiving\n"
- "Send and check PDUs on receiving\n")
+DEFPY_YANG(
+ area_passwd, area_passwd_cmd,
+ "area-password <clear|md5>$pwd_type WORD$pwd [authenticate snp <send-only|validate>$snp]",
+ "Configure the authentication password for an area\n"
+ "Clear-text authentication type\n"
+ "MD5 authentication type\n"
+ "Level-wide password\n"
+ "Authentication\n"
+ "SNP PDUs\n"
+ "Send but do not check PDUs on receiving\n"
+ "Send and check PDUs on receiving\n")
{
nb_cli_enqueue_change(vty, "./area-password", NB_OP_CREATE, NULL);
nb_cli_enqueue_change(vty, "./area-password/password", NB_OP_MODIFY,
@@ -611,16 +609,17 @@ void cli_show_isis_area_pwd(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/domain-password
*/
-DEFPY_YANG(domain_passwd, domain_passwd_cmd,
- "domain-password <clear|md5>$pwd_type WORD$pwd [authenticate snp <send-only|validate>$snp]",
- "Set the authentication password for a routing domain\n"
- "Clear-text authentication type\n"
- "MD5 authentication type\n"
- "Level-wide password\n"
- "Authentication\n"
- "SNP PDUs\n"
- "Send but do not check PDUs on receiving\n"
- "Send and check PDUs on receiving\n")
+DEFPY_YANG(
+ domain_passwd, domain_passwd_cmd,
+ "domain-password <clear|md5>$pwd_type WORD$pwd [authenticate snp <send-only|validate>$snp]",
+ "Set the authentication password for a routing domain\n"
+ "Clear-text authentication type\n"
+ "MD5 authentication type\n"
+ "Level-wide password\n"
+ "Authentication\n"
+ "SNP PDUs\n"
+ "Send but do not check PDUs on receiving\n"
+ "Send and check PDUs on receiving\n")
{
nb_cli_enqueue_change(vty, "./domain-password", NB_OP_CREATE, NULL);
nb_cli_enqueue_change(vty, "./domain-password/password", NB_OP_MODIFY,
@@ -634,10 +633,10 @@ DEFPY_YANG(domain_passwd, domain_passwd_cmd,
}
DEFPY_YANG(no_area_passwd, no_area_passwd_cmd,
- "no <area-password|domain-password>$cmd",
- NO_STR
- "Configure the authentication password for an area\n"
- "Set the authentication password for a routing domain\n")
+ "no <area-password|domain-password>$cmd",
+ NO_STR
+ "Configure the authentication password for an area\n"
+ "Set the authentication password for a routing domain\n")
{
nb_cli_enqueue_change(vty, ".", NB_OP_DESTROY, NULL);
@@ -663,11 +662,11 @@ void cli_show_isis_domain_pwd(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance/lsp/timers/level-2/generation-interval
*/
DEFPY_YANG(lsp_gen_interval, lsp_gen_interval_cmd,
- "lsp-gen-interval [level-1|level-2]$level (1-120)$val",
- "Minimum interval between regenerating same LSP\n"
- "Set interval for level 1 only\n"
- "Set interval for level 2 only\n"
- "Minimum interval in seconds\n")
+ "lsp-gen-interval [level-1|level-2]$level (1-120)$val",
+ "Minimum interval between regenerating same LSP\n"
+ "Set interval for level 1 only\n"
+ "Set interval for level 2 only\n"
+ "Minimum interval in seconds\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(
@@ -682,12 +681,12 @@ DEFPY_YANG(lsp_gen_interval, lsp_gen_interval_cmd,
}
DEFPY_YANG(no_lsp_gen_interval, no_lsp_gen_interval_cmd,
- "no lsp-gen-interval [level-1|level-2]$level [(1-120)]",
- NO_STR
- "Minimum interval between regenerating same LSP\n"
- "Set interval for level 1 only\n"
- "Set interval for level 2 only\n"
- "Minimum interval in seconds\n")
+ "no lsp-gen-interval [level-1|level-2]$level [(1-120)]",
+ NO_STR
+ "Minimum interval between regenerating same LSP\n"
+ "Set interval for level 1 only\n"
+ "Set interval for level 2 only\n"
+ "Minimum interval in seconds\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(
@@ -706,11 +705,11 @@ DEFPY_YANG(no_lsp_gen_interval, no_lsp_gen_interval_cmd,
* XPath: /frr-isisd:isis/instance/lsp/timers/level-2/refresh-interval
*/
DEFPY_YANG(lsp_refresh_interval, lsp_refresh_interval_cmd,
- "lsp-refresh-interval [level-1|level-2]$level (1-65235)$val",
- "LSP refresh interval\n"
- "LSP refresh interval for Level 1 only\n"
- "LSP refresh interval for Level 2 only\n"
- "LSP refresh interval in seconds\n")
+ "lsp-refresh-interval [level-1|level-2]$level (1-65235)$val",
+ "LSP refresh interval\n"
+ "LSP refresh interval for Level 1 only\n"
+ "LSP refresh interval for Level 2 only\n"
+ "LSP refresh interval in seconds\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty,
@@ -725,12 +724,12 @@ DEFPY_YANG(lsp_refresh_interval, lsp_refresh_interval_cmd,
}
DEFPY_YANG(no_lsp_refresh_interval, no_lsp_refresh_interval_cmd,
- "no lsp-refresh-interval [level-1|level-2]$level [(1-65235)]",
- NO_STR
- "LSP refresh interval\n"
- "LSP refresh interval for Level 1 only\n"
- "LSP refresh interval for Level 2 only\n"
- "LSP refresh interval in seconds\n")
+ "no lsp-refresh-interval [level-1|level-2]$level [(1-65235)]",
+ NO_STR
+ "LSP refresh interval\n"
+ "LSP refresh interval for Level 1 only\n"
+ "LSP refresh interval for Level 2 only\n"
+ "LSP refresh interval in seconds\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty,
@@ -750,11 +749,11 @@ DEFPY_YANG(no_lsp_refresh_interval, no_lsp_refresh_interval_cmd,
*/
DEFPY_YANG(max_lsp_lifetime, max_lsp_lifetime_cmd,
- "max-lsp-lifetime [level-1|level-2]$level (350-65535)$val",
- "Maximum LSP lifetime\n"
- "Maximum LSP lifetime for Level 1 only\n"
- "Maximum LSP lifetime for Level 2 only\n"
- "LSP lifetime in seconds\n")
+ "max-lsp-lifetime [level-1|level-2]$level (350-65535)$val",
+ "Maximum LSP lifetime\n"
+ "Maximum LSP lifetime for Level 1 only\n"
+ "Maximum LSP lifetime for Level 2 only\n"
+ "LSP lifetime in seconds\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty,
@@ -769,12 +768,12 @@ DEFPY_YANG(max_lsp_lifetime, max_lsp_lifetime_cmd,
}
DEFPY_YANG(no_max_lsp_lifetime, no_max_lsp_lifetime_cmd,
- "no max-lsp-lifetime [level-1|level-2]$level [(350-65535)]",
- NO_STR
- "Maximum LSP lifetime\n"
- "Maximum LSP lifetime for Level 1 only\n"
- "Maximum LSP lifetime for Level 2 only\n"
- "LSP lifetime in seconds\n")
+ "no max-lsp-lifetime [level-1|level-2]$level [(350-65535)]",
+ NO_STR
+ "Maximum LSP lifetime\n"
+ "Maximum LSP lifetime for Level 1 only\n"
+ "Maximum LSP lifetime for Level 2 only\n"
+ "LSP lifetime in seconds\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty,
@@ -792,17 +791,18 @@ DEFPY_YANG(no_max_lsp_lifetime, no_max_lsp_lifetime_cmd,
* XPath: /frr-isisd:isis/instance/lsp/timers
*/
-DEFPY_YANG(lsp_timers, lsp_timers_cmd,
- "lsp-timers [level-1|level-2]$level gen-interval (1-120)$gen refresh-interval (1-65235)$refresh max-lifetime (350-65535)$lifetime",
- "LSP-related timers\n"
- "LSP-related timers for Level 1 only\n"
- "LSP-related timers for Level 2 only\n"
- "Minimum interval between regenerating same LSP\n"
- "Generation interval in seconds\n"
- "LSP refresh interval\n"
- "LSP refresh interval in seconds\n"
- "Maximum LSP lifetime\n"
- "Maximum LSP lifetime in seconds\n")
+DEFPY_YANG(
+ lsp_timers, lsp_timers_cmd,
+ "lsp-timers [level-1|level-2]$level gen-interval (1-120)$gen refresh-interval (1-65235)$refresh max-lifetime (350-65535)$lifetime",
+ "LSP-related timers\n"
+ "LSP-related timers for Level 1 only\n"
+ "LSP-related timers for Level 2 only\n"
+ "Minimum interval between regenerating same LSP\n"
+ "Generation interval in seconds\n"
+ "LSP refresh interval\n"
+ "LSP refresh interval in seconds\n"
+ "Maximum LSP lifetime\n"
+ "Maximum LSP lifetime in seconds\n")
{
if (!level || strmatch(level, "level-1")) {
nb_cli_enqueue_change(
@@ -830,18 +830,19 @@ DEFPY_YANG(lsp_timers, lsp_timers_cmd,
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(no_lsp_timers, no_lsp_timers_cmd,
- "no lsp-timers [level-1|level-2]$level [gen-interval (1-120) refresh-interval (1-65235) max-lifetime (350-65535)]",
- NO_STR
- "LSP-related timers\n"
- "LSP-related timers for Level 1 only\n"
- "LSP-related timers for Level 2 only\n"
- "Minimum interval between regenerating same LSP\n"
- "Generation interval in seconds\n"
- "LSP refresh interval\n"
- "LSP refresh interval in seconds\n"
- "Maximum LSP lifetime\n"
- "Maximum LSP lifetime in seconds\n")
+DEFPY_YANG(
+ no_lsp_timers, no_lsp_timers_cmd,
+ "no lsp-timers [level-1|level-2]$level [gen-interval (1-120) refresh-interval (1-65235) max-lifetime (350-65535)]",
+ NO_STR
+ "LSP-related timers\n"
+ "LSP-related timers for Level 1 only\n"
+ "LSP-related timers for Level 2 only\n"
+ "Minimum interval between regenerating same LSP\n"
+ "Generation interval in seconds\n"
+ "LSP refresh interval\n"
+ "LSP refresh interval in seconds\n"
+ "Maximum LSP lifetime\n"
+ "Maximum LSP lifetime in seconds\n")
{
if (!level || strmatch(level, "level-1")) {
nb_cli_enqueue_change(
@@ -903,8 +904,8 @@ void cli_show_isis_lsp_timers(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance/lsp/mtu
*/
DEFPY_YANG(area_lsp_mtu, area_lsp_mtu_cmd, "lsp-mtu (128-4352)$val",
- "Configure the maximum size of generated LSPs\n"
- "Maximum size of generated LSPs\n")
+ "Configure the maximum size of generated LSPs\n"
+ "Maximum size of generated LSPs\n")
{
nb_cli_enqueue_change(vty, "./lsp/mtu", NB_OP_MODIFY, val_str);
@@ -912,9 +913,9 @@ DEFPY_YANG(area_lsp_mtu, area_lsp_mtu_cmd, "lsp-mtu (128-4352)$val",
}
DEFPY_YANG(no_area_lsp_mtu, no_area_lsp_mtu_cmd, "no lsp-mtu [(128-4352)]",
- NO_STR
- "Configure the maximum size of generated LSPs\n"
- "Maximum size of generated LSPs\n")
+ NO_STR
+ "Configure the maximum size of generated LSPs\n"
+ "Maximum size of generated LSPs\n")
{
nb_cli_enqueue_change(vty, "./lsp/mtu", NB_OP_MODIFY, NULL);
@@ -931,11 +932,11 @@ void cli_show_isis_lsp_mtu(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance/spf/minimum-interval
*/
DEFPY_YANG(spf_interval, spf_interval_cmd,
- "spf-interval [level-1|level-2]$level (1-120)$val",
- "Minimum interval between SPF calculations\n"
- "Set interval for level 1 only\n"
- "Set interval for level 2 only\n"
- "Minimum interval between consecutive SPFs in seconds\n")
+ "spf-interval [level-1|level-2]$level (1-120)$val",
+ "Minimum interval between SPF calculations\n"
+ "Set interval for level 1 only\n"
+ "Set interval for level 2 only\n"
+ "Minimum interval between consecutive SPFs in seconds\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty, "./spf/minimum-interval/level-1",
@@ -948,12 +949,12 @@ DEFPY_YANG(spf_interval, spf_interval_cmd,
}
DEFPY_YANG(no_spf_interval, no_spf_interval_cmd,
- "no spf-interval [level-1|level-2]$level [(1-120)]",
- NO_STR
- "Minimum interval between SPF calculations\n"
- "Set interval for level 1 only\n"
- "Set interval for level 2 only\n"
- "Minimum interval between consecutive SPFs in seconds\n")
+ "no spf-interval [level-1|level-2]$level [(1-120)]",
+ NO_STR
+ "Minimum interval between SPF calculations\n"
+ "Set interval for level 1 only\n"
+ "Set interval for level 2 only\n"
+ "Minimum interval between consecutive SPFs in seconds\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty, "./spf/minimum-interval/level-1",
@@ -982,19 +983,20 @@ void cli_show_isis_spf_min_interval(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/spf/ietf-backoff-delay
*/
-DEFPY_YANG(spf_delay_ietf, spf_delay_ietf_cmd,
- "spf-delay-ietf init-delay (0-60000) short-delay (0-60000) long-delay (0-60000) holddown (0-60000) time-to-learn (0-60000)",
- "IETF SPF delay algorithm\n"
- "Delay used while in QUIET state\n"
- "Delay used while in QUIET state in milliseconds\n"
- "Delay used while in SHORT_WAIT state\n"
- "Delay used while in SHORT_WAIT state in milliseconds\n"
- "Delay used while in LONG_WAIT\n"
- "Delay used while in LONG_WAIT state in milliseconds\n"
- "Time with no received IGP events before considering IGP stable\n"
- "Time with no received IGP events before considering IGP stable (in milliseconds)\n"
- "Maximum duration needed to learn all the events related to a single failure\n"
- "Maximum duration needed to learn all the events related to a single failure (in milliseconds)\n")
+DEFPY_YANG(
+ spf_delay_ietf, spf_delay_ietf_cmd,
+ "spf-delay-ietf init-delay (0-60000) short-delay (0-60000) long-delay (0-60000) holddown (0-60000) time-to-learn (0-60000)",
+ "IETF SPF delay algorithm\n"
+ "Delay used while in QUIET state\n"
+ "Delay used while in QUIET state in milliseconds\n"
+ "Delay used while in SHORT_WAIT state\n"
+ "Delay used while in SHORT_WAIT state in milliseconds\n"
+ "Delay used while in LONG_WAIT\n"
+ "Delay used while in LONG_WAIT state in milliseconds\n"
+ "Time with no received IGP events before considering IGP stable\n"
+ "Time with no received IGP events before considering IGP stable (in milliseconds)\n"
+ "Maximum duration needed to learn all the events related to a single failure\n"
+ "Maximum duration needed to learn all the events related to a single failure (in milliseconds)\n")
{
nb_cli_enqueue_change(vty, "./spf/ietf-backoff-delay", NB_OP_CREATE,
NULL);
@@ -1012,20 +1014,21 @@ DEFPY_YANG(spf_delay_ietf, spf_delay_ietf_cmd,
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(no_spf_delay_ietf, no_spf_delay_ietf_cmd,
- "no spf-delay-ietf [init-delay (0-60000) short-delay (0-60000) long-delay (0-60000) holddown (0-60000) time-to-learn (0-60000)]",
- NO_STR
- "IETF SPF delay algorithm\n"
- "Delay used while in QUIET state\n"
- "Delay used while in QUIET state in milliseconds\n"
- "Delay used while in SHORT_WAIT state\n"
- "Delay used while in SHORT_WAIT state in milliseconds\n"
- "Delay used while in LONG_WAIT\n"
- "Delay used while in LONG_WAIT state in milliseconds\n"
- "Time with no received IGP events before considering IGP stable\n"
- "Time with no received IGP events before considering IGP stable (in milliseconds)\n"
- "Maximum duration needed to learn all the events related to a single failure\n"
- "Maximum duration needed to learn all the events related to a single failure (in milliseconds)\n")
+DEFPY_YANG(
+ no_spf_delay_ietf, no_spf_delay_ietf_cmd,
+ "no spf-delay-ietf [init-delay (0-60000) short-delay (0-60000) long-delay (0-60000) holddown (0-60000) time-to-learn (0-60000)]",
+ NO_STR
+ "IETF SPF delay algorithm\n"
+ "Delay used while in QUIET state\n"
+ "Delay used while in QUIET state in milliseconds\n"
+ "Delay used while in SHORT_WAIT state\n"
+ "Delay used while in SHORT_WAIT state in milliseconds\n"
+ "Delay used while in LONG_WAIT\n"
+ "Delay used while in LONG_WAIT state in milliseconds\n"
+ "Time with no received IGP events before considering IGP stable\n"
+ "Time with no received IGP events before considering IGP stable (in milliseconds)\n"
+ "Maximum duration needed to learn all the events related to a single failure\n"
+ "Maximum duration needed to learn all the events related to a single failure (in milliseconds)\n")
{
nb_cli_enqueue_change(vty, "./spf/ietf-backoff-delay", NB_OP_DESTROY,
NULL);
@@ -1048,8 +1051,9 @@ void cli_show_isis_spf_ietf_backoff(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/purge-originator
*/
-DEFPY_YANG(area_purge_originator, area_purge_originator_cmd, "[no] purge-originator",
- NO_STR "Use the RFC 6232 purge-originator\n")
+DEFPY_YANG(area_purge_originator, area_purge_originator_cmd,
+ "[no] purge-originator",
+ NO_STR "Use the RFC 6232 purge-originator\n")
{
nb_cli_enqueue_change(vty, "./purge-originator", NB_OP_MODIFY,
no ? "false" : "true");
@@ -1069,7 +1073,7 @@ void cli_show_isis_purge_origin(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance/mpls-te
*/
DEFPY_YANG(isis_mpls_te_on, isis_mpls_te_on_cmd, "mpls-te on",
- MPLS_TE_STR "Enable the MPLS-TE functionality\n")
+ MPLS_TE_STR "Enable the MPLS-TE functionality\n")
{
nb_cli_enqueue_change(vty, "./mpls-te", NB_OP_CREATE,
NULL);
@@ -1078,9 +1082,9 @@ DEFPY_YANG(isis_mpls_te_on, isis_mpls_te_on_cmd, "mpls-te on",
}
DEFPY_YANG(no_isis_mpls_te_on, no_isis_mpls_te_on_cmd, "no mpls-te [on]",
- NO_STR
- "Disable the MPLS-TE functionality\n"
- "Disable the MPLS-TE functionality\n")
+ NO_STR
+ "Disable the MPLS-TE functionality\n"
+ "Disable the MPLS-TE functionality\n")
{
nb_cli_enqueue_change(vty, "./mpls-te", NB_OP_DESTROY,
NULL);
@@ -1098,10 +1102,10 @@ void cli_show_isis_mpls_te(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance/mpls-te/router-address
*/
DEFPY_YANG(isis_mpls_te_router_addr, isis_mpls_te_router_addr_cmd,
- "mpls-te router-address A.B.C.D",
- MPLS_TE_STR
- "Stable IP address of the advertising router\n"
- "MPLS-TE router address in IPv4 address format\n")
+ "mpls-te router-address A.B.C.D",
+ MPLS_TE_STR
+ "Stable IP address of the advertising router\n"
+ "MPLS-TE router address in IPv4 address format\n")
{
nb_cli_enqueue_change(vty, "./mpls-te/router-address",
NB_OP_MODIFY, router_address_str);
@@ -1110,10 +1114,10 @@ DEFPY_YANG(isis_mpls_te_router_addr, isis_mpls_te_router_addr_cmd,
}
DEFPY_YANG(no_isis_mpls_te_router_addr, no_isis_mpls_te_router_addr_cmd,
- "no mpls-te router-address [A.B.C.D]",
- NO_STR MPLS_TE_STR
- "Delete IP address of the advertising router\n"
- "MPLS-TE router address in IPv4 address format\n")
+ "no mpls-te router-address [A.B.C.D]",
+ NO_STR MPLS_TE_STR
+ "Delete IP address of the advertising router\n"
+ "MPLS-TE router address in IPv4 address format\n")
{
nb_cli_enqueue_change(vty, "./mpls-te/router-address",
NB_OP_DESTROY, NULL);
@@ -1128,13 +1132,14 @@ void cli_show_isis_mpls_te_router_addr(struct vty *vty, struct lyd_node *dnode,
yang_dnode_get_string(dnode, NULL));
}
-DEFPY_YANG(isis_mpls_te_inter_as, isis_mpls_te_inter_as_cmd,
- "[no] mpls-te inter-as [level-1|level-1-2|level-2-only]",
- NO_STR MPLS_TE_STR
- "Configure MPLS-TE Inter-AS support\n"
- "AREA native mode self originate INTER-AS LSP with L1 only flooding scope\n"
- "AREA native mode self originate INTER-AS LSP with L1 and L2 flooding scope\n"
- "AS native mode self originate INTER-AS LSP with L2 only flooding scope\n")
+DEFPY_YANG(
+ isis_mpls_te_inter_as, isis_mpls_te_inter_as_cmd,
+ "[no] mpls-te inter-as [level-1|level-1-2|level-2-only]",
+ NO_STR MPLS_TE_STR
+ "Configure MPLS-TE Inter-AS support\n"
+ "AREA native mode self originate INTER-AS LSP with L1 only flooding scope\n"
+ "AREA native mode self originate INTER-AS LSP with L1 and L2 flooding scope\n"
+ "AS native mode self originate INTER-AS LSP with L2 only flooding scope\n")
{
vty_out(vty, "MPLS-TE Inter-AS is not yet supported\n");
return CMD_SUCCESS;
@@ -1143,20 +1148,21 @@ DEFPY_YANG(isis_mpls_te_inter_as, isis_mpls_te_inter_as_cmd,
/*
* XPath: /frr-isisd:isis/instance/default-information-originate
*/
-DEFPY_YANG(isis_default_originate, isis_default_originate_cmd,
- "[no] default-information originate <ipv4|ipv6>$ip <level-1|level-2>$level [always]$always [{metric (0-16777215)$metric|route-map WORD$rmap}]",
- NO_STR
- "Control distribution of default information\n"
- "Distribute a default route\n"
- "Distribute default route for IPv4\n"
- "Distribute default route for IPv6\n"
- "Distribute default route into level-1\n"
- "Distribute default route into level-2\n"
- "Always advertise default route\n"
- "Metric for default route\n"
- "ISIS default metric\n"
- "Route map reference\n"
- "Pointer to route-map entries\n")
+DEFPY_YANG(
+ isis_default_originate, isis_default_originate_cmd,
+ "[no] default-information originate <ipv4|ipv6>$ip <level-1|level-2>$level [always]$always [{metric (0-16777215)$metric|route-map WORD$rmap}]",
+ NO_STR
+ "Control distribution of default information\n"
+ "Distribute a default route\n"
+ "Distribute default route for IPv4\n"
+ "Distribute default route for IPv6\n"
+ "Distribute default route into level-1\n"
+ "Distribute default route into level-2\n"
+ "Always advertise default route\n"
+ "Metric for default route\n"
+ "ISIS default metric\n"
+ "Route map reference\n"
+ "Pointer to route-map entries\n")
{
if (no)
nb_cli_enqueue_change(vty, ".", NB_OP_DESTROY, NULL);
@@ -1219,18 +1225,19 @@ void cli_show_isis_def_origin_ipv6(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/redistribute
*/
-DEFPY_YANG(isis_redistribute, isis_redistribute_cmd,
- "[no] redistribute <ipv4|ipv6>$ip " PROTO_REDIST_STR
- "$proto <level-1|level-2>$level [{metric (0-16777215)|route-map WORD}]",
- NO_STR REDIST_STR
- "Redistribute IPv4 routes\n"
- "Redistribute IPv6 routes\n" PROTO_REDIST_HELP
- "Redistribute into level-1\n"
- "Redistribute into level-2\n"
- "Metric for redistributed routes\n"
- "ISIS default metric\n"
- "Route map reference\n"
- "Pointer to route-map entries\n")
+DEFPY_YANG(
+ isis_redistribute, isis_redistribute_cmd,
+ "[no] redistribute <ipv4|ipv6>$ip " PROTO_REDIST_STR
+ "$proto <level-1|level-2>$level [{metric (0-16777215)|route-map WORD}]",
+ NO_STR REDIST_STR
+ "Redistribute IPv4 routes\n"
+ "Redistribute IPv6 routes\n" PROTO_REDIST_HELP
+ "Redistribute into level-1\n"
+ "Redistribute into level-2\n"
+ "Metric for redistributed routes\n"
+ "ISIS default metric\n"
+ "Route map reference\n"
+ "Pointer to route-map entries\n")
{
if (no)
nb_cli_enqueue_change(vty, ".", NB_OP_DESTROY, NULL);
@@ -1278,18 +1285,19 @@ void cli_show_isis_redistribute_ipv6(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/multi-topology
*/
-DEFPY_YANG(isis_topology, isis_topology_cmd,
- "[no] topology <ipv4-unicast|ipv4-mgmt|ipv6-unicast|ipv4-multicast|ipv6-multicast|ipv6-mgmt|ipv6-dstsrc>$topology [overload]$overload",
- NO_STR
- "Configure IS-IS topologies\n"
- "IPv4 unicast topology\n"
- "IPv4 management topology\n"
- "IPv6 unicast topology\n"
- "IPv4 multicast topology\n"
- "IPv6 multicast topology\n"
- "IPv6 management topology\n"
- "IPv6 dst-src topology\n"
- "Set overload bit for topology\n")
+DEFPY_YANG(
+ isis_topology, isis_topology_cmd,
+ "[no] topology <ipv4-unicast|ipv4-mgmt|ipv6-unicast|ipv4-multicast|ipv6-multicast|ipv6-mgmt|ipv6-dstsrc>$topology [overload]$overload",
+ NO_STR
+ "Configure IS-IS topologies\n"
+ "IPv4 unicast topology\n"
+ "IPv4 management topology\n"
+ "IPv6 unicast topology\n"
+ "IPv4 multicast topology\n"
+ "IPv6 multicast topology\n"
+ "IPv6 management topology\n"
+ "IPv6 dst-src topology\n"
+ "Set overload bit for topology\n")
{
char base_xpath[XPATH_MAXLEN];
@@ -1379,11 +1387,8 @@ void cli_show_isis_mt_ipv6_dstsrc(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/segment-routing/enabled
*/
-DEFPY_YANG (isis_sr_enable,
- isis_sr_enable_cmd,
- "segment-routing on",
- SR_STR
- "Enable Segment Routing\n")
+DEFPY_YANG(isis_sr_enable, isis_sr_enable_cmd, "segment-routing on",
+ SR_STR "Enable Segment Routing\n")
{
nb_cli_enqueue_change(vty, "./segment-routing/enabled", NB_OP_MODIFY,
"true");
@@ -1391,12 +1396,8 @@ DEFPY_YANG (isis_sr_enable,
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG (no_isis_sr_enable,
- no_isis_sr_enable_cmd,
- "no segment-routing [on]",
- NO_STR
- SR_STR
- "Disable Segment Routing\n")
+DEFPY_YANG(no_isis_sr_enable, no_isis_sr_enable_cmd, "no segment-routing [on]",
+ NO_STR SR_STR "Disable Segment Routing\n")
{
nb_cli_enqueue_change(vty, "./segment-routing/enabled", NB_OP_MODIFY,
"false");
@@ -1416,13 +1417,13 @@ void cli_show_isis_sr_enabled(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/segment-routing/srgb
*/
-DEFPY_YANG (isis_sr_global_block_label_range,
- isis_sr_global_block_label_range_cmd,
- "segment-routing global-block (16-1048575)$lower_bound (16-1048575)$upper_bound",
- SR_STR
- "Segment Routing Global Block label range\n"
- "The lower bound of the block\n"
- "The upper bound of the block (block size may not exceed 65535)\n")
+DEFPY_YANG(
+ isis_sr_global_block_label_range, isis_sr_global_block_label_range_cmd,
+ "segment-routing global-block (16-1048575)$lower_bound (16-1048575)$upper_bound",
+ SR_STR
+ "Segment Routing Global Block label range\n"
+ "The lower bound of the block\n"
+ "The upper bound of the block (block size may not exceed 65535)\n")
{
nb_cli_enqueue_change(vty, "./segment-routing/srgb/lower-bound",
NB_OP_MODIFY, lower_bound_str);
@@ -1432,14 +1433,13 @@ DEFPY_YANG (isis_sr_global_block_label_range,
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG (no_isis_sr_global_block_label_range,
- no_isis_sr_global_block_label_range_cmd,
- "no segment-routing global-block [(16-1048575) (16-1048575)]",
- NO_STR
- SR_STR
- "Segment Routing Global Block label range\n"
- "The lower bound of the block\n"
- "The upper bound of the block (block size may not exceed 65535)\n")
+DEFPY_YANG(no_isis_sr_global_block_label_range,
+ no_isis_sr_global_block_label_range_cmd,
+ "no segment-routing global-block [(16-1048575) (16-1048575)]",
+ NO_STR SR_STR
+ "Segment Routing Global Block label range\n"
+ "The lower bound of the block\n"
+ "The upper bound of the block (block size may not exceed 65535)\n")
{
nb_cli_enqueue_change(vty, "./segment-routing/srgb/lower-bound",
NB_OP_MODIFY, NULL);
@@ -1460,13 +1460,13 @@ void cli_show_isis_srgb(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/segment-routing/srlb
*/
-DEFPY_YANG (isis_sr_local_block_label_range,
- isis_sr_local_block_label_range_cmd,
- "segment-routing local-block (16-1048575)$lower_bound (16-1048575)$upper_bound",
- SR_STR
- "Segment Routing Local Block label range\n"
- "The lower bound of the block\n"
- "The upper bound of the block (block size may not exceed 65535)\n")
+DEFPY_YANG(
+ isis_sr_local_block_label_range, isis_sr_local_block_label_range_cmd,
+ "segment-routing local-block (16-1048575)$lower_bound (16-1048575)$upper_bound",
+ SR_STR
+ "Segment Routing Local Block label range\n"
+ "The lower bound of the block\n"
+ "The upper bound of the block (block size may not exceed 65535)\n")
{
nb_cli_enqueue_change(vty, "./segment-routing/srlb/lower-bound",
NB_OP_MODIFY, lower_bound_str);
@@ -1476,14 +1476,13 @@ DEFPY_YANG (isis_sr_local_block_label_range,
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG (no_isis_sr_local_block_label_range,
- no_isis_sr_local_block_label_range_cmd,
- "no segment-routing local-block [(16-1048575) (16-1048575)]",
- NO_STR
- SR_STR
- "Segment Routing Local Block label range\n"
- "The lower bound of the block\n"
- "The upper bound of the block (block size may not exceed 65535)\n")
+DEFPY_YANG(no_isis_sr_local_block_label_range,
+ no_isis_sr_local_block_label_range_cmd,
+ "no segment-routing local-block [(16-1048575) (16-1048575)]",
+ NO_STR SR_STR
+ "Segment Routing Local Block label range\n"
+ "The lower bound of the block\n"
+ "The upper bound of the block (block size may not exceed 65535)\n")
{
nb_cli_enqueue_change(vty, "./segment-routing/srlb/lower-bound",
NB_OP_MODIFY, NULL);
@@ -1504,12 +1503,11 @@ void cli_show_isis_srlb(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/segment-routing/msd/node-msd
*/
-DEFPY_YANG (isis_sr_node_msd,
- isis_sr_node_msd_cmd,
- "segment-routing node-msd (1-16)$msd",
- SR_STR
- "Maximum Stack Depth for this router\n"
- "Maximum number of label that can be stack (1-16)\n")
+DEFPY_YANG(isis_sr_node_msd, isis_sr_node_msd_cmd,
+ "segment-routing node-msd (1-16)$msd",
+ SR_STR
+ "Maximum Stack Depth for this router\n"
+ "Maximum number of label that can be stack (1-16)\n")
{
nb_cli_enqueue_change(vty, "./segment-routing/msd/node-msd",
NB_OP_MODIFY, msd_str);
@@ -1517,13 +1515,11 @@ DEFPY_YANG (isis_sr_node_msd,
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG (no_isis_sr_node_msd,
- no_isis_sr_node_msd_cmd,
- "no segment-routing node-msd [(1-16)]",
- NO_STR
- SR_STR
- "Maximum Stack Depth for this router\n"
- "Maximum number of label that can be stack (1-16)\n")
+DEFPY_YANG(no_isis_sr_node_msd, no_isis_sr_node_msd_cmd,
+ "no segment-routing node-msd [(1-16)]",
+ NO_STR SR_STR
+ "Maximum Stack Depth for this router\n"
+ "Maximum number of label that can be stack (1-16)\n")
{
nb_cli_enqueue_change(vty, "./segment-routing/msd/node-msd",
NB_OP_DESTROY, NULL);
@@ -1541,22 +1537,22 @@ void cli_show_isis_node_msd(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/segment-routing/prefix-sid-map/prefix-sid
*/
-DEFPY_YANG (isis_sr_prefix_sid,
- isis_sr_prefix_sid_cmd,
- "segment-routing prefix\
+DEFPY_YANG(
+ isis_sr_prefix_sid, isis_sr_prefix_sid_cmd,
+ "segment-routing prefix\
<A.B.C.D/M|X:X::X:X/M>$prefix\
<absolute$sid_type (16-1048575)$sid_value|index$sid_type (0-65535)$sid_value>\
[<no-php-flag|explicit-null>$lh_behavior]",
- SR_STR
- "Prefix SID\n"
- "IPv4 Prefix\n"
- "IPv6 Prefix\n"
- "Specify the absolute value of Prefix Segement ID\n"
- "The Prefix Segment ID value\n"
- "Specify the index of Prefix Segement ID\n"
- "The Prefix Segment ID index\n"
- "Don't request Penultimate Hop Popping (PHP)\n"
- "Upstream neighbor must replace prefix-sid with explicit null label\n")
+ SR_STR
+ "Prefix SID\n"
+ "IPv4 Prefix\n"
+ "IPv6 Prefix\n"
+ "Specify the absolute value of Prefix Segement ID\n"
+ "The Prefix Segment ID value\n"
+ "Specify the index of Prefix Segement ID\n"
+ "The Prefix Segment ID index\n"
+ "Don't request Penultimate Hop Popping (PHP)\n"
+ "Upstream neighbor must replace prefix-sid with explicit null label\n")
{
nb_cli_enqueue_change(vty, ".", NB_OP_CREATE, NULL);
nb_cli_enqueue_change(vty, "./sid-value-type", NB_OP_MODIFY, sid_type);
@@ -1580,21 +1576,20 @@ DEFPY_YANG (isis_sr_prefix_sid,
prefix_str);
}
-DEFPY_YANG (no_isis_sr_prefix_sid,
- no_isis_sr_prefix_sid_cmd,
- "no segment-routing prefix <A.B.C.D/M|X:X::X:X/M>$prefix\
+DEFPY_YANG(
+ no_isis_sr_prefix_sid, no_isis_sr_prefix_sid_cmd,
+ "no segment-routing prefix <A.B.C.D/M|X:X::X:X/M>$prefix\
[<absolute$sid_type (16-1048575)|index (0-65535)> [<no-php-flag|explicit-null>]]",
- NO_STR
- SR_STR
- "Prefix SID\n"
- "IPv4 Prefix\n"
- "IPv6 Prefix\n"
- "Specify the absolute value of Prefix Segement ID\n"
- "The Prefix Segment ID value\n"
- "Specify the index of Prefix Segement ID\n"
- "The Prefix Segment ID index\n"
- "Don't request Penultimate Hop Popping (PHP)\n"
- "Upstream neighbor must replace prefix-sid with explicit null label\n")
+ NO_STR SR_STR
+ "Prefix SID\n"
+ "IPv4 Prefix\n"
+ "IPv6 Prefix\n"
+ "Specify the absolute value of Prefix Segement ID\n"
+ "The Prefix Segment ID value\n"
+ "Specify the index of Prefix Segement ID\n"
+ "The Prefix Segment ID index\n"
+ "Don't request Penultimate Hop Popping (PHP)\n"
+ "Upstream neighbor must replace prefix-sid with explicit null label\n")
{
nb_cli_enqueue_change(vty, ".", NB_OP_DESTROY, NULL);
@@ -1633,9 +1628,9 @@ void cli_show_isis_prefix_sid(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-interface:lib/interface/frr-isisd:isis/passive
*/
DEFPY_YANG(isis_passive, isis_passive_cmd, "[no] isis passive",
- NO_STR
- "IS-IS routing protocol\n"
- "Configure the passive mode for interface\n")
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Configure the passive mode for interface\n")
{
nb_cli_enqueue_change(vty, "./frr-isisd:isis/passive", NB_OP_MODIFY,
no ? "false" : "true");
@@ -1655,12 +1650,13 @@ void cli_show_ip_isis_passive(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-interface:lib/interface/frr-isisd:isis/password
*/
-DEFPY_YANG(isis_passwd, isis_passwd_cmd, "isis password <md5|clear>$type WORD$pwd",
- "IS-IS routing protocol\n"
- "Configure the authentication password for a circuit\n"
- "HMAC-MD5 authentication\n"
- "Cleartext password\n"
- "Circuit password\n")
+DEFPY_YANG(isis_passwd, isis_passwd_cmd,
+ "isis password <md5|clear>$type WORD$pwd",
+ "IS-IS routing protocol\n"
+ "Configure the authentication password for a circuit\n"
+ "HMAC-MD5 authentication\n"
+ "Cleartext password\n"
+ "Circuit password\n")
{
nb_cli_enqueue_change(vty, "./frr-isisd:isis/password", NB_OP_CREATE,
NULL);
@@ -1672,13 +1668,14 @@ DEFPY_YANG(isis_passwd, isis_passwd_cmd, "isis password <md5|clear>$type WORD$pw
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(no_isis_passwd, no_isis_passwd_cmd, "no isis password [<md5|clear> WORD]",
- NO_STR
- "IS-IS routing protocol\n"
- "Configure the authentication password for a circuit\n"
- "HMAC-MD5 authentication\n"
- "Cleartext password\n"
- "Circuit password\n")
+DEFPY_YANG(no_isis_passwd, no_isis_passwd_cmd,
+ "no isis password [<md5|clear> WORD]",
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Configure the authentication password for a circuit\n"
+ "HMAC-MD5 authentication\n"
+ "Cleartext password\n"
+ "Circuit password\n")
{
nb_cli_enqueue_change(vty, "./frr-isisd:isis/password", NB_OP_DESTROY,
NULL);
@@ -1698,12 +1695,12 @@ void cli_show_ip_isis_password(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-interface:lib/interface/frr-isisd:isis/metric
*/
DEFPY_YANG(isis_metric, isis_metric_cmd,
- "isis metric [level-1|level-2]$level (0-16777215)$met",
- "IS-IS routing protocol\n"
- "Set default metric for circuit\n"
- "Specify metric for level-1 routing\n"
- "Specify metric for level-2 routing\n"
- "Default metric value\n")
+ "isis metric [level-1|level-2]$level (0-16777215)$met",
+ "IS-IS routing protocol\n"
+ "Set default metric for circuit\n"
+ "Specify metric for level-1 routing\n"
+ "Specify metric for level-2 routing\n"
+ "Default metric value\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty, "./frr-isisd:isis/metric/level-1",
@@ -1716,13 +1713,13 @@ DEFPY_YANG(isis_metric, isis_metric_cmd,
}
DEFPY_YANG(no_isis_metric, no_isis_metric_cmd,
- "no isis metric [level-1|level-2]$level [(0-16777215)]",
- NO_STR
- "IS-IS routing protocol\n"
- "Set default metric for circuit\n"
- "Specify metric for level-1 routing\n"
- "Specify metric for level-2 routing\n"
- "Default metric value\n")
+ "no isis metric [level-1|level-2]$level [(0-16777215)]",
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Set default metric for circuit\n"
+ "Specify metric for level-1 routing\n"
+ "Specify metric for level-2 routing\n"
+ "Default metric value\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty, "./frr-isisd:isis/metric/level-1",
@@ -1752,12 +1749,12 @@ void cli_show_ip_isis_metric(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-interface:lib/interface/frr-isisd:isis/hello/interval
*/
DEFPY_YANG(isis_hello_interval, isis_hello_interval_cmd,
- "isis hello-interval [level-1|level-2]$level (1-600)$intv",
- "IS-IS routing protocol\n"
- "Set Hello interval\n"
- "Specify hello-interval for level-1 IIHs\n"
- "Specify hello-interval for level-2 IIHs\n"
- "Holdtime 1 seconds, interval depends on multiplier\n")
+ "isis hello-interval [level-1|level-2]$level (1-600)$intv",
+ "IS-IS routing protocol\n"
+ "Set Hello interval\n"
+ "Specify hello-interval for level-1 IIHs\n"
+ "Specify hello-interval for level-2 IIHs\n"
+ "Holdtime 1 seconds, interval depends on multiplier\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty,
@@ -1772,13 +1769,13 @@ DEFPY_YANG(isis_hello_interval, isis_hello_interval_cmd,
}
DEFPY_YANG(no_isis_hello_interval, no_isis_hello_interval_cmd,
- "no isis hello-interval [level-1|level-2]$level [(1-600)]",
- NO_STR
- "IS-IS routing protocol\n"
- "Set Hello interval\n"
- "Specify hello-interval for level-1 IIHs\n"
- "Specify hello-interval for level-2 IIHs\n"
- "Holdtime 1 second, interval depends on multiplier\n")
+ "no isis hello-interval [level-1|level-2]$level [(1-600)]",
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Set Hello interval\n"
+ "Specify hello-interval for level-1 IIHs\n"
+ "Specify hello-interval for level-2 IIHs\n"
+ "Holdtime 1 second, interval depends on multiplier\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty,
@@ -1810,12 +1807,12 @@ void cli_show_ip_isis_hello_interval(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-interface:lib/interface/frr-isisd:isis/hello/multiplier
*/
DEFPY_YANG(isis_hello_multiplier, isis_hello_multiplier_cmd,
- "isis hello-multiplier [level-1|level-2]$level (2-100)$mult",
- "IS-IS routing protocol\n"
- "Set multiplier for Hello holding time\n"
- "Specify hello multiplier for level-1 IIHs\n"
- "Specify hello multiplier for level-2 IIHs\n"
- "Hello multiplier value\n")
+ "isis hello-multiplier [level-1|level-2]$level (2-100)$mult",
+ "IS-IS routing protocol\n"
+ "Set multiplier for Hello holding time\n"
+ "Specify hello multiplier for level-1 IIHs\n"
+ "Specify hello multiplier for level-2 IIHs\n"
+ "Hello multiplier value\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(
@@ -1830,13 +1827,13 @@ DEFPY_YANG(isis_hello_multiplier, isis_hello_multiplier_cmd,
}
DEFPY_YANG(no_isis_hello_multiplier, no_isis_hello_multiplier_cmd,
- "no isis hello-multiplier [level-1|level-2]$level [(2-100)]",
- NO_STR
- "IS-IS routing protocol\n"
- "Set multiplier for Hello holding time\n"
- "Specify hello multiplier for level-1 IIHs\n"
- "Specify hello multiplier for level-2 IIHs\n"
- "Hello multiplier value\n")
+ "no isis hello-multiplier [level-1|level-2]$level [(2-100)]",
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Set multiplier for Hello holding time\n"
+ "Specify hello multiplier for level-1 IIHs\n"
+ "Specify hello multiplier for level-2 IIHs\n"
+ "Hello multiplier value\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(
@@ -1868,10 +1865,11 @@ void cli_show_ip_isis_hello_multi(struct vty *vty, struct lyd_node *dnode,
* XPath:
* /frr-interface:lib/interface/frr-isisd:isis/disable-three-way-handshake
*/
-DEFPY_YANG(isis_threeway_adj, isis_threeway_adj_cmd, "[no] isis three-way-handshake",
- NO_STR
- "IS-IS commands\n"
- "Enable/Disable three-way handshake\n")
+DEFPY_YANG(isis_threeway_adj, isis_threeway_adj_cmd,
+ "[no] isis three-way-handshake",
+ NO_STR
+ "IS-IS commands\n"
+ "Enable/Disable three-way handshake\n")
{
nb_cli_enqueue_change(vty,
"./frr-isisd:isis/disable-three-way-handshake",
@@ -1891,11 +1889,12 @@ void cli_show_ip_isis_threeway_shake(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-interface:lib/interface/frr-isisd:isis/hello/padding
*/
-DEFPY_YANG(isis_hello_padding, isis_hello_padding_cmd, "[no] isis hello padding",
- NO_STR
- "IS-IS routing protocol\n"
- "Add padding to IS-IS hello packets\n"
- "Pad hello packets\n")
+DEFPY_YANG(isis_hello_padding, isis_hello_padding_cmd,
+ "[no] isis hello padding",
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Add padding to IS-IS hello packets\n"
+ "Pad hello packets\n")
{
nb_cli_enqueue_change(vty, "./frr-isisd:isis/hello/padding",
NB_OP_MODIFY, no ? "false" : "true");
@@ -1916,12 +1915,12 @@ void cli_show_ip_isis_hello_padding(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-interface:lib/interface/frr-isisd:isis/csnp-interval
*/
DEFPY_YANG(csnp_interval, csnp_interval_cmd,
- "isis csnp-interval (1-600)$intv [level-1|level-2]$level",
- "IS-IS routing protocol\n"
- "Set CSNP interval in seconds\n"
- "CSNP interval value\n"
- "Specify interval for level-1 CSNPs\n"
- "Specify interval for level-2 CSNPs\n")
+ "isis csnp-interval (1-600)$intv [level-1|level-2]$level",
+ "IS-IS routing protocol\n"
+ "Set CSNP interval in seconds\n"
+ "CSNP interval value\n"
+ "Specify interval for level-1 CSNPs\n"
+ "Specify interval for level-2 CSNPs\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty,
@@ -1936,13 +1935,13 @@ DEFPY_YANG(csnp_interval, csnp_interval_cmd,
}
DEFPY_YANG(no_csnp_interval, no_csnp_interval_cmd,
- "no isis csnp-interval [(1-600)] [level-1|level-2]$level",
- NO_STR
- "IS-IS routing protocol\n"
- "Set CSNP interval in seconds\n"
- "CSNP interval value\n"
- "Specify interval for level-1 CSNPs\n"
- "Specify interval for level-2 CSNPs\n")
+ "no isis csnp-interval [(1-600)] [level-1|level-2]$level",
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Set CSNP interval in seconds\n"
+ "CSNP interval value\n"
+ "Specify interval for level-1 CSNPs\n"
+ "Specify interval for level-2 CSNPs\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty,
@@ -1974,12 +1973,12 @@ void cli_show_ip_isis_csnp_interval(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-interface:lib/interface/frr-isisd:isis/psnp-interval
*/
DEFPY_YANG(psnp_interval, psnp_interval_cmd,
- "isis psnp-interval (1-120)$intv [level-1|level-2]$level",
- "IS-IS routing protocol\n"
- "Set PSNP interval in seconds\n"
- "PSNP interval value\n"
- "Specify interval for level-1 PSNPs\n"
- "Specify interval for level-2 PSNPs\n")
+ "isis psnp-interval (1-120)$intv [level-1|level-2]$level",
+ "IS-IS routing protocol\n"
+ "Set PSNP interval in seconds\n"
+ "PSNP interval value\n"
+ "Specify interval for level-1 PSNPs\n"
+ "Specify interval for level-2 PSNPs\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty,
@@ -1994,13 +1993,13 @@ DEFPY_YANG(psnp_interval, psnp_interval_cmd,
}
DEFPY_YANG(no_psnp_interval, no_psnp_interval_cmd,
- "no isis psnp-interval [(1-120)] [level-1|level-2]$level",
- NO_STR
- "IS-IS routing protocol\n"
- "Set PSNP interval in seconds\n"
- "PSNP interval value\n"
- "Specify interval for level-1 PSNPs\n"
- "Specify interval for level-2 PSNPs\n")
+ "no isis psnp-interval [(1-120)] [level-1|level-2]$level",
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Set PSNP interval in seconds\n"
+ "PSNP interval value\n"
+ "Specify interval for level-1 PSNPs\n"
+ "Specify interval for level-2 PSNPs\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty,
@@ -2031,18 +2030,19 @@ void cli_show_ip_isis_psnp_interval(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-interface:lib/interface/frr-isisd:isis/multi-topology
*/
-DEFPY_YANG(circuit_topology, circuit_topology_cmd,
- "[no] isis topology<ipv4-unicast|ipv4-mgmt|ipv6-unicast|ipv4-multicast|ipv6-multicast|ipv6-mgmt|ipv6-dstsrc>$topology",
- NO_STR
- "IS-IS routing protocol\n"
- "Configure interface IS-IS topologies\n"
- "IPv4 unicast topology\n"
- "IPv4 management topology\n"
- "IPv6 unicast topology\n"
- "IPv4 multicast topology\n"
- "IPv6 multicast topology\n"
- "IPv6 management topology\n"
- "IPv6 dst-src topology\n")
+DEFPY_YANG(
+ circuit_topology, circuit_topology_cmd,
+ "[no] isis topology<ipv4-unicast|ipv4-mgmt|ipv6-unicast|ipv4-multicast|ipv6-multicast|ipv6-mgmt|ipv6-dstsrc>$topology",
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Configure interface IS-IS topologies\n"
+ "IPv4 unicast topology\n"
+ "IPv4 management topology\n"
+ "IPv6 unicast topology\n"
+ "IPv4 multicast topology\n"
+ "IPv6 multicast topology\n"
+ "IPv6 management topology\n"
+ "IPv6 dst-src topology\n")
{
nb_cli_enqueue_change(vty, ".", NB_OP_MODIFY, no ? "false" : "true");
@@ -2117,12 +2117,12 @@ void cli_show_ip_isis_mt_ipv6_dstsrc(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-interface:lib/interface/frr-isisd:isis/circuit-type
*/
DEFPY_YANG(isis_circuit_type, isis_circuit_type_cmd,
- "isis circuit-type <level-1|level-1-2|level-2-only>$type",
- "IS-IS routing protocol\n"
- "Configure circuit type for interface\n"
- "Level-1 only adjacencies are formed\n"
- "Level-1-2 adjacencies are formed\n"
- "Level-2 only adjacencies are formed\n")
+ "isis circuit-type <level-1|level-1-2|level-2-only>$type",
+ "IS-IS routing protocol\n"
+ "Configure circuit type for interface\n"
+ "Level-1 only adjacencies are formed\n"
+ "Level-1-2 adjacencies are formed\n"
+ "Level-2 only adjacencies are formed\n")
{
nb_cli_enqueue_change(
vty, "./frr-isisd:isis/circuit-type", NB_OP_MODIFY,
@@ -2132,13 +2132,13 @@ DEFPY_YANG(isis_circuit_type, isis_circuit_type_cmd,
}
DEFPY_YANG(no_isis_circuit_type, no_isis_circuit_type_cmd,
- "no isis circuit-type [level-1|level-1-2|level-2-only]",
- NO_STR
- "IS-IS routing protocol\n"
- "Configure circuit type for interface\n"
- "Level-1 only adjacencies are formed\n"
- "Level-1-2 adjacencies are formed\n"
- "Level-2 only adjacencies are formed\n")
+ "no isis circuit-type [level-1|level-1-2|level-2-only]",
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Configure circuit type for interface\n"
+ "Level-1 only adjacencies are formed\n"
+ "Level-1-2 adjacencies are formed\n"
+ "Level-2 only adjacencies are formed\n")
{
struct interface *ifp;
struct isis_circuit *circuit;
@@ -2210,10 +2210,10 @@ void cli_show_ip_isis_circ_type(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-interface:lib/interface/frr-isisd:isis/network-type
*/
DEFPY_YANG(isis_network, isis_network_cmd, "[no] isis network point-to-point",
- NO_STR
- "IS-IS routing protocol\n"
- "Set network type\n"
- "point-to-point network type\n")
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Set network type\n"
+ "point-to-point network type\n")
{
nb_cli_enqueue_change(vty, "./frr-isisd:isis/network-type",
NB_OP_MODIFY,
@@ -2235,12 +2235,12 @@ void cli_show_ip_isis_network_type(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-interface:lib/interface/frr-isisd:isis/priority
*/
DEFPY_YANG(isis_priority, isis_priority_cmd,
- "isis priority (0-127)$prio [level-1|level-2]$level",
- "IS-IS routing protocol\n"
- "Set priority for Designated Router election\n"
- "Priority value\n"
- "Specify priority for level-1 routing\n"
- "Specify priority for level-2 routing\n")
+ "isis priority (0-127)$prio [level-1|level-2]$level",
+ "IS-IS routing protocol\n"
+ "Set priority for Designated Router election\n"
+ "Priority value\n"
+ "Specify priority for level-1 routing\n"
+ "Specify priority for level-2 routing\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty, "./frr-isisd:isis/priority/level-1",
@@ -2253,13 +2253,13 @@ DEFPY_YANG(isis_priority, isis_priority_cmd,
}
DEFPY_YANG(no_isis_priority, no_isis_priority_cmd,
- "no isis priority [(0-127)] [level-1|level-2]$level",
- NO_STR
- "IS-IS routing protocol\n"
- "Set priority for Designated Router election\n"
- "Priority value\n"
- "Specify priority for level-1 routing\n"
- "Specify priority for level-2 routing\n")
+ "no isis priority [(0-127)] [level-1|level-2]$level",
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Set priority for Designated Router election\n"
+ "Priority value\n"
+ "Specify priority for level-1 routing\n"
+ "Specify priority for level-2 routing\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty, "./frr-isisd:isis/priority/level-1",
@@ -2289,7 +2289,7 @@ void cli_show_ip_isis_priority(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance/log-adjacency-changes
*/
DEFPY_YANG(log_adj_changes, log_adj_changes_cmd, "[no] log-adjacency-changes",
- NO_STR "Log changes in adjacency state\n")
+ NO_STR "Log changes in adjacency state\n")
{
nb_cli_enqueue_change(vty, "./log-adjacency-changes", NB_OP_MODIFY,
no ? "false" : "true");
diff --git a/lib/filter_cli.c b/lib/filter_cli.c
index 9523a9059..fd82c7ba3 100644
--- a/lib/filter_cli.c
+++ b/lib/filter_cli.c
@@ -172,11 +172,8 @@ static long acl_get_seq(struct vty *vty, const char *xpath)
DEFPY_YANG(
access_list_std, access_list_std_cmd,
"access-list <(1-99)|(1300-1999)>$number [seq (1-4294967295)$seq] <deny|permit>$action <[host] A.B.C.D$host|A.B.C.D$host A.B.C.D$mask|any>",
- ACCESS_LIST_STR
- ACCESS_LIST_LEG_STR
- ACCESS_LIST_LEG_EXT_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ ACCESS_LIST_STR ACCESS_LIST_LEG_STR ACCESS_LIST_LEG_EXT_STR
+ ACCESS_LIST_SEQ_STR ACCESS_LIST_ACTION_STR
"A single host address\n"
"Address to match\n"
"Address to match\n"
@@ -222,12 +219,8 @@ DEFPY_YANG(
DEFPY_YANG(
no_access_list_std, no_access_list_std_cmd,
"no access-list <(1-99)|(1300-1999)>$number [seq (1-4294967295)$seq] <deny|permit>$action <[host] A.B.C.D$host|A.B.C.D$host A.B.C.D$mask|any>",
- NO_STR
- ACCESS_LIST_STR
- ACCESS_LIST_LEG_STR
- ACCESS_LIST_LEG_EXT_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ NO_STR ACCESS_LIST_STR ACCESS_LIST_LEG_STR ACCESS_LIST_LEG_EXT_STR
+ ACCESS_LIST_SEQ_STR ACCESS_LIST_ACTION_STR
"A single host address\n"
"Address to match\n"
"Address to match\n"
@@ -281,11 +274,8 @@ DEFPY_YANG(
DEFPY_YANG(
access_list_ext, access_list_ext_cmd,
"access-list <(100-199)|(2000-2699)>$number [seq (1-4294967295)$seq] <deny|permit>$action ip <A.B.C.D$src A.B.C.D$src_mask|host A.B.C.D$src|any> <A.B.C.D$dst A.B.C.D$dst_mask|host A.B.C.D$dst|any>",
- ACCESS_LIST_STR
- ACCESS_LIST_ELEG_STR
- ACCESS_LIST_ELEG_EXT_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ ACCESS_LIST_STR ACCESS_LIST_ELEG_STR ACCESS_LIST_ELEG_EXT_STR
+ ACCESS_LIST_SEQ_STR ACCESS_LIST_ACTION_STR
"IPv4 address\n"
"Source address to match\n"
"Source address mask to apply\n"
@@ -351,12 +341,8 @@ DEFPY_YANG(
DEFPY_YANG(
no_access_list_ext, no_access_list_ext_cmd,
"no access-list <(100-199)|(2000-2699)>$number [seq (1-4294967295)$seq] <deny|permit>$action ip <A.B.C.D$src A.B.C.D$src_mask|host A.B.C.D$src|any> <A.B.C.D$dst A.B.C.D$dst_mask|host A.B.C.D$dst|any>",
- NO_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ELEG_STR
- ACCESS_LIST_ELEG_EXT_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ NO_STR ACCESS_LIST_STR ACCESS_LIST_ELEG_STR ACCESS_LIST_ELEG_EXT_STR
+ ACCESS_LIST_SEQ_STR ACCESS_LIST_ACTION_STR
"Any Internet Protocol\n"
"Source address to match\n"
"Source address mask to apply\n"
@@ -429,12 +415,9 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_access_list_legacy, no_access_list_legacy_cmd,
- "no access-list <(1-99)|(100-199)|(1300-1999)|(2000-2699)>$number",
- NO_STR
- ACCESS_LIST_STR
- ACCESS_LIST_XLEG_STR)
+DEFPY_YANG(no_access_list_legacy, no_access_list_legacy_cmd,
+ "no access-list <(1-99)|(100-199)|(1300-1999)|(2000-2699)>$number",
+ NO_STR ACCESS_LIST_STR ACCESS_LIST_XLEG_STR)
{
char xpath[XPATH_MAXLEN];
@@ -494,10 +477,8 @@ void access_list_legacy_show(struct vty *vty, struct lyd_node *dnode,
DEFPY_YANG(
access_list_legacy_remark, access_list_legacy_remark_cmd,
"access-list <(1-99)|(100-199)|(1300-1999)|(2000-2699)>$number remark LINE...",
- ACCESS_LIST_STR
- ACCESS_LIST_XLEG_STR
- ACCESS_LIST_REMARK_STR
- ACCESS_LIST_REMARK_LINE_STR)
+ ACCESS_LIST_STR ACCESS_LIST_XLEG_STR ACCESS_LIST_REMARK_STR
+ ACCESS_LIST_REMARK_LINE_STR)
{
int rv;
char *remark;
@@ -518,10 +499,7 @@ DEFPY_YANG(
DEFPY_YANG(
no_access_list_legacy_remark, no_access_list_legacy_remark_cmd,
"no access-list <(1-99)|(100-199)|(1300-1999)|(2000-2699)>$number remark",
- NO_STR
- ACCESS_LIST_STR
- ACCESS_LIST_XLEG_STR
- ACCESS_LIST_REMARK_STR)
+ NO_STR ACCESS_LIST_STR ACCESS_LIST_XLEG_STR ACCESS_LIST_REMARK_STR)
{
char xpath[XPATH_MAXLEN];
@@ -536,11 +514,8 @@ DEFPY_YANG(
ALIAS_YANG(
no_access_list_legacy_remark, no_access_list_legacy_remark_line_cmd,
"no access-list <(1-99)|(100-199)|(1300-1999)|(2000-2699)>$number remark LINE...",
- NO_STR
- ACCESS_LIST_STR
- ACCESS_LIST_XLEG_STR
- ACCESS_LIST_REMARK_STR
- ACCESS_LIST_REMARK_LINE_STR)
+ NO_STR ACCESS_LIST_STR ACCESS_LIST_XLEG_STR ACCESS_LIST_REMARK_STR
+ ACCESS_LIST_REMARK_LINE_STR)
void access_list_legacy_remark_show(struct vty *vty, struct lyd_node *dnode,
bool show_defaults)
@@ -556,10 +531,8 @@ void access_list_legacy_remark_show(struct vty *vty, struct lyd_node *dnode,
DEFPY_YANG(
access_list, access_list_cmd,
"access-list WORD$name [seq (1-4294967295)$seq] <deny|permit>$action <A.B.C.D/M$prefix [exact-match$exact]|any>",
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR ACCESS_LIST_SEQ_STR
+ ACCESS_LIST_ACTION_STR
"Prefix to match. e.g. 10.0.0.0/8\n"
"Exact match of the prefixes\n"
"Match any IPv4\n")
@@ -602,11 +575,8 @@ DEFPY_YANG(
DEFPY_YANG(
no_access_list, no_access_list_cmd,
"no access-list WORD$name [seq (1-4294967295)$seq] <deny|permit>$action <A.B.C.D/M$prefix [exact-match$exact]|any>",
- NO_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ NO_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR ACCESS_LIST_SEQ_STR
+ ACCESS_LIST_ACTION_STR
"Prefix to match. e.g. 10.0.0.0/8\n"
"Exact match of the prefixes\n"
"Match any IPv4\n")
@@ -656,12 +626,9 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_access_list_all, no_access_list_all_cmd,
- "no access-list WORD$name",
- NO_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR)
+DEFPY_YANG(no_access_list_all, no_access_list_all_cmd,
+ "no access-list WORD$name",
+ NO_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR)
{
char xpath[XPATH_MAXLEN];
@@ -672,13 +639,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- access_list_remark, access_list_remark_cmd,
- "access-list WORD$name remark LINE...",
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_REMARK_STR
- ACCESS_LIST_REMARK_LINE_STR)
+DEFPY_YANG(access_list_remark, access_list_remark_cmd,
+ "access-list WORD$name remark LINE...",
+ ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR ACCESS_LIST_REMARK_STR
+ ACCESS_LIST_REMARK_LINE_STR)
{
int rv;
char *remark;
@@ -696,13 +660,9 @@ DEFPY_YANG(
return rv;
}
-DEFPY_YANG(
- no_access_list_remark, no_access_list_remark_cmd,
- "no access-list WORD$name remark",
- NO_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_REMARK_STR)
+DEFPY_YANG(no_access_list_remark, no_access_list_remark_cmd,
+ "no access-list WORD$name remark",
+ NO_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR ACCESS_LIST_REMARK_STR)
{
char xpath[XPATH_MAXLEN];
@@ -714,23 +674,16 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-ALIAS_YANG(
- no_access_list_remark, no_access_list_remark_line_cmd,
- "no access-list WORD$name remark LINE...",
- NO_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_REMARK_STR
- ACCESS_LIST_REMARK_LINE_STR)
+ALIAS_YANG(no_access_list_remark, no_access_list_remark_line_cmd,
+ "no access-list WORD$name remark LINE...",
+ NO_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR ACCESS_LIST_REMARK_STR
+ ACCESS_LIST_REMARK_LINE_STR)
DEFPY_YANG(
ipv6_access_list, ipv6_access_list_cmd,
"ipv6 access-list WORD$name [seq (1-4294967295)$seq] <deny|permit>$action <X:X::X:X/M$prefix [exact-match$exact]|any>",
- IPV6_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ IPV6_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR ACCESS_LIST_SEQ_STR
+ ACCESS_LIST_ACTION_STR
"IPv6 prefix\n"
"Exact match of the prefixes\n"
"Match any IPv6\n")
@@ -773,12 +726,8 @@ DEFPY_YANG(
DEFPY_YANG(
no_ipv6_access_list, no_ipv6_access_list_cmd,
"no ipv6 access-list WORD$name [seq (1-4294967295)$seq] <deny|permit>$action <X:X::X:X/M$prefix [exact-match$exact]|any>",
- NO_STR
- IPV6_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ NO_STR IPV6_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR
+ ACCESS_LIST_SEQ_STR ACCESS_LIST_ACTION_STR
"IPv6 prefix\n"
"Exact match of the prefixes\n"
"Match any IPv6\n")
@@ -828,13 +777,9 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_ipv6_access_list_all, no_ipv6_access_list_all_cmd,
- "no ipv6 access-list WORD$name",
- NO_STR
- IPV6_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR)
+DEFPY_YANG(no_ipv6_access_list_all, no_ipv6_access_list_all_cmd,
+ "no ipv6 access-list WORD$name",
+ NO_STR IPV6_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR)
{
char xpath[XPATH_MAXLEN];
@@ -845,14 +790,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- ipv6_access_list_remark, ipv6_access_list_remark_cmd,
- "ipv6 access-list WORD$name remark LINE...",
- IPV6_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_REMARK_STR
- ACCESS_LIST_REMARK_LINE_STR)
+DEFPY_YANG(ipv6_access_list_remark, ipv6_access_list_remark_cmd,
+ "ipv6 access-list WORD$name remark LINE...",
+ IPV6_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR ACCESS_LIST_REMARK_STR
+ ACCESS_LIST_REMARK_LINE_STR)
{
int rv;
char *remark;
@@ -870,14 +811,10 @@ DEFPY_YANG(
return rv;
}
-DEFPY_YANG(
- no_ipv6_access_list_remark, no_ipv6_access_list_remark_cmd,
- "no ipv6 access-list WORD$name remark",
- NO_STR
- IPV6_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_REMARK_STR)
+DEFPY_YANG(no_ipv6_access_list_remark, no_ipv6_access_list_remark_cmd,
+ "no ipv6 access-list WORD$name remark",
+ NO_STR IPV6_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR
+ ACCESS_LIST_REMARK_STR)
{
char xpath[XPATH_MAXLEN];
@@ -889,24 +826,16 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-ALIAS_YANG(
- no_ipv6_access_list_remark, no_ipv6_access_list_remark_line_cmd,
- "no ipv6 access-list WORD$name remark LINE...",
- NO_STR
- IPV6_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_REMARK_STR
- ACCESS_LIST_REMARK_LINE_STR)
+ALIAS_YANG(no_ipv6_access_list_remark, no_ipv6_access_list_remark_line_cmd,
+ "no ipv6 access-list WORD$name remark LINE...",
+ NO_STR IPV6_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR
+ ACCESS_LIST_REMARK_STR ACCESS_LIST_REMARK_LINE_STR)
DEFPY_YANG(
mac_access_list, mac_access_list_cmd,
"mac access-list WORD$name [seq (1-4294967295)$seq] <deny|permit>$action <X:X:X:X:X:X$mac|any>",
- MAC_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ MAC_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR ACCESS_LIST_SEQ_STR
+ ACCESS_LIST_ACTION_STR
"MAC address\n"
"Match any MAC address\n")
{
@@ -945,12 +874,8 @@ DEFPY_YANG(
DEFPY_YANG(
no_mac_access_list, no_mac_access_list_cmd,
"no mac access-list WORD$name [seq (1-4294967295)$seq] <deny|permit>$action <X:X:X:X:X:X$prefix|any>",
- NO_STR
- MAC_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ NO_STR MAC_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR ACCESS_LIST_SEQ_STR
+ ACCESS_LIST_ACTION_STR
"MAC address\n"
"Match any MAC address\n")
{
@@ -999,13 +924,9 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_mac_access_list_all, no_mac_access_list_all_cmd,
- "no mac access-list WORD$name",
- NO_STR
- MAC_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR)
+DEFPY_YANG(no_mac_access_list_all, no_mac_access_list_all_cmd,
+ "no mac access-list WORD$name",
+ NO_STR MAC_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR)
{
char xpath[XPATH_MAXLEN];
@@ -1016,14 +937,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- mac_access_list_remark, mac_access_list_remark_cmd,
- "mac access-list WORD$name remark LINE...",
- MAC_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_REMARK_STR
- ACCESS_LIST_REMARK_LINE_STR)
+DEFPY_YANG(mac_access_list_remark, mac_access_list_remark_cmd,
+ "mac access-list WORD$name remark LINE...",
+ MAC_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR ACCESS_LIST_REMARK_STR
+ ACCESS_LIST_REMARK_LINE_STR)
{
int rv;
char *remark;
@@ -1041,14 +958,10 @@ DEFPY_YANG(
return rv;
}
-DEFPY_YANG(
- no_mac_access_list_remark, no_mac_access_list_remark_cmd,
- "no mac access-list WORD$name remark",
- NO_STR
- MAC_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_REMARK_STR)
+DEFPY_YANG(no_mac_access_list_remark, no_mac_access_list_remark_cmd,
+ "no mac access-list WORD$name remark",
+ NO_STR MAC_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR
+ ACCESS_LIST_REMARK_STR)
{
char xpath[XPATH_MAXLEN];
@@ -1060,15 +973,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-ALIAS_YANG(
- no_mac_access_list_remark, no_mac_access_list_remark_line_cmd,
- "no mac access-list WORD$name remark LINE...",
- NO_STR
- MAC_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_REMARK_STR
- ACCESS_LIST_REMARK_LINE_STR)
+ALIAS_YANG(no_mac_access_list_remark, no_mac_access_list_remark_line_cmd,
+ "no mac access-list WORD$name remark LINE...",
+ NO_STR MAC_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR
+ ACCESS_LIST_REMARK_STR ACCESS_LIST_REMARK_LINE_STR)
void access_list_show(struct vty *vty, struct lyd_node *dnode,
bool show_defaults)
@@ -1246,11 +1154,8 @@ static int plist_remove(struct vty *vty, const char *iptype, const char *name,
DEFPY_YANG(
ip_prefix_list, ip_prefix_list_cmd,
"ip prefix-list WORD$name [seq (1-4294967295)$seq] <deny|permit>$action <any|A.B.C.D/M$prefix [{ge (0-32)$ge|le (0-32)$le}]>",
- IP_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ IP_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR ACCESS_LIST_SEQ_STR
+ ACCESS_LIST_ACTION_STR
"Any prefix match. Same as \"0.0.0.0/0 le 32\"\n"
"IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
"Minimum prefix length to be matched\n"
@@ -1303,12 +1208,8 @@ DEFPY_YANG(
DEFPY_YANG(
no_ip_prefix_list, no_ip_prefix_list_cmd,
"no ip prefix-list WORD$name [seq (1-4294967295)$seq] <deny|permit>$action <any|A.B.C.D/M$prefix [{ge (0-32)|le (0-32)}]>",
- NO_STR
- IP_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ NO_STR IP_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR ACCESS_LIST_SEQ_STR
+ ACCESS_LIST_ACTION_STR
"Any prefix match. Same as \"0.0.0.0/0 le 32\"\n"
"IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
"Minimum prefix length to be matched\n"
@@ -1320,25 +1221,17 @@ DEFPY_YANG(
(struct prefix *)prefix, ge, le);
}
-DEFPY_YANG(
- no_ip_prefix_list_seq, no_ip_prefix_list_seq_cmd,
- "no ip prefix-list WORD$name seq (1-4294967295)$seq",
- NO_STR
- IP_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_SEQ_STR)
+DEFPY_YANG(no_ip_prefix_list_seq, no_ip_prefix_list_seq_cmd,
+ "no ip prefix-list WORD$name seq (1-4294967295)$seq",
+ NO_STR IP_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR
+ ACCESS_LIST_SEQ_STR)
{
return plist_remove(vty, "ipv4", name, seq_str, NULL, NULL, 0, 0);
}
-DEFPY_YANG(
- no_ip_prefix_list_all, no_ip_prefix_list_all_cmd,
- "no ip prefix-list WORD$name",
- NO_STR
- IP_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR)
+DEFPY_YANG(no_ip_prefix_list_all, no_ip_prefix_list_all_cmd,
+ "no ip prefix-list WORD$name",
+ NO_STR IP_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR)
{
char xpath[XPATH_MAXLEN];
@@ -1349,14 +1242,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- ip_prefix_list_remark, ip_prefix_list_remark_cmd,
- "ip prefix-list WORD$name description LINE...",
- IP_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_REMARK_STR
- ACCESS_LIST_REMARK_LINE_STR)
+DEFPY_YANG(ip_prefix_list_remark, ip_prefix_list_remark_cmd,
+ "ip prefix-list WORD$name description LINE...",
+ IP_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR ACCESS_LIST_REMARK_STR
+ ACCESS_LIST_REMARK_LINE_STR)
{
int rv;
char *remark;
@@ -1374,14 +1263,10 @@ DEFPY_YANG(
return rv;
}
-DEFPY_YANG(
- no_ip_prefix_list_remark, no_ip_prefix_list_remark_cmd,
- "no ip prefix-list WORD$name description",
- NO_STR
- IP_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_REMARK_STR)
+DEFPY_YANG(no_ip_prefix_list_remark, no_ip_prefix_list_remark_cmd,
+ "no ip prefix-list WORD$name description",
+ NO_STR IP_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR
+ ACCESS_LIST_REMARK_STR)
{
char xpath[XPATH_MAXLEN];
@@ -1393,24 +1278,16 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-ALIAS_YANG(
- no_ip_prefix_list_remark, no_ip_prefix_list_remark_line_cmd,
- "no ip prefix-list WORD$name description LINE...",
- NO_STR
- IP_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_REMARK_STR
- ACCESS_LIST_REMARK_LINE_STR)
+ALIAS_YANG(no_ip_prefix_list_remark, no_ip_prefix_list_remark_line_cmd,
+ "no ip prefix-list WORD$name description LINE...",
+ NO_STR IP_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR
+ ACCESS_LIST_REMARK_STR ACCESS_LIST_REMARK_LINE_STR)
DEFPY_YANG(
ipv6_prefix_list, ipv6_prefix_list_cmd,
"ipv6 prefix-list WORD$name [seq (1-4294967295)] <deny|permit>$action <any|X:X::X:X/M$prefix [{ge (0-128)$ge|le (0-128)$le}]>",
- IPV6_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ IPV6_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR ACCESS_LIST_SEQ_STR
+ ACCESS_LIST_ACTION_STR
"Any prefix match. Same as \"::0/0 le 128\"\n"
"IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
"Maximum prefix length to be matched\n"
@@ -1463,12 +1340,8 @@ DEFPY_YANG(
DEFPY_YANG(
no_ipv6_prefix_list, no_ipv6_prefix_list_cmd,
"no ipv6 prefix-list WORD$name [seq (1-4294967295)$seq] <deny|permit>$action <any|X:X::X:X/M$prefix [{ge (0-128)$ge|le (0-128)$le}]>",
- NO_STR
- IPV6_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ NO_STR IPV6_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR ACCESS_LIST_SEQ_STR
+ ACCESS_LIST_ACTION_STR
"Any prefix match. Same as \"::0/0 le 128\"\n"
"IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
"Maximum prefix length to be matched\n"
@@ -1480,25 +1353,17 @@ DEFPY_YANG(
(struct prefix *)prefix, ge, le);
}
-DEFPY_YANG(
- no_ipv6_prefix_list_seq, no_ipv6_prefix_list_seq_cmd,
- "no ipv6 prefix-list WORD$name seq (1-4294967295)$seq",
- NO_STR
- IPV6_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_SEQ_STR)
+DEFPY_YANG(no_ipv6_prefix_list_seq, no_ipv6_prefix_list_seq_cmd,
+ "no ipv6 prefix-list WORD$name seq (1-4294967295)$seq",
+ NO_STR IPV6_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR
+ ACCESS_LIST_SEQ_STR)
{
return plist_remove(vty, "ipv6", name, seq_str, NULL, NULL, 0, 0);
}
-DEFPY_YANG(
- no_ipv6_prefix_list_all, no_ipv6_prefix_list_all_cmd,
- "no ipv6 prefix-list WORD$name",
- NO_STR
- IPV6_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR)
+DEFPY_YANG(no_ipv6_prefix_list_all, no_ipv6_prefix_list_all_cmd,
+ "no ipv6 prefix-list WORD$name",
+ NO_STR IPV6_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR)
{
char xpath[XPATH_MAXLEN];
@@ -1509,14 +1374,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- ipv6_prefix_list_remark, ipv6_prefix_list_remark_cmd,
- "ipv6 prefix-list WORD$name description LINE...",
- IPV6_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_REMARK_STR
- ACCESS_LIST_REMARK_LINE_STR)
+DEFPY_YANG(ipv6_prefix_list_remark, ipv6_prefix_list_remark_cmd,
+ "ipv6 prefix-list WORD$name description LINE...",
+ IPV6_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR ACCESS_LIST_REMARK_STR
+ ACCESS_LIST_REMARK_LINE_STR)
{
int rv;
char *remark;
@@ -1534,14 +1395,10 @@ DEFPY_YANG(
return rv;
}
-DEFPY_YANG(
- no_ipv6_prefix_list_remark, no_ipv6_prefix_list_remark_cmd,
- "no ipv6 prefix-list WORD$name description",
- NO_STR
- IPV6_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_REMARK_STR)
+DEFPY_YANG(no_ipv6_prefix_list_remark, no_ipv6_prefix_list_remark_cmd,
+ "no ipv6 prefix-list WORD$name description",
+ NO_STR IPV6_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR
+ ACCESS_LIST_REMARK_STR)
{
char xpath[XPATH_MAXLEN];
@@ -1553,15 +1410,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-ALIAS_YANG(
- no_ipv6_prefix_list_remark, no_ipv6_prefix_list_remark_line_cmd,
- "no ipv6 prefix-list WORD$name description LINE...",
- NO_STR
- IPV6_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_REMARK_STR
- ACCESS_LIST_REMARK_LINE_STR)
+ALIAS_YANG(no_ipv6_prefix_list_remark, no_ipv6_prefix_list_remark_line_cmd,
+ "no ipv6 prefix-list WORD$name description LINE...",
+ NO_STR IPV6_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR
+ ACCESS_LIST_REMARK_STR ACCESS_LIST_REMARK_LINE_STR)
void prefix_list_show(struct vty *vty, struct lyd_node *dnode,
bool show_defaults)
diff --git a/lib/if.c b/lib/if.c
index 07e786c70..8cb7e2df0 100644
--- a/lib/if.c
+++ b/lib/if.c
@@ -1321,12 +1321,10 @@ void if_link_params_free(struct interface *ifp)
/*
* XPath: /frr-interface:lib/interface
*/
-DEFPY_YANG_NOSH (interface,
- interface_cmd,
- "interface IFNAME [vrf NAME$vrf_name]",
- "Select an interface to configure\n"
- "Interface's name\n"
- VRF_CMD_HELP_STR)
+DEFPY_YANG_NOSH(interface, interface_cmd,
+ "interface IFNAME [vrf NAME$vrf_name]",
+ "Select an interface to configure\n"
+ "Interface's name\n" VRF_CMD_HELP_STR)
{
char xpath_list[XPATH_MAXLEN];
vrf_id_t vrf_id;
@@ -1393,13 +1391,11 @@ DEFPY_YANG_NOSH (interface,
return ret;
}
-DEFPY_YANG (no_interface,
- no_interface_cmd,
- "no interface IFNAME [vrf NAME$vrf_name]",
- NO_STR
- "Delete a pseudo interface's configuration\n"
- "Interface's name\n"
- VRF_CMD_HELP_STR)
+DEFPY_YANG(no_interface, no_interface_cmd,
+ "no interface IFNAME [vrf NAME$vrf_name]",
+ NO_STR
+ "Delete a pseudo interface's configuration\n"
+ "Interface's name\n" VRF_CMD_HELP_STR)
{
if (!vrf_name)
vrf_name = VRF_DEFAULT_NAME;
@@ -1428,11 +1424,9 @@ static void cli_show_interface(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-interface:lib/interface/description
*/
-DEFPY_YANG (interface_desc,
- interface_desc_cmd,
- "description LINE...",
- "Interface specific description\n"
- "Characters describing this interface\n")
+DEFPY_YANG(interface_desc, interface_desc_cmd, "description LINE...",
+ "Interface specific description\n"
+ "Characters describing this interface\n")
{
char *desc;
int ret;
@@ -1445,11 +1439,8 @@ DEFPY_YANG (interface_desc,
return ret;
}
-DEFPY_YANG (no_interface_desc,
- no_interface_desc_cmd,
- "no description",
- NO_STR
- "Interface specific description\n")
+DEFPY_YANG(no_interface_desc, no_interface_desc_cmd, "no description",
+ NO_STR "Interface specific description\n")
{
nb_cli_enqueue_change(vty, "./description", NB_OP_DESTROY, NULL);
diff --git a/lib/routemap_cli.c b/lib/routemap_cli.c
index 6a6dd6ff7..ab6d1d2d9 100644
--- a/lib/routemap_cli.c
+++ b/lib/routemap_cli.c
@@ -39,12 +39,10 @@
#define ROUTE_MAP_SEQUENCE_CMD_STR \
"Sequence to insert to/delete from existing route-map entry\n"
-DEFPY_YANG_NOSH(
- route_map, route_map_cmd,
- "route-map WORD$name <deny|permit>$action (1-65535)$sequence",
- ROUTE_MAP_CMD_STR
- ROUTE_MAP_OP_CMD_STR
- ROUTE_MAP_SEQUENCE_CMD_STR)
+DEFPY_YANG_NOSH(route_map, route_map_cmd,
+ "route-map WORD$name <deny|permit>$action (1-65535)$sequence",
+ ROUTE_MAP_CMD_STR ROUTE_MAP_OP_CMD_STR
+ ROUTE_MAP_SEQUENCE_CMD_STR)
{
struct route_map_index *rmi;
struct route_map *rm;
@@ -80,11 +78,8 @@ DEFPY_YANG_NOSH(
return rv;
}
-DEFPY_YANG(
- no_route_map_all, no_route_map_all_cmd,
- "no route-map WORD$name",
- NO_STR
- ROUTE_MAP_CMD_STR)
+DEFPY_YANG(no_route_map_all, no_route_map_all_cmd, "no route-map WORD$name",
+ NO_STR ROUTE_MAP_CMD_STR)
{
char xpath[XPATH_MAXLEN];
@@ -95,13 +90,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_route_map, no_route_map_cmd,
- "no route-map WORD$name <deny|permit>$action (1-65535)$sequence",
- NO_STR
- ROUTE_MAP_CMD_STR
- ROUTE_MAP_OP_CMD_STR
- ROUTE_MAP_SEQUENCE_CMD_STR)
+DEFPY_YANG(no_route_map, no_route_map_cmd,
+ "no route-map WORD$name <deny|permit>$action (1-65535)$sequence",
+ NO_STR ROUTE_MAP_CMD_STR ROUTE_MAP_OP_CMD_STR
+ ROUTE_MAP_SEQUENCE_CMD_STR)
{
char xpath[XPATH_MAXLEN];
@@ -180,12 +172,8 @@ void route_map_instance_show_end(struct vty *vty, struct lyd_node *dnode)
vty_out(vty, "!\n");
}
-DEFPY_YANG(
- match_interface, match_interface_cmd,
- "match interface IFNAME",
- MATCH_STR
- "Match first hop interface of route\n"
- INTERFACE_STR)
+DEFPY_YANG(match_interface, match_interface_cmd, "match interface IFNAME",
+ MATCH_STR "Match first hop interface of route\n" INTERFACE_STR)
{
const char *xpath = "./match-condition[condition='interface']";
char xpath_value[XPATH_MAXLEN];
@@ -197,13 +185,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_interface, no_match_interface_cmd,
- "no match interface [IFNAME]",
- NO_STR
- MATCH_STR
- "Match first hop interface of route\n"
- INTERFACE_STR)
+DEFPY_YANG(no_match_interface, no_match_interface_cmd,
+ "no match interface [IFNAME]",
+ NO_STR MATCH_STR
+ "Match first hop interface of route\n" INTERFACE_STR)
{
const char *xpath = "./match-condition[condition='interface']";
@@ -212,15 +197,13 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_ip_address, match_ip_address_cmd,
- "match ip address <(1-199)$acll|(1300-2699)$aclh|WORD$name>",
- MATCH_STR
- IP_STR
- "Match address of route\n"
- "IP access-list number\n"
- "IP access-list number (expanded range)\n"
- "IP Access-list name\n")
+DEFPY_YANG(match_ip_address, match_ip_address_cmd,
+ "match ip address <(1-199)$acll|(1300-2699)$aclh|WORD$name>",
+ MATCH_STR IP_STR
+ "Match address of route\n"
+ "IP access-list number\n"
+ "IP access-list number (expanded range)\n"
+ "IP Access-list name\n")
{
const char *xpath = "./match-condition[condition='ipv4-address-list']";
char xpath_value[XPATH_MAXLEN + 32];
@@ -251,16 +234,13 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ip_address, no_match_ip_address_cmd,
- "no match ip address [<(1-199)|(1300-2699)|WORD>]",
- NO_STR
- MATCH_STR
- IP_STR
- "Match address of route\n"
- "IP access-list number\n"
- "IP access-list number (expanded range)\n"
- "IP Access-list name\n")
+DEFPY_YANG(no_match_ip_address, no_match_ip_address_cmd,
+ "no match ip address [<(1-199)|(1300-2699)|WORD>]",
+ NO_STR MATCH_STR IP_STR
+ "Match address of route\n"
+ "IP access-list number\n"
+ "IP access-list number (expanded range)\n"
+ "IP Access-list name\n")
{
const char *xpath = "./match-condition[condition='ipv4-address-list']";
@@ -269,15 +249,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_ip_address_prefix_list,
- match_ip_address_prefix_list_cmd,
- "match ip address prefix-list WORD$name",
- MATCH_STR
- IP_STR
- "Match address of route\n"
- "Match entries of prefix-lists\n"
- "IP prefix-list name\n")
+DEFPY_YANG(match_ip_address_prefix_list, match_ip_address_prefix_list_cmd,
+ "match ip address prefix-list WORD$name",
+ MATCH_STR IP_STR
+ "Match address of route\n"
+ "Match entries of prefix-lists\n"
+ "IP prefix-list name\n")
{
const char *xpath = "./match-condition[condition='ipv4-prefix-list']";
char xpath_value[XPATH_MAXLEN];
@@ -289,15 +266,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ip_address_prefix_list, no_match_ip_address_prefix_list_cmd,
- "no match ip address prefix-list [WORD]",
- NO_STR
- MATCH_STR
- IP_STR
- "Match address of route\n"
- "Match entries of prefix-lists\n"
- "IP prefix-list name\n")
+DEFPY_YANG(no_match_ip_address_prefix_list, no_match_ip_address_prefix_list_cmd,
+ "no match ip address prefix-list [WORD]",
+ NO_STR MATCH_STR IP_STR
+ "Match address of route\n"
+ "Match entries of prefix-lists\n"
+ "IP prefix-list name\n")
{
const char *xpath = "./match-condition[condition='ipv4-prefix-list']";
@@ -306,15 +280,13 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_ip_next_hop, match_ip_next_hop_cmd,
- "match ip next-hop <(1-199)$acll|(1300-2699)$aclh|WORD$name>",
- MATCH_STR
- IP_STR
- "Match next-hop address of route\n"
- "IP access-list number\n"
- "IP access-list number (expanded range)\n"
- "IP Access-list name\n")
+DEFPY_YANG(match_ip_next_hop, match_ip_next_hop_cmd,
+ "match ip next-hop <(1-199)$acll|(1300-2699)$aclh|WORD$name>",
+ MATCH_STR IP_STR
+ "Match next-hop address of route\n"
+ "IP access-list number\n"
+ "IP access-list number (expanded range)\n"
+ "IP Access-list name\n")
{
const char *xpath = "./match-condition[condition='ipv4-next-hop-list']";
char xpath_value[XPATH_MAXLEN + 32];
@@ -345,16 +317,13 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ip_next_hop, no_match_ip_next_hop_cmd,
- "no match ip next-hop [<(1-199)|(1300-2699)|WORD>]",
- NO_STR
- MATCH_STR
- IP_STR
- "Match address of route\n"
- "IP access-list number\n"
- "IP access-list number (expanded range)\n"
- "IP Access-list name\n")
+DEFPY_YANG(no_match_ip_next_hop, no_match_ip_next_hop_cmd,
+ "no match ip next-hop [<(1-199)|(1300-2699)|WORD>]",
+ NO_STR MATCH_STR IP_STR
+ "Match address of route\n"
+ "IP access-list number\n"
+ "IP access-list number (expanded range)\n"
+ "IP Access-list name\n")
{
const char *xpath = "./match-condition[condition='ipv4-next-hop-list']";
@@ -363,15 +332,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_ip_next_hop_prefix_list,
- match_ip_next_hop_prefix_list_cmd,
- "match ip next-hop prefix-list WORD$name",
- MATCH_STR
- IP_STR
- "Match next-hop address of route\n"
- "Match entries of prefix-lists\n"
- "IP prefix-list name\n")
+DEFPY_YANG(match_ip_next_hop_prefix_list, match_ip_next_hop_prefix_list_cmd,
+ "match ip next-hop prefix-list WORD$name",
+ MATCH_STR IP_STR
+ "Match next-hop address of route\n"
+ "Match entries of prefix-lists\n"
+ "IP prefix-list name\n")
{
const char *xpath =
"./match-condition[condition='ipv4-next-hop-prefix-list']";
@@ -384,16 +350,13 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ip_next_hop_prefix_list,
- no_match_ip_next_hop_prefix_list_cmd,
- "no match ip next-hop prefix-list [WORD]",
- NO_STR
- MATCH_STR
- IP_STR
- "Match next-hop address of route\n"
- "Match entries of prefix-lists\n"
- "IP prefix-list name\n")
+DEFPY_YANG(no_match_ip_next_hop_prefix_list,
+ no_match_ip_next_hop_prefix_list_cmd,
+ "no match ip next-hop prefix-list [WORD]",
+ NO_STR MATCH_STR IP_STR
+ "Match next-hop address of route\n"
+ "Match entries of prefix-lists\n"
+ "IP prefix-list name\n")
{
const char *xpath =
"./match-condition[condition='ipv4-next-hop-prefix-list']";
@@ -403,14 +366,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_ip_next_hop_type, match_ip_next_hop_type_cmd,
- "match ip next-hop type <blackhole>$type",
- MATCH_STR
- IP_STR
- "Match next-hop address of route\n"
- "Match entries by type\n"
- "Blackhole\n")
+DEFPY_YANG(match_ip_next_hop_type, match_ip_next_hop_type_cmd,
+ "match ip next-hop type <blackhole>$type",
+ MATCH_STR IP_STR
+ "Match next-hop address of route\n"
+ "Match entries by type\n"
+ "Blackhole\n")
{
const char *xpath = "./match-condition[condition='ipv4-next-hop-type']";
char xpath_value[XPATH_MAXLEN];
@@ -423,13 +384,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ip_next_hop_type, no_match_ip_next_hop_type_cmd,
- "no match ip next-hop type [<blackhole>]",
- NO_STR MATCH_STR IP_STR
- "Match next-hop address of route\n"
- "Match entries by type\n"
- "Blackhole\n")
+DEFPY_YANG(no_match_ip_next_hop_type, no_match_ip_next_hop_type_cmd,
+ "no match ip next-hop type [<blackhole>]",
+ NO_STR MATCH_STR IP_STR
+ "Match next-hop address of route\n"
+ "Match entries by type\n"
+ "Blackhole\n")
{
const char *xpath = "./match-condition[condition='ipv4-next-hop-type']";
@@ -438,13 +398,11 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_ipv6_address, match_ipv6_address_cmd,
- "match ipv6 address WORD$name",
- MATCH_STR
- IPV6_STR
- "Match IPv6 address of route\n"
- "IPv6 access-list name\n")
+DEFPY_YANG(match_ipv6_address, match_ipv6_address_cmd,
+ "match ipv6 address WORD$name",
+ MATCH_STR IPV6_STR
+ "Match IPv6 address of route\n"
+ "IPv6 access-list name\n")
{
const char *xpath = "./match-condition[condition='ipv6-address-list']";
char xpath_value[XPATH_MAXLEN];
@@ -456,14 +414,11 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ipv6_address, no_match_ipv6_address_cmd,
- "no match ipv6 address [WORD]",
- NO_STR
- MATCH_STR
- IPV6_STR
- "Match IPv6 address of route\n"
- "IPv6 access-list name\n")
+DEFPY_YANG(no_match_ipv6_address, no_match_ipv6_address_cmd,
+ "no match ipv6 address [WORD]",
+ NO_STR MATCH_STR IPV6_STR
+ "Match IPv6 address of route\n"
+ "IPv6 access-list name\n")
{
const char *xpath = "./match-condition[condition='ipv6-address-list']";
@@ -472,14 +427,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_ipv6_address_prefix_list, match_ipv6_address_prefix_list_cmd,
- "match ipv6 address prefix-list WORD$name",
- MATCH_STR
- IPV6_STR
- "Match address of route\n"
- "Match entries of prefix-lists\n"
- "IP prefix-list name\n")
+DEFPY_YANG(match_ipv6_address_prefix_list, match_ipv6_address_prefix_list_cmd,
+ "match ipv6 address prefix-list WORD$name",
+ MATCH_STR IPV6_STR
+ "Match address of route\n"
+ "Match entries of prefix-lists\n"
+ "IP prefix-list name\n")
{
const char *xpath = "./match-condition[condition='ipv6-prefix-list']";
char xpath_value[XPATH_MAXLEN];
@@ -491,16 +444,13 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ipv6_address_prefix_list,
- no_match_ipv6_address_prefix_list_cmd,
- "no match ipv6 address prefix-list [WORD]",
- NO_STR
- MATCH_STR
- IPV6_STR
- "Match address of route\n"
- "Match entries of prefix-lists\n"
- "IP prefix-list name\n")
+DEFPY_YANG(no_match_ipv6_address_prefix_list,
+ no_match_ipv6_address_prefix_list_cmd,
+ "no match ipv6 address prefix-list [WORD]",
+ NO_STR MATCH_STR IPV6_STR
+ "Match address of route\n"
+ "Match entries of prefix-lists\n"
+ "IP prefix-list name\n")
{
const char *xpath = "./match-condition[condition='ipv6-prefix-list']";
@@ -509,13 +459,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_ipv6_next_hop_type, match_ipv6_next_hop_type_cmd,
- "match ipv6 next-hop type <blackhole>$type",
- MATCH_STR IPV6_STR
- "Match next-hop address of route\n"
- "Match entries by type\n"
- "Blackhole\n")
+DEFPY_YANG(match_ipv6_next_hop_type, match_ipv6_next_hop_type_cmd,
+ "match ipv6 next-hop type <blackhole>$type",
+ MATCH_STR IPV6_STR
+ "Match next-hop address of route\n"
+ "Match entries by type\n"
+ "Blackhole\n")
{
const char *xpath = "./match-condition[condition='ipv6-next-hop-type']";
char xpath_value[XPATH_MAXLEN];
@@ -528,13 +477,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ipv6_next_hop_type, no_match_ipv6_next_hop_type_cmd,
- "no match ipv6 next-hop type [<blackhole>]",
- NO_STR MATCH_STR IPV6_STR
- "Match address of route\n"
- "Match entries by type\n"
- "Blackhole\n")
+DEFPY_YANG(no_match_ipv6_next_hop_type, no_match_ipv6_next_hop_type_cmd,
+ "no match ipv6 next-hop type [<blackhole>]",
+ NO_STR MATCH_STR IPV6_STR
+ "Match address of route\n"
+ "Match entries by type\n"
+ "Blackhole\n")
{
const char *xpath = "./match-condition[condition='ipv6-next-hop-type']";
@@ -543,12 +491,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_metric, match_metric_cmd,
- "match metric (0-4294967295)$metric",
- MATCH_STR
- "Match metric of route\n"
- "Metric value\n")
+DEFPY_YANG(match_metric, match_metric_cmd, "match metric (0-4294967295)$metric",
+ MATCH_STR
+ "Match metric of route\n"
+ "Metric value\n")
{
const char *xpath = "./match-condition[condition='metric']";
char xpath_value[XPATH_MAXLEN];
@@ -560,13 +506,11 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_metric, no_match_metric_cmd,
- "no match metric [(0-4294967295)]",
- NO_STR
- MATCH_STR
- "Match metric of route\n"
- "Metric value\n")
+DEFPY_YANG(no_match_metric, no_match_metric_cmd,
+ "no match metric [(0-4294967295)]",
+ NO_STR MATCH_STR
+ "Match metric of route\n"
+ "Metric value\n")
{
const char *xpath = "./match-condition[condition='metric']";
@@ -575,12 +519,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_tag, match_tag_cmd,
- "match tag (1-4294967295)$tag",
- MATCH_STR
- "Match tag of route\n"
- "Tag value\n")
+DEFPY_YANG(match_tag, match_tag_cmd, "match tag (1-4294967295)$tag",
+ MATCH_STR
+ "Match tag of route\n"
+ "Tag value\n")
{
const char *xpath = "./match-condition[condition='tag']";
char xpath_value[XPATH_MAXLEN];
@@ -592,13 +534,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_tag, no_match_tag_cmd,
- "no match tag [(1-4294967295)]",
- NO_STR
- MATCH_STR
- "Match tag of route\n"
- "Tag value\n")
+DEFPY_YANG(no_match_tag, no_match_tag_cmd, "no match tag [(1-4294967295)]",
+ NO_STR MATCH_STR
+ "Match tag of route\n"
+ "Tag value\n")
{
const char *xpath = "./match-condition[condition='tag']";
@@ -698,13 +637,10 @@ void route_map_condition_show(struct vty *vty, struct lyd_node *dnode,
}
}
-DEFPY_YANG(
- set_ip_nexthop, set_ip_nexthop_cmd,
- "set ip next-hop A.B.C.D$addr",
- SET_STR
- IP_STR
- "Next hop address\n"
- "IP address of next hop\n")
+DEFPY_YANG(set_ip_nexthop, set_ip_nexthop_cmd, "set ip next-hop A.B.C.D$addr",
+ SET_STR IP_STR
+ "Next hop address\n"
+ "IP address of next hop\n")
{
const char *xpath = "./set-action[action='ipv4-next-hop']";
char xpath_value[XPATH_MAXLEN];
@@ -716,14 +652,11 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_set_ip_nexthop, no_set_ip_nexthop_cmd,
- "no set ip next-hop [A.B.C.D]",
- NO_STR
- SET_STR
- IP_STR
- "Next hop address\n"
- "IP address of next hop\n")
+DEFPY_YANG(no_set_ip_nexthop, no_set_ip_nexthop_cmd,
+ "no set ip next-hop [A.B.C.D]",
+ NO_STR SET_STR IP_STR
+ "Next hop address\n"
+ "IP address of next hop\n")
{
const char *xpath = "./set-action[action='ipv4-next-hop']";
@@ -732,14 +665,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- set_ipv6_nexthop_local, set_ipv6_nexthop_local_cmd,
- "set ipv6 next-hop local X:X::X:X$addr",
- SET_STR
- IPV6_STR
- "IPv6 next-hop address\n"
- "IPv6 local address\n"
- "IPv6 address of next hop\n")
+DEFPY_YANG(set_ipv6_nexthop_local, set_ipv6_nexthop_local_cmd,
+ "set ipv6 next-hop local X:X::X:X$addr",
+ SET_STR IPV6_STR
+ "IPv6 next-hop address\n"
+ "IPv6 local address\n"
+ "IPv6 address of next hop\n")
{
const char *xpath = "./set-action[action='ipv6-next-hop']";
char xpath_value[XPATH_MAXLEN];
@@ -751,15 +682,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_set_ipv6_nexthop_local, no_set_ipv6_nexthop_local_cmd,
- "no set ipv6 next-hop local [X:X::X:X]",
- NO_STR
- SET_STR
- IPV6_STR
- "IPv6 next-hop address\n"
- "IPv6 local address\n"
- "IPv6 address of next hop\n")
+DEFPY_YANG(no_set_ipv6_nexthop_local, no_set_ipv6_nexthop_local_cmd,
+ "no set ipv6 next-hop local [X:X::X:X]",
+ NO_STR SET_STR IPV6_STR
+ "IPv6 next-hop address\n"
+ "IPv6 local address\n"
+ "IPv6 address of next hop\n")
{
const char *xpath = "./set-action[action='ipv6-next-hop']";
@@ -814,13 +742,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_set_metric, no_set_metric_cmd,
- "no set metric [(0-4294967295)]",
- NO_STR
- SET_STR
- "Metric value for destination routing protocol\n"
- "Metric value\n")
+DEFPY_YANG(no_set_metric, no_set_metric_cmd, "no set metric [(0-4294967295)]",
+ NO_STR SET_STR
+ "Metric value for destination routing protocol\n"
+ "Metric value\n")
{
const char *xpath = "./set-action[action='metric']";
@@ -828,12 +753,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- set_tag, set_tag_cmd,
- "set tag (1-4294967295)$tag",
- SET_STR
- "Tag value for routing protocol\n"
- "Tag value\n")
+DEFPY_YANG(set_tag, set_tag_cmd, "set tag (1-4294967295)$tag",
+ SET_STR
+ "Tag value for routing protocol\n"
+ "Tag value\n")
{
const char *xpath = "./set-action[action='tag']";
char xpath_value[XPATH_MAXLEN];
@@ -845,13 +768,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_set_tag, no_set_tag_cmd,
- "no set tag [(1-4294967295)]",
- NO_STR
- SET_STR
- "Tag value for routing protocol\n"
- "Tag value\n")
+DEFPY_YANG(no_set_tag, no_set_tag_cmd, "no set tag [(1-4294967295)]",
+ NO_STR SET_STR
+ "Tag value for routing protocol\n"
+ "Tag value\n")
{
const char *xpath = "./set-action[action='tag']";
@@ -905,36 +825,30 @@ void route_map_action_show(struct vty *vty, struct lyd_node *dnode,
}
}
-DEFPY_YANG(
- rmap_onmatch_next, rmap_onmatch_next_cmd,
- "on-match next",
- "Exit policy on matches\n"
- "Next clause\n")
+DEFPY_YANG(rmap_onmatch_next, rmap_onmatch_next_cmd, "on-match next",
+ "Exit policy on matches\n"
+ "Next clause\n")
{
nb_cli_enqueue_change(vty, "./exit-policy", NB_OP_MODIFY, "next");
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_rmap_onmatch_next,
- no_rmap_onmatch_next_cmd,
- "no on-match next",
- NO_STR
- "Exit policy on matches\n"
- "Next clause\n")
+DEFPY_YANG(no_rmap_onmatch_next, no_rmap_onmatch_next_cmd, "no on-match next",
+ NO_STR
+ "Exit policy on matches\n"
+ "Next clause\n")
{
nb_cli_enqueue_change(vty, "./exit-policy", NB_OP_DESTROY, NULL);
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- rmap_onmatch_goto, rmap_onmatch_goto_cmd,
- "on-match goto (1-65535)$rm_num",
- "Exit policy on matches\n"
- "Goto Clause number\n"
- "Number\n")
+DEFPY_YANG(rmap_onmatch_goto, rmap_onmatch_goto_cmd,
+ "on-match goto (1-65535)$rm_num",
+ "Exit policy on matches\n"
+ "Goto Clause number\n"
+ "Number\n")
{
nb_cli_enqueue_change(vty, "./exit-policy", NB_OP_MODIFY, "goto");
nb_cli_enqueue_change(vty, "./goto-value", NB_OP_MODIFY, rm_num_str);
@@ -942,12 +856,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_rmap_onmatch_goto, no_rmap_onmatch_goto_cmd,
- "no on-match goto",
- NO_STR
- "Exit policy on matches\n"
- "Goto Clause number\n")
+DEFPY_YANG(no_rmap_onmatch_goto, no_rmap_onmatch_goto_cmd, "no on-match goto",
+ NO_STR
+ "Exit policy on matches\n"
+ "Goto Clause number\n")
{
nb_cli_enqueue_change(vty, "./exit-policy", NB_OP_DESTROY, NULL);
@@ -955,18 +867,15 @@ DEFPY_YANG(
}
/* Cisco/GNU Zebra compatibility aliases */
-ALIAS_YANG(
- rmap_onmatch_goto, rmap_continue_cmd,
- "continue (1-65535)$rm_num",
- "Continue on a different entry within the route-map\n"
- "Route-map entry sequence number\n")
-
-ALIAS_YANG(
- no_rmap_onmatch_goto, no_rmap_continue_cmd,
- "no continue [(1-65535)]",
- NO_STR
- "Continue on a different entry within the route-map\n"
- "Route-map entry sequence number\n")
+ALIAS_YANG(rmap_onmatch_goto, rmap_continue_cmd, "continue (1-65535)$rm_num",
+ "Continue on a different entry within the route-map\n"
+ "Route-map entry sequence number\n")
+
+ALIAS_YANG(no_rmap_onmatch_goto, no_rmap_continue_cmd,
+ "no continue [(1-65535)]",
+ NO_STR
+ "Continue on a different entry within the route-map\n"
+ "Route-map entry sequence number\n")
void route_map_exit_policy_show(struct vty *vty, struct lyd_node *dnode,
bool show_defaults)
@@ -987,22 +896,17 @@ void route_map_exit_policy_show(struct vty *vty, struct lyd_node *dnode,
}
}
-DEFPY_YANG(
- rmap_call, rmap_call_cmd,
- "call WORD$name",
- "Jump to another Route-Map after match+set\n"
- "Target route-map name\n")
+DEFPY_YANG(rmap_call, rmap_call_cmd, "call WORD$name",
+ "Jump to another Route-Map after match+set\n"
+ "Target route-map name\n")
{
nb_cli_enqueue_change(vty, "./call", NB_OP_MODIFY, name);
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_rmap_call, no_rmap_call_cmd,
- "no call",
- NO_STR
- "Jump to another Route-Map after match+set\n")
+DEFPY_YANG(no_rmap_call, no_rmap_call_cmd, "no call",
+ NO_STR "Jump to another Route-Map after match+set\n")
{
nb_cli_enqueue_change(vty, "./call", NB_OP_DESTROY, NULL);
@@ -1015,11 +919,9 @@ void route_map_call_show(struct vty *vty, struct lyd_node *dnode,
vty_out(vty, " call %s\n", yang_dnode_get_string(dnode, NULL));
}
-DEFPY_YANG(
- rmap_description, rmap_description_cmd,
- "description LINE...",
- "Route-map comment\n"
- "Comment describing this route-map rule\n")
+DEFPY_YANG(rmap_description, rmap_description_cmd, "description LINE...",
+ "Route-map comment\n"
+ "Comment describing this route-map rule\n")
{
char *desc;
int rv;
@@ -1032,11 +934,8 @@ DEFPY_YANG(
return rv;
}
-DEFUN_YANG (no_rmap_description,
- no_rmap_description_cmd,
- "no description",
- NO_STR
- "Route-map comment\n")
+DEFUN_YANG(no_rmap_description, no_rmap_description_cmd, "no description",
+ NO_STR "Route-map comment\n")
{
nb_cli_enqueue_change(vty, "./description", NB_OP_DESTROY, NULL);
diff --git a/lib/vrf.c b/lib/vrf.c
index 20e08b03d..09d18aae1 100644
--- a/lib/vrf.c
+++ b/lib/vrf.c
@@ -732,11 +732,9 @@ DEFUN_NOSH(vrf_exit,
return CMD_SUCCESS;
}
-DEFUN_YANG_NOSH (vrf,
- vrf_cmd,
- "vrf NAME",
- "Select a VRF to configure\n"
- "VRF's name\n")
+DEFUN_YANG_NOSH(vrf, vrf_cmd, "vrf NAME",
+ "Select a VRF to configure\n"
+ "VRF's name\n")
{
int idx_name = 1;
const char *vrfname = argv[idx_name]->arg;
@@ -744,12 +742,10 @@ DEFUN_YANG_NOSH (vrf,
return vrf_handler_create(vty, vrfname, NULL);
}
-DEFUN_YANG (no_vrf,
- no_vrf_cmd,
- "no vrf NAME",
- NO_STR
- "Delete a pseudo VRF's configuration\n"
- "VRF's name\n")
+DEFUN_YANG(no_vrf, no_vrf_cmd, "no vrf NAME",
+ NO_STR
+ "Delete a pseudo VRF's configuration\n"
+ "VRF's name\n")
{
const char *vrfname = argv[2]->arg;
char xpath_list[XPATH_MAXLEN];
diff --git a/ripd/rip_cli.c b/ripd/rip_cli.c
index 5e64b7afd..12eff0b6f 100644
--- a/ripd/rip_cli.c
+++ b/ripd/rip_cli.c
@@ -37,12 +37,9 @@
/*
* XPath: /frr-ripd:ripd/instance
*/
-DEFPY_YANG_NOSH (router_rip,
- router_rip_cmd,
- "router rip [vrf NAME]",
- "Enable a routing process\n"
- "Routing Information Protocol (RIP)\n"
- VRF_CMD_HELP_STR)
+DEFPY_YANG_NOSH(router_rip, router_rip_cmd, "router rip [vrf NAME]",
+ "Enable a routing process\n"
+ "Routing Information Protocol (RIP)\n" VRF_CMD_HELP_STR)
{
char xpath[XPATH_MAXLEN];
int ret;
@@ -62,13 +59,10 @@ DEFPY_YANG_NOSH (router_rip,
return ret;
}
-DEFPY_YANG (no_router_rip,
- no_router_rip_cmd,
- "no router rip [vrf NAME]",
- NO_STR
- "Enable a routing process\n"
- "Routing Information Protocol (RIP)\n"
- VRF_CMD_HELP_STR)
+DEFPY_YANG(no_router_rip, no_router_rip_cmd, "no router rip [vrf NAME]",
+ NO_STR
+ "Enable a routing process\n"
+ "Routing Information Protocol (RIP)\n" VRF_CMD_HELP_STR)
{
char xpath[XPATH_MAXLEN];
@@ -100,11 +94,8 @@ void cli_show_router_rip(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/allow-ecmp
*/
-DEFPY_YANG (rip_allow_ecmp,
- rip_allow_ecmp_cmd,
- "[no] allow-ecmp",
- NO_STR
- "Allow Equal Cost MultiPath\n")
+DEFPY_YANG(rip_allow_ecmp, rip_allow_ecmp_cmd, "[no] allow-ecmp",
+ NO_STR "Allow Equal Cost MultiPath\n")
{
nb_cli_enqueue_change(vty, "./allow-ecmp", NB_OP_MODIFY,
no ? "false" : "true");
@@ -124,12 +115,12 @@ void cli_show_rip_allow_ecmp(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/default-information-originate
*/
-DEFPY_YANG (rip_default_information_originate,
- rip_default_information_originate_cmd,
- "[no] default-information originate",
- NO_STR
- "Control distribution of default route\n"
- "Distribute a default route\n")
+DEFPY_YANG(rip_default_information_originate,
+ rip_default_information_originate_cmd,
+ "[no] default-information originate",
+ NO_STR
+ "Control distribution of default route\n"
+ "Distribute a default route\n")
{
nb_cli_enqueue_change(vty, "./default-information-originate",
NB_OP_MODIFY, no ? "false" : "true");
@@ -150,11 +141,9 @@ void cli_show_rip_default_information_originate(struct vty *vty,
/*
* XPath: /frr-ripd:ripd/instance/default-metric
*/
-DEFPY_YANG (rip_default_metric,
- rip_default_metric_cmd,
- "default-metric (1-16)",
- "Set a metric of redistribute routes\n"
- "Default metric\n")
+DEFPY_YANG(rip_default_metric, rip_default_metric_cmd, "default-metric (1-16)",
+ "Set a metric of redistribute routes\n"
+ "Default metric\n")
{
nb_cli_enqueue_change(vty, "./default-metric", NB_OP_MODIFY,
default_metric_str);
@@ -162,12 +151,11 @@ DEFPY_YANG (rip_default_metric,
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG (no_rip_default_metric,
- no_rip_default_metric_cmd,
- "no default-metric [(1-16)]",
- NO_STR
- "Set a metric of redistribute routes\n"
- "Default metric\n")
+DEFPY_YANG(no_rip_default_metric, no_rip_default_metric_cmd,
+ "no default-metric [(1-16)]",
+ NO_STR
+ "Set a metric of redistribute routes\n"
+ "Default metric\n")
{
nb_cli_enqueue_change(vty, "./default-metric", NB_OP_MODIFY, NULL);
@@ -184,11 +172,9 @@ void cli_show_rip_default_metric(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/distance/default
*/
-DEFPY_YANG (rip_distance,
- rip_distance_cmd,
- "distance (1-255)",
- "Administrative distance\n"
- "Distance value\n")
+DEFPY_YANG(rip_distance, rip_distance_cmd, "distance (1-255)",
+ "Administrative distance\n"
+ "Distance value\n")
{
nb_cli_enqueue_change(vty, "./distance/default", NB_OP_MODIFY,
distance_str);
@@ -196,12 +182,10 @@ DEFPY_YANG (rip_distance,
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG (no_rip_distance,
- no_rip_distance_cmd,
- "no distance [(1-255)]",
- NO_STR
- "Administrative distance\n"
- "Distance value\n")
+DEFPY_YANG(no_rip_distance, no_rip_distance_cmd, "no distance [(1-255)]",
+ NO_STR
+ "Administrative distance\n"
+ "Distance value\n")
{
nb_cli_enqueue_change(vty, "./distance/default", NB_OP_MODIFY, NULL);
@@ -221,14 +205,13 @@ void cli_show_rip_distance(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/distance/source
*/
-DEFPY_YANG (rip_distance_source,
- rip_distance_source_cmd,
- "[no] distance (1-255) A.B.C.D/M$prefix [WORD$acl]",
- NO_STR
- "Administrative distance\n"
- "Distance value\n"
- "IP source prefix\n"
- "Access list name\n")
+DEFPY_YANG(rip_distance_source, rip_distance_source_cmd,
+ "[no] distance (1-255) A.B.C.D/M$prefix [WORD$acl]",
+ NO_STR
+ "Administrative distance\n"
+ "Distance value\n"
+ "IP source prefix\n"
+ "Access list name\n")
{
if (!no) {
nb_cli_enqueue_change(vty, ".", NB_OP_CREATE, NULL);
@@ -258,12 +241,10 @@ void cli_show_rip_distance_source(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/explicit-neighbor
*/
-DEFPY_YANG (rip_neighbor,
- rip_neighbor_cmd,
- "[no] neighbor A.B.C.D",
- NO_STR
- "Specify a neighbor router\n"
- "Neighbor address\n")
+DEFPY_YANG(rip_neighbor, rip_neighbor_cmd, "[no] neighbor A.B.C.D",
+ NO_STR
+ "Specify a neighbor router\n"
+ "Neighbor address\n")
{
nb_cli_enqueue_change(vty, "./explicit-neighbor",
no ? NB_OP_DESTROY : NB_OP_CREATE, neighbor_str);
@@ -280,12 +261,10 @@ void cli_show_rip_neighbor(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/network
*/
-DEFPY_YANG (rip_network_prefix,
- rip_network_prefix_cmd,
- "[no] network A.B.C.D/M",
- NO_STR
- "Enable routing on an IP network\n"
- "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n")
+DEFPY_YANG(rip_network_prefix, rip_network_prefix_cmd, "[no] network A.B.C.D/M",
+ NO_STR
+ "Enable routing on an IP network\n"
+ "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n")
{
nb_cli_enqueue_change(vty, "./network",
no ? NB_OP_DESTROY : NB_OP_CREATE, network_str);
@@ -302,12 +281,10 @@ void cli_show_rip_network_prefix(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/interface
*/
-DEFPY_YANG (rip_network_if,
- rip_network_if_cmd,
- "[no] network WORD",
- NO_STR
- "Enable routing on an IP network\n"
- "Interface name\n")
+DEFPY_YANG(rip_network_if, rip_network_if_cmd, "[no] network WORD",
+ NO_STR
+ "Enable routing on an IP network\n"
+ "Interface name\n")
{
nb_cli_enqueue_change(vty, "./interface",
no ? NB_OP_DESTROY : NB_OP_CREATE, network);
@@ -324,16 +301,16 @@ void cli_show_rip_network_interface(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/offset-list
*/
-DEFPY_YANG (rip_offset_list,
- rip_offset_list_cmd,
- "[no] offset-list WORD$acl <in|out>$direction (0-16)$metric [IFNAME]",
- NO_STR
- "Modify RIP metric\n"
- "Access-list name\n"
- "For incoming updates\n"
- "For outgoing updates\n"
- "Metric value\n"
- "Interface to match\n")
+DEFPY_YANG(
+ rip_offset_list, rip_offset_list_cmd,
+ "[no] offset-list WORD$acl <in|out>$direction (0-16)$metric [IFNAME]",
+ NO_STR
+ "Modify RIP metric\n"
+ "Access-list name\n"
+ "For incoming updates\n"
+ "For outgoing updates\n"
+ "Metric value\n"
+ "Interface to match\n")
{
if (!no) {
nb_cli_enqueue_change(vty, ".", NB_OP_CREATE, NULL);
@@ -367,12 +344,11 @@ void cli_show_rip_offset_list(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/passive-default
*/
-DEFPY_YANG (rip_passive_default,
- rip_passive_default_cmd,
- "[no] passive-interface default",
- NO_STR
- "Suppress routing updates on an interface\n"
- "default for all interfaces\n")
+DEFPY_YANG(rip_passive_default, rip_passive_default_cmd,
+ "[no] passive-interface default",
+ NO_STR
+ "Suppress routing updates on an interface\n"
+ "default for all interfaces\n")
{
nb_cli_enqueue_change(vty, "./passive-default", NB_OP_MODIFY,
no ? "false" : "true");
@@ -393,12 +369,11 @@ void cli_show_rip_passive_default(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-ripd:ripd/instance/passive-interface
* /frr-ripd:ripd/instance/non-passive-interface
*/
-DEFPY_YANG (rip_passive_interface,
- rip_passive_interface_cmd,
- "[no] passive-interface IFNAME",
- NO_STR
- "Suppress routing updates on an interface\n"
- "Interface name\n")
+DEFPY_YANG(rip_passive_interface, rip_passive_interface_cmd,
+ "[no] passive-interface IFNAME",
+ NO_STR
+ "Suppress routing updates on an interface\n"
+ "Interface name\n")
{
bool passive_default =
yang_dnode_get_bool(vty->candidate_config->dnode, "%s%s",
@@ -434,16 +409,14 @@ void cli_show_rip_non_passive_interface(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/redistribute
*/
-DEFPY_YANG (rip_redistribute,
- rip_redistribute_cmd,
- "[no] redistribute " FRR_REDIST_STR_RIPD "$protocol [{metric (0-16)|route-map WORD}]",
- NO_STR
- REDIST_STR
- FRR_REDIST_HELP_STR_RIPD
- "Metric\n"
- "Metric value\n"
- "Route map reference\n"
- "Pointer to route-map entries\n")
+DEFPY_YANG(rip_redistribute, rip_redistribute_cmd,
+ "[no] redistribute " FRR_REDIST_STR_RIPD
+ "$protocol [{metric (0-16)|route-map WORD}]",
+ NO_STR REDIST_STR FRR_REDIST_HELP_STR_RIPD
+ "Metric\n"
+ "Metric value\n"
+ "Route map reference\n"
+ "Pointer to route-map entries\n")
{
if (!no) {
nb_cli_enqueue_change(vty, ".", NB_OP_CREATE, NULL);
@@ -477,12 +450,10 @@ void cli_show_rip_redistribute(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/static-route
*/
-DEFPY_YANG (rip_route,
- rip_route_cmd,
- "[no] route A.B.C.D/M",
- NO_STR
- "RIP static route configuration\n"
- "IP prefix <network>/<length>\n")
+DEFPY_YANG(rip_route, rip_route_cmd, "[no] route A.B.C.D/M",
+ NO_STR
+ "RIP static route configuration\n"
+ "IP prefix <network>/<length>\n")
{
nb_cli_enqueue_change(vty, "./static-route",
no ? NB_OP_DESTROY : NB_OP_CREATE, route_str);
@@ -499,14 +470,14 @@ void cli_show_rip_route(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/timers
*/
-DEFPY_YANG (rip_timers,
- rip_timers_cmd,
- "timers basic (5-2147483647)$update (5-2147483647)$timeout (5-2147483647)$garbage",
- "Adjust routing timers\n"
- "Basic routing protocol update timers\n"
- "Routing table update timer value in second. Default is 30.\n"
- "Routing information timeout timer. Default is 180.\n"
- "Garbage collection timer. Default is 120.\n")
+DEFPY_YANG(
+ rip_timers, rip_timers_cmd,
+ "timers basic (5-2147483647)$update (5-2147483647)$timeout (5-2147483647)$garbage",
+ "Adjust routing timers\n"
+ "Basic routing protocol update timers\n"
+ "Routing table update timer value in second. Default is 30.\n"
+ "Routing information timeout timer. Default is 180.\n"
+ "Garbage collection timer. Default is 120.\n")
{
nb_cli_enqueue_change(vty, "./update-interval", NB_OP_MODIFY,
update_str);
@@ -518,15 +489,14 @@ DEFPY_YANG (rip_timers,
return nb_cli_apply_changes(vty, "./timers");
}
-DEFPY_YANG (no_rip_timers,
- no_rip_timers_cmd,
- "no timers basic [(5-2147483647) (5-2147483647) (5-2147483647)]",
- NO_STR
- "Adjust routing timers\n"
- "Basic routing protocol update timers\n"
- "Routing table update timer value in second. Default is 30.\n"
- "Routing information timeout timer. Default is 180.\n"
- "Garbage collection timer. Default is 120.\n")
+DEFPY_YANG(no_rip_timers, no_rip_timers_cmd,
+ "no timers basic [(5-2147483647) (5-2147483647) (5-2147483647)]",
+ NO_STR
+ "Adjust routing timers\n"
+ "Basic routing protocol update timers\n"
+ "Routing table update timer value in second. Default is 30.\n"
+ "Routing information timeout timer. Default is 180.\n"
+ "Garbage collection timer. Default is 120.\n")
{
nb_cli_enqueue_change(vty, "./update-interval", NB_OP_MODIFY, NULL);
nb_cli_enqueue_change(vty, "./holddown-interval", NB_OP_MODIFY, NULL);
@@ -547,11 +517,9 @@ void cli_show_rip_timers(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/version
*/
-DEFPY_YANG (rip_version,
- rip_version_cmd,
- "version (1-2)",
- "Set routing protocol version\n"
- "version\n")
+DEFPY_YANG(rip_version, rip_version_cmd, "version (1-2)",
+ "Set routing protocol version\n"
+ "version\n")
{
nb_cli_enqueue_change(vty, "./version/receive", NB_OP_MODIFY,
version_str);
@@ -560,12 +528,10 @@ DEFPY_YANG (rip_version,
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG (no_rip_version,
- no_rip_version_cmd,
- "no version [(1-2)]",
- NO_STR
- "Set routing protocol version\n"
- "version\n")
+DEFPY_YANG(no_rip_version, no_rip_version_cmd, "no version [(1-2)]",
+ NO_STR
+ "Set routing protocol version\n"
+ "version\n")
{
nb_cli_enqueue_change(vty, "./version/receive", NB_OP_MODIFY, NULL);
nb_cli_enqueue_change(vty, "./version/send", NB_OP_MODIFY, NULL);
@@ -596,14 +562,12 @@ void cli_show_rip_version(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-interface:lib/interface/frr-ripd:rip/split-horizon
*/
-DEFPY_YANG (ip_rip_split_horizon,
- ip_rip_split_horizon_cmd,
- "[no] ip rip split-horizon [poisoned-reverse$poisoned_reverse]",
- NO_STR
- IP_STR
- "Routing Information Protocol\n"
- "Perform split horizon\n"
- "With poisoned-reverse\n")
+DEFPY_YANG(ip_rip_split_horizon, ip_rip_split_horizon_cmd,
+ "[no] ip rip split-horizon [poisoned-reverse$poisoned_reverse]",
+ NO_STR IP_STR
+ "Routing Information Protocol\n"
+ "Perform split horizon\n"
+ "With poisoned-reverse\n")
{
const char *value;
@@ -641,13 +605,11 @@ void cli_show_ip_rip_split_horizon(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-interface:lib/interface/frr-ripd:rip/v2-broadcast
*/
-DEFPY_YANG (ip_rip_v2_broadcast,
- ip_rip_v2_broadcast_cmd,
- "[no] ip rip v2-broadcast",
- NO_STR
- IP_STR
- "Routing Information Protocol\n"
- "Send ip broadcast v2 update\n")
+DEFPY_YANG(ip_rip_v2_broadcast, ip_rip_v2_broadcast_cmd,
+ "[no] ip rip v2-broadcast",
+ NO_STR IP_STR
+ "Routing Information Protocol\n"
+ "Send ip broadcast v2 update\n")
{
nb_cli_enqueue_change(vty, "./v2-broadcast", NB_OP_MODIFY,
no ? "false" : "true");
@@ -667,16 +629,15 @@ void cli_show_ip_rip_v2_broadcast(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-interface:lib/interface/frr-ripd:rip/version-receive
*/
-DEFPY_YANG (ip_rip_receive_version,
- ip_rip_receive_version_cmd,
- "ip rip receive version <{1$v1|2$v2}|none>",
- IP_STR
- "Routing Information Protocol\n"
- "Advertisement reception\n"
- "Version control\n"
- "RIP version 1\n"
- "RIP version 2\n"
- "None\n")
+DEFPY_YANG(ip_rip_receive_version, ip_rip_receive_version_cmd,
+ "ip rip receive version <{1$v1|2$v2}|none>",
+ IP_STR
+ "Routing Information Protocol\n"
+ "Advertisement reception\n"
+ "Version control\n"
+ "RIP version 1\n"
+ "RIP version 2\n"
+ "None\n")
{
const char *value;
@@ -694,17 +655,15 @@ DEFPY_YANG (ip_rip_receive_version,
return nb_cli_apply_changes(vty, "./frr-ripd:rip");
}
-DEFPY_YANG (no_ip_rip_receive_version,
- no_ip_rip_receive_version_cmd,
- "no ip rip receive version [<{1|2}|none>]",
- NO_STR
- IP_STR
- "Routing Information Protocol\n"
- "Advertisement reception\n"
- "Version control\n"
- "RIP version 1\n"
- "RIP version 2\n"
- "None\n")
+DEFPY_YANG(no_ip_rip_receive_version, no_ip_rip_receive_version_cmd,
+ "no ip rip receive version [<{1|2}|none>]",
+ NO_STR IP_STR
+ "Routing Information Protocol\n"
+ "Advertisement reception\n"
+ "Version control\n"
+ "RIP version 1\n"
+ "RIP version 2\n"
+ "None\n")
{
nb_cli_enqueue_change(vty, "./version-receive", NB_OP_MODIFY, NULL);
@@ -736,16 +695,15 @@ void cli_show_ip_rip_receive_version(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-interface:lib/interface/frr-ripd:rip/version-send
*/
-DEFPY_YANG (ip_rip_send_version,
- ip_rip_send_version_cmd,
- "ip rip send version <{1$v1|2$v2}|none>",
- IP_STR
- "Routing Information Protocol\n"
- "Advertisement transmission\n"
- "Version control\n"
- "RIP version 1\n"
- "RIP version 2\n"
- "None\n")
+DEFPY_YANG(ip_rip_send_version, ip_rip_send_version_cmd,
+ "ip rip send version <{1$v1|2$v2}|none>",
+ IP_STR
+ "Routing Information Protocol\n"
+ "Advertisement transmission\n"
+ "Version control\n"
+ "RIP version 1\n"
+ "RIP version 2\n"
+ "None\n")
{
const char *value;
@@ -763,17 +721,15 @@ DEFPY_YANG (ip_rip_send_version,
return nb_cli_apply_changes(vty, "./frr-ripd:rip");
}
-DEFPY_YANG (no_ip_rip_send_version,
- no_ip_rip_send_version_cmd,
- "no ip rip send version [<{1|2}|none>]",
- NO_STR
- IP_STR
- "Routing Information Protocol\n"
- "Advertisement transmission\n"
- "Version control\n"
- "RIP version 1\n"
- "RIP version 2\n"
- "None\n")
+DEFPY_YANG(no_ip_rip_send_version, no_ip_rip_send_version_cmd,
+ "no ip rip send version [<{1|2}|none>]",
+ NO_STR IP_STR
+ "Routing Information Protocol\n"
+ "Advertisement transmission\n"
+ "Version control\n"
+ "RIP version 1\n"
+ "RIP version 2\n"
+ "None\n")
{
nb_cli_enqueue_change(vty, "./version-send", NB_OP_MODIFY, NULL);
@@ -805,18 +761,18 @@ void cli_show_ip_rip_send_version(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-interface:lib/interface/frr-ripd:rip/authentication-scheme
*/
-DEFPY_YANG (ip_rip_authentication_mode,
- ip_rip_authentication_mode_cmd,
- "ip rip authentication mode <md5$mode [auth-length <rfc|old-ripd>$auth_length]|text$mode>",
- IP_STR
- "Routing Information Protocol\n"
- "Authentication control\n"
- "Authentication mode\n"
- "Keyed message digest\n"
- "MD5 authentication data length\n"
- "RFC compatible\n"
- "Old ripd compatible\n"
- "Clear text authentication\n")
+DEFPY_YANG(
+ ip_rip_authentication_mode, ip_rip_authentication_mode_cmd,
+ "ip rip authentication mode <md5$mode [auth-length <rfc|old-ripd>$auth_length]|text$mode>",
+ IP_STR
+ "Routing Information Protocol\n"
+ "Authentication control\n"
+ "Authentication mode\n"
+ "Keyed message digest\n"
+ "MD5 authentication data length\n"
+ "RFC compatible\n"
+ "Old ripd compatible\n"
+ "Clear text authentication\n")
{
const char *value = NULL;
@@ -837,19 +793,18 @@ DEFPY_YANG (ip_rip_authentication_mode,
return nb_cli_apply_changes(vty, "./frr-ripd:rip");
}
-DEFPY_YANG (no_ip_rip_authentication_mode,
- no_ip_rip_authentication_mode_cmd,
- "no ip rip authentication mode [<md5 [auth-length <rfc|old-ripd>]|text>]",
- NO_STR
- IP_STR
- "Routing Information Protocol\n"
- "Authentication control\n"
- "Authentication mode\n"
- "Keyed message digest\n"
- "MD5 authentication data length\n"
- "RFC compatible\n"
- "Old ripd compatible\n"
- "Clear text authentication\n")
+DEFPY_YANG(
+ no_ip_rip_authentication_mode, no_ip_rip_authentication_mode_cmd,
+ "no ip rip authentication mode [<md5 [auth-length <rfc|old-ripd>]|text>]",
+ NO_STR IP_STR
+ "Routing Information Protocol\n"
+ "Authentication control\n"
+ "Authentication mode\n"
+ "Keyed message digest\n"
+ "MD5 authentication data length\n"
+ "RFC compatible\n"
+ "Old ripd compatible\n"
+ "Clear text authentication\n")
{
nb_cli_enqueue_change(vty, "./authentication-scheme/mode", NB_OP_MODIFY,
NULL);
@@ -888,14 +843,13 @@ void cli_show_ip_rip_authentication_scheme(struct vty *vty,
/*
* XPath: /frr-interface:lib/interface/frr-ripd:rip/authentication-password
*/
-DEFPY_YANG (ip_rip_authentication_string,
- ip_rip_authentication_string_cmd,
- "ip rip authentication string LINE$password",
- IP_STR
- "Routing Information Protocol\n"
- "Authentication control\n"
- "Authentication string\n"
- "Authentication string\n")
+DEFPY_YANG(ip_rip_authentication_string, ip_rip_authentication_string_cmd,
+ "ip rip authentication string LINE$password",
+ IP_STR
+ "Routing Information Protocol\n"
+ "Authentication control\n"
+ "Authentication string\n"
+ "Authentication string\n")
{
if (strlen(password) > 16) {
vty_out(vty,
@@ -916,15 +870,13 @@ DEFPY_YANG (ip_rip_authentication_string,
return nb_cli_apply_changes(vty, "./frr-ripd:rip");
}
-DEFPY_YANG (no_ip_rip_authentication_string,
- no_ip_rip_authentication_string_cmd,
- "no ip rip authentication string [LINE]",
- NO_STR
- IP_STR
- "Routing Information Protocol\n"
- "Authentication control\n"
- "Authentication string\n"
- "Authentication string\n")
+DEFPY_YANG(no_ip_rip_authentication_string, no_ip_rip_authentication_string_cmd,
+ "no ip rip authentication string [LINE]",
+ NO_STR IP_STR
+ "Routing Information Protocol\n"
+ "Authentication control\n"
+ "Authentication string\n"
+ "Authentication string\n")
{
nb_cli_enqueue_change(vty, "./authentication-password", NB_OP_DESTROY,
NULL);
@@ -943,14 +895,13 @@ void cli_show_ip_rip_authentication_string(struct vty *vty,
/*
* XPath: /frr-interface:lib/interface/frr-ripd:rip/authentication-key-chain
*/
-DEFPY_YANG (ip_rip_authentication_key_chain,
- ip_rip_authentication_key_chain_cmd,
- "ip rip authentication key-chain LINE$keychain",
- IP_STR
- "Routing Information Protocol\n"
- "Authentication control\n"
- "Authentication key-chain\n"
- "name of key-chain\n")
+DEFPY_YANG(ip_rip_authentication_key_chain, ip_rip_authentication_key_chain_cmd,
+ "ip rip authentication key-chain LINE$keychain",
+ IP_STR
+ "Routing Information Protocol\n"
+ "Authentication control\n"
+ "Authentication key-chain\n"
+ "name of key-chain\n")
{
if (yang_dnode_exists(vty->candidate_config->dnode, "%s%s",
VTY_CURR_XPATH,
@@ -965,15 +916,14 @@ DEFPY_YANG (ip_rip_authentication_key_chain,
return nb_cli_apply_changes(vty, "./frr-ripd:rip");
}
-DEFPY_YANG (no_ip_rip_authentication_key_chain,
- no_ip_rip_authentication_key_chain_cmd,
- "no ip rip authentication key-chain [LINE]",
- NO_STR
- IP_STR
- "Routing Information Protocol\n"
- "Authentication control\n"
- "Authentication key-chain\n"
- "name of key-chain\n")
+DEFPY_YANG(no_ip_rip_authentication_key_chain,
+ no_ip_rip_authentication_key_chain_cmd,
+ "no ip rip authentication key-chain [LINE]",
+ NO_STR IP_STR
+ "Routing Information Protocol\n"
+ "Authentication control\n"
+ "Authentication key-chain\n"
+ "name of key-chain\n")
{
nb_cli_enqueue_change(vty, "./authentication-key-chain", NB_OP_DESTROY,
NULL);
@@ -992,13 +942,8 @@ void cli_show_ip_rip_authentication_key_chain(struct vty *vty,
/*
* XPath: /frr-ripd:clear-rip-route
*/
-DEFPY_YANG (clear_ip_rip,
- clear_ip_rip_cmd,
- "clear ip rip [vrf WORD]",
- CLEAR_STR
- IP_STR
- "Clear IP RIP database\n"
- VRF_CMD_HELP_STR)
+DEFPY_YANG(clear_ip_rip, clear_ip_rip_cmd, "clear ip rip [vrf WORD]",
+ CLEAR_STR IP_STR "Clear IP RIP database\n" VRF_CMD_HELP_STR)
{
struct list *input;
int ret;
diff --git a/ripngd/ripng_cli.c b/ripngd/ripng_cli.c
index f66de175f..9494f37ce 100644
--- a/ripngd/ripng_cli.c
+++ b/ripngd/ripng_cli.c
@@ -37,12 +37,9 @@
/*
* XPath: /frr-ripngd:ripngd/instance
*/
-DEFPY_YANG_NOSH (router_ripng,
- router_ripng_cmd,
- "router ripng [vrf NAME]",
- "Enable a routing process\n"
- "Make RIPng instance command\n"
- VRF_CMD_HELP_STR)
+DEFPY_YANG_NOSH(router_ripng, router_ripng_cmd, "router ripng [vrf NAME]",
+ "Enable a routing process\n"
+ "Make RIPng instance command\n" VRF_CMD_HELP_STR)
{
char xpath[XPATH_MAXLEN];
int ret;
@@ -62,13 +59,10 @@ DEFPY_YANG_NOSH (router_ripng,
return ret;
}
-DEFPY_YANG (no_router_ripng,
- no_router_ripng_cmd,
- "no router ripng [vrf NAME]",
- NO_STR
- "Enable a routing process\n"
- "Make RIPng instance command\n"
- VRF_CMD_HELP_STR)
+DEFPY_YANG(no_router_ripng, no_router_ripng_cmd, "no router ripng [vrf NAME]",
+ NO_STR
+ "Enable a routing process\n"
+ "Make RIPng instance command\n" VRF_CMD_HELP_STR)
{
char xpath[XPATH_MAXLEN];
@@ -100,11 +94,8 @@ void cli_show_router_ripng(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:ripngd/instance/allow-ecmp
*/
-DEFPY_YANG (ripng_allow_ecmp,
- ripng_allow_ecmp_cmd,
- "[no] allow-ecmp",
- NO_STR
- "Allow Equal Cost MultiPath\n")
+DEFPY_YANG(ripng_allow_ecmp, ripng_allow_ecmp_cmd, "[no] allow-ecmp",
+ NO_STR "Allow Equal Cost MultiPath\n")
{
nb_cli_enqueue_change(vty, "./allow-ecmp", NB_OP_MODIFY,
no ? "false" : "true");
@@ -124,12 +115,12 @@ void cli_show_ripng_allow_ecmp(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:ripngd/instance/default-information-originate
*/
-DEFPY_YANG (ripng_default_information_originate,
- ripng_default_information_originate_cmd,
- "[no] default-information originate",
- NO_STR
- "Default route information\n"
- "Distribute default route\n")
+DEFPY_YANG(ripng_default_information_originate,
+ ripng_default_information_originate_cmd,
+ "[no] default-information originate",
+ NO_STR
+ "Default route information\n"
+ "Distribute default route\n")
{
nb_cli_enqueue_change(vty, "./default-information-originate",
NB_OP_MODIFY, no ? "false" : "true");
@@ -150,11 +141,10 @@ void cli_show_ripng_default_information_originate(struct vty *vty,
/*
* XPath: /frr-ripngd:ripngd/instance/default-metric
*/
-DEFPY_YANG (ripng_default_metric,
- ripng_default_metric_cmd,
- "default-metric (1-16)",
- "Set a metric of redistribute routes\n"
- "Default metric\n")
+DEFPY_YANG(ripng_default_metric, ripng_default_metric_cmd,
+ "default-metric (1-16)",
+ "Set a metric of redistribute routes\n"
+ "Default metric\n")
{
nb_cli_enqueue_change(vty, "./default-metric", NB_OP_MODIFY,
default_metric_str);
@@ -162,12 +152,11 @@ DEFPY_YANG (ripng_default_metric,
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG (no_ripng_default_metric,
- no_ripng_default_metric_cmd,
- "no default-metric [(1-16)]",
- NO_STR
- "Set a metric of redistribute routes\n"
- "Default metric\n")
+DEFPY_YANG(no_ripng_default_metric, no_ripng_default_metric_cmd,
+ "no default-metric [(1-16)]",
+ NO_STR
+ "Set a metric of redistribute routes\n"
+ "Default metric\n")
{
nb_cli_enqueue_change(vty, "./default-metric", NB_OP_MODIFY, NULL);
@@ -184,12 +173,11 @@ void cli_show_ripng_default_metric(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:ripngd/instance/network
*/
-DEFPY_YANG (ripng_network_prefix,
- ripng_network_prefix_cmd,
- "[no] network X:X::X:X/M",
- NO_STR
- "RIPng enable on specified interface or network.\n"
- "IPv6 network\n")
+DEFPY_YANG(ripng_network_prefix, ripng_network_prefix_cmd,
+ "[no] network X:X::X:X/M",
+ NO_STR
+ "RIPng enable on specified interface or network.\n"
+ "IPv6 network\n")
{
nb_cli_enqueue_change(vty, "./network",
no ? NB_OP_DESTROY : NB_OP_CREATE, network_str);
@@ -206,12 +194,10 @@ void cli_show_ripng_network_prefix(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:ripngd/instance/interface
*/
-DEFPY_YANG (ripng_network_if,
- ripng_network_if_cmd,
- "[no] network WORD",
- NO_STR
- "RIPng enable on specified interface or network.\n"
- "Interface name\n")
+DEFPY_YANG(ripng_network_if, ripng_network_if_cmd, "[no] network WORD",
+ NO_STR
+ "RIPng enable on specified interface or network.\n"
+ "Interface name\n")
{
nb_cli_enqueue_change(vty, "./interface",
no ? NB_OP_DESTROY : NB_OP_CREATE, network);
@@ -228,16 +214,16 @@ void cli_show_ripng_network_interface(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:ripngd/instance/offset-list
*/
-DEFPY_YANG (ripng_offset_list,
- ripng_offset_list_cmd,
- "[no] offset-list WORD$acl <in|out>$direction (0-16)$metric [IFNAME]",
- NO_STR
- "Modify RIPng metric\n"
- "Access-list name\n"
- "For incoming updates\n"
- "For outgoing updates\n"
- "Metric value\n"
- "Interface to match\n")
+DEFPY_YANG(
+ ripng_offset_list, ripng_offset_list_cmd,
+ "[no] offset-list WORD$acl <in|out>$direction (0-16)$metric [IFNAME]",
+ NO_STR
+ "Modify RIPng metric\n"
+ "Access-list name\n"
+ "For incoming updates\n"
+ "For outgoing updates\n"
+ "Metric value\n"
+ "Interface to match\n")
{
if (!no) {
nb_cli_enqueue_change(vty, ".", NB_OP_CREATE, NULL);
@@ -271,12 +257,11 @@ void cli_show_ripng_offset_list(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:ripngd/instance/passive-interface
*/
-DEFPY_YANG (ripng_passive_interface,
- ripng_passive_interface_cmd,
- "[no] passive-interface IFNAME",
- NO_STR
- "Suppress routing updates on an interface\n"
- "Interface name\n")
+DEFPY_YANG(ripng_passive_interface, ripng_passive_interface_cmd,
+ "[no] passive-interface IFNAME",
+ NO_STR
+ "Suppress routing updates on an interface\n"
+ "Interface name\n")
{
nb_cli_enqueue_change(vty, "./passive-interface",
no ? NB_OP_DESTROY : NB_OP_CREATE, ifname);
@@ -294,16 +279,14 @@ void cli_show_ripng_passive_interface(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:ripngd/instance/redistribute
*/
-DEFPY_YANG (ripng_redistribute,
- ripng_redistribute_cmd,
- "[no] redistribute " FRR_REDIST_STR_RIPNGD "$protocol [{metric (0-16)|route-map WORD}]",
- NO_STR
- REDIST_STR
- FRR_REDIST_HELP_STR_RIPNGD
- "Metric\n"
- "Metric value\n"
- "Route map reference\n"
- "Pointer to route-map entries\n")
+DEFPY_YANG(ripng_redistribute, ripng_redistribute_cmd,
+ "[no] redistribute " FRR_REDIST_STR_RIPNGD
+ "$protocol [{metric (0-16)|route-map WORD}]",
+ NO_STR REDIST_STR FRR_REDIST_HELP_STR_RIPNGD
+ "Metric\n"
+ "Metric value\n"
+ "Route map reference\n"
+ "Pointer to route-map entries\n")
{
if (!no) {
nb_cli_enqueue_change(vty, ".", NB_OP_CREATE, NULL);
@@ -337,12 +320,10 @@ void cli_show_ripng_redistribute(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:ripngd/instance/static-route
*/
-DEFPY_YANG (ripng_route,
- ripng_route_cmd,
- "[no] route X:X::X:X/M",
- NO_STR
- "Static route setup\n"
- "Set static RIPng route announcement\n")
+DEFPY_YANG(ripng_route, ripng_route_cmd, "[no] route X:X::X:X/M",
+ NO_STR
+ "Static route setup\n"
+ "Set static RIPng route announcement\n")
{
nb_cli_enqueue_change(vty, "./static-route",
no ? NB_OP_DESTROY : NB_OP_CREATE, route_str);
@@ -359,12 +340,11 @@ void cli_show_ripng_route(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:ripngd/instance/aggregate-addres
*/
-DEFPY_YANG (ripng_aggregate_address,
- ripng_aggregate_address_cmd,
- "[no] aggregate-address X:X::X:X/M",
- NO_STR
- "Set aggregate RIPng route announcement\n"
- "Aggregate network\n")
+DEFPY_YANG(ripng_aggregate_address, ripng_aggregate_address_cmd,
+ "[no] aggregate-address X:X::X:X/M",
+ NO_STR
+ "Set aggregate RIPng route announcement\n"
+ "Aggregate network\n")
{
nb_cli_enqueue_change(vty, "./aggregate-address",
no ? NB_OP_DESTROY : NB_OP_CREATE,
@@ -383,14 +363,13 @@ void cli_show_ripng_aggregate_address(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:ripngd/instance/timers
*/
-DEFPY_YANG (ripng_timers,
- ripng_timers_cmd,
- "timers basic (1-65535)$update (1-65535)$timeout (1-65535)$garbage",
- "RIPng timers setup\n"
- "Basic timer\n"
- "Routing table update timer value in second. Default is 30.\n"
- "Routing information timeout timer. Default is 180.\n"
- "Garbage collection timer. Default is 120.\n")
+DEFPY_YANG(ripng_timers, ripng_timers_cmd,
+ "timers basic (1-65535)$update (1-65535)$timeout (1-65535)$garbage",
+ "RIPng timers setup\n"
+ "Basic timer\n"
+ "Routing table update timer value in second. Default is 30.\n"
+ "Routing information timeout timer. Default is 180.\n"
+ "Garbage collection timer. Default is 120.\n")
{
nb_cli_enqueue_change(vty, "./update-interval", NB_OP_MODIFY,
update_str);
@@ -402,15 +381,14 @@ DEFPY_YANG (ripng_timers,
return nb_cli_apply_changes(vty, "./timers");
}
-DEFPY_YANG (no_ripng_timers,
- no_ripng_timers_cmd,
- "no timers basic [(1-65535) (1-65535) (1-65535)]",
- NO_STR
- "RIPng timers setup\n"
- "Basic timer\n"
- "Routing table update timer value in second. Default is 30.\n"
- "Routing information timeout timer. Default is 180.\n"
- "Garbage collection timer. Default is 120.\n")
+DEFPY_YANG(no_ripng_timers, no_ripng_timers_cmd,
+ "no timers basic [(1-65535) (1-65535) (1-65535)]",
+ NO_STR
+ "RIPng timers setup\n"
+ "Basic timer\n"
+ "Routing table update timer value in second. Default is 30.\n"
+ "Routing information timeout timer. Default is 180.\n"
+ "Garbage collection timer. Default is 120.\n")
{
nb_cli_enqueue_change(vty, "./update-interval", NB_OP_MODIFY, NULL);
nb_cli_enqueue_change(vty, "./holddown-interval", NB_OP_MODIFY, NULL);
@@ -431,14 +409,12 @@ void cli_show_ripng_timers(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-interface:lib/interface/frr-ripngd:ripng/split-horizon
*/
-DEFPY_YANG (ipv6_ripng_split_horizon,
- ipv6_ripng_split_horizon_cmd,
- "[no] ipv6 ripng split-horizon [poisoned-reverse$poisoned_reverse]",
- NO_STR
- IPV6_STR
- "Routing Information Protocol\n"
- "Perform split horizon\n"
- "With poisoned-reverse\n")
+DEFPY_YANG(ipv6_ripng_split_horizon, ipv6_ripng_split_horizon_cmd,
+ "[no] ipv6 ripng split-horizon [poisoned-reverse$poisoned_reverse]",
+ NO_STR IPV6_STR
+ "Routing Information Protocol\n"
+ "Perform split horizon\n"
+ "With poisoned-reverse\n")
{
const char *value;
@@ -476,13 +452,8 @@ void cli_show_ipv6_ripng_split_horizon(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:clear-ripng-route
*/
-DEFPY_YANG (clear_ipv6_rip,
- clear_ipv6_rip_cmd,
- "clear ipv6 ripng [vrf WORD]",
- CLEAR_STR
- IPV6_STR
- "Clear IPv6 RIP database\n"
- VRF_CMD_HELP_STR)
+DEFPY_YANG(clear_ipv6_rip, clear_ipv6_rip_cmd, "clear ipv6 ripng [vrf WORD]",
+ CLEAR_STR IPV6_STR "Clear IPv6 RIP database\n" VRF_CMD_HELP_STR)
{
struct list *input;
int ret;
diff --git a/staticd/static_vty.c b/staticd/static_vty.c
index ac18f6adf..560fdff49 100644
--- a/staticd/static_vty.c
+++ b/staticd/static_vty.c
@@ -451,16 +451,15 @@ int static_config(struct vty *vty, struct static_vrf *svrf, afi_t afi,
}
/* Static unicast routes for multicast RPF lookup. */
-DEFPY_YANG (ip_mroute_dist,
- ip_mroute_dist_cmd,
- "[no] ip mroute A.B.C.D/M$prefix <A.B.C.D$gate|INTERFACE$ifname> [(1-255)$distance]",
- NO_STR
- IP_STR
- "Configure static unicast route into MRIB for multicast RPF lookup\n"
- "IP destination prefix (e.g. 10.0.0.0/8)\n"
- "Nexthop address\n"
- "Nexthop interface name\n"
- "Distance\n")
+DEFPY_YANG(
+ ip_mroute_dist, ip_mroute_dist_cmd,
+ "[no] ip mroute A.B.C.D/M$prefix <A.B.C.D$gate|INTERFACE$ifname> [(1-255)$distance]",
+ NO_STR IP_STR
+ "Configure static unicast route into MRIB for multicast RPF lookup\n"
+ "IP destination prefix (e.g. 10.0.0.0/8)\n"
+ "Nexthop address\n"
+ "Nexthop interface name\n"
+ "Distance\n")
{
return static_route(vty, AFI_IP, SAFI_MULTICAST, no, prefix_str,
NULL, NULL, gate_str, ifname, NULL, NULL,
@@ -468,9 +467,8 @@ DEFPY_YANG (ip_mroute_dist,
}
/* Static route configuration. */
-DEFPY_YANG(ip_route_blackhole,
- ip_route_blackhole_cmd,
- "[no] ip route\
+DEFPY_YANG(ip_route_blackhole, ip_route_blackhole_cmd,
+ "[no] ip route\
<A.B.C.D/M$prefix|A.B.C.D$prefix A.B.C.D$mask> \
<reject|blackhole>$flag \
[{ \
@@ -480,20 +478,18 @@ DEFPY_YANG(ip_route_blackhole,
|label WORD \
|table (1-4294967295) \
}]",
- NO_STR IP_STR
- "Establish static routes\n"
- "IP destination prefix (e.g. 10.0.0.0/8)\n"
- "IP destination prefix\n"
- "IP destination prefix mask\n"
- "Emit an ICMP unreachable when matched\n"
- "Silently discard pkts when matched\n"
- "Set tag for this route\n"
- "Tag value\n"
- "Distance value for this route\n"
- VRF_CMD_HELP_STR
- MPLS_LABEL_HELPSTR
- "Table to configure\n"
- "The table number to configure\n")
+ NO_STR IP_STR
+ "Establish static routes\n"
+ "IP destination prefix (e.g. 10.0.0.0/8)\n"
+ "IP destination prefix\n"
+ "IP destination prefix mask\n"
+ "Emit an ICMP unreachable when matched\n"
+ "Silently discard pkts when matched\n"
+ "Set tag for this route\n"
+ "Tag value\n"
+ "Distance value for this route\n" VRF_CMD_HELP_STR MPLS_LABEL_HELPSTR
+ "Table to configure\n"
+ "The table number to configure\n")
{
if (table_str && vrf && !vrf_is_backend_netns()) {
vty_out(vty,
@@ -506,9 +502,8 @@ DEFPY_YANG(ip_route_blackhole,
distance_str, vrf, label, table_str);
}
-DEFPY_YANG(ip_route_blackhole_vrf,
- ip_route_blackhole_vrf_cmd,
- "[no] ip route\
+DEFPY_YANG(ip_route_blackhole_vrf, ip_route_blackhole_vrf_cmd,
+ "[no] ip route\
<A.B.C.D/M$prefix|A.B.C.D$prefix A.B.C.D$mask> \
<reject|blackhole>$flag \
[{ \
@@ -517,19 +512,18 @@ DEFPY_YANG(ip_route_blackhole_vrf,
|label WORD \
|table (1-4294967295) \
}]",
- NO_STR IP_STR
- "Establish static routes\n"
- "IP destination prefix (e.g. 10.0.0.0/8)\n"
- "IP destination prefix\n"
- "IP destination prefix mask\n"
- "Emit an ICMP unreachable when matched\n"
- "Silently discard pkts when matched\n"
- "Set tag for this route\n"
- "Tag value\n"
- "Distance value for this route\n"
- MPLS_LABEL_HELPSTR
- "Table to configure\n"
- "The table number to configure\n")
+ NO_STR IP_STR
+ "Establish static routes\n"
+ "IP destination prefix (e.g. 10.0.0.0/8)\n"
+ "IP destination prefix\n"
+ "IP destination prefix mask\n"
+ "Emit an ICMP unreachable when matched\n"
+ "Silently discard pkts when matched\n"
+ "Set tag for this route\n"
+ "Tag value\n"
+ "Distance value for this route\n" MPLS_LABEL_HELPSTR
+ "Table to configure\n"
+ "The table number to configure\n")
{
const struct lyd_node *vrf_dnode;
const char *vrfname;
@@ -553,9 +547,8 @@ DEFPY_YANG(ip_route_blackhole_vrf,
false);
}
-DEFPY_YANG(ip_route_address_interface,
- ip_route_address_interface_cmd,
- "[no] ip route\
+DEFPY_YANG(ip_route_address_interface, ip_route_address_interface_cmd,
+ "[no] ip route\
<A.B.C.D/M$prefix|A.B.C.D$prefix A.B.C.D$mask> \
A.B.C.D$gate \
<INTERFACE|Null0>$ifname \
@@ -568,23 +561,20 @@ DEFPY_YANG(ip_route_address_interface,
|nexthop-vrf NAME \
|onlink$onlink \
}]",
- NO_STR IP_STR
- "Establish static routes\n"
- "IP destination prefix (e.g. 10.0.0.0/8)\n"
- "IP destination prefix\n"
- "IP destination prefix mask\n"
- "IP gateway address\n"
- "IP gateway interface name\n"
- "Null interface\n"
- "Set tag for this route\n"
- "Tag value\n"
- "Distance value for this route\n"
- VRF_CMD_HELP_STR
- MPLS_LABEL_HELPSTR
- "Table to configure\n"
- "The table number to configure\n"
- VRF_CMD_HELP_STR
- "Treat the nexthop as directly attached to the interface\n")
+ NO_STR IP_STR
+ "Establish static routes\n"
+ "IP destination prefix (e.g. 10.0.0.0/8)\n"
+ "IP destination prefix\n"
+ "IP destination prefix mask\n"
+ "IP gateway address\n"
+ "IP gateway interface name\n"
+ "Null interface\n"
+ "Set tag for this route\n"
+ "Tag value\n"
+ "Distance value for this route\n" VRF_CMD_HELP_STR MPLS_LABEL_HELPSTR
+ "Table to configure\n"
+ "The table number to configure\n" VRF_CMD_HELP_STR
+ "Treat the nexthop as directly attached to the interface\n")
{
const char *nh_vrf;
const char *flag = NULL;
@@ -607,9 +597,8 @@ DEFPY_YANG(ip_route_address_interface,
!!onlink);
}
-DEFPY_YANG(ip_route_address_interface_vrf,
- ip_route_address_interface_vrf_cmd,
- "[no] ip route\
+DEFPY_YANG(ip_route_address_interface_vrf, ip_route_address_interface_vrf_cmd,
+ "[no] ip route\
<A.B.C.D/M$prefix|A.B.C.D$prefix A.B.C.D$mask> \
A.B.C.D$gate \
<INTERFACE|Null0>$ifname \
@@ -621,22 +610,20 @@ DEFPY_YANG(ip_route_address_interface_vrf,
|nexthop-vrf NAME \
|onlink$onlink \
}]",
- NO_STR IP_STR
- "Establish static routes\n"
- "IP destination prefix (e.g. 10.0.0.0/8)\n"
- "IP destination prefix\n"
- "IP destination prefix mask\n"
- "IP gateway address\n"
- "IP gateway interface name\n"
- "Null interface\n"
- "Set tag for this route\n"
- "Tag value\n"
- "Distance value for this route\n"
- MPLS_LABEL_HELPSTR
- "Table to configure\n"
- "The table number to configure\n"
- VRF_CMD_HELP_STR
- "Treat the nexthop as directly attached to the interface\n")
+ NO_STR IP_STR
+ "Establish static routes\n"
+ "IP destination prefix (e.g. 10.0.0.0/8)\n"
+ "IP destination prefix\n"
+ "IP destination prefix mask\n"
+ "IP gateway address\n"
+ "IP gateway interface name\n"
+ "Null interface\n"
+ "Set tag for this route\n"
+ "Tag value\n"
+ "Distance value for this route\n" MPLS_LABEL_HELPSTR
+ "Table to configure\n"
+ "The table number to configure\n" VRF_CMD_HELP_STR
+ "Treat the nexthop as directly attached to the interface\n")
{
const char *nh_vrf;
const char *flag = NULL;
@@ -666,9 +653,8 @@ DEFPY_YANG(ip_route_address_interface_vrf,
!!onlink);
}
-DEFPY_YANG(ip_route,
- ip_route_cmd,
- "[no] ip route\
+DEFPY_YANG(ip_route, ip_route_cmd,
+ "[no] ip route\
<A.B.C.D/M$prefix|A.B.C.D$prefix A.B.C.D$mask> \
<A.B.C.D$gate|<INTERFACE|Null0>$ifname> \
[{ \
@@ -679,22 +665,19 @@ DEFPY_YANG(ip_route,
|table (1-4294967295) \
|nexthop-vrf NAME \
}]",
- NO_STR IP_STR
- "Establish static routes\n"
- "IP destination prefix (e.g. 10.0.0.0/8)\n"
- "IP destination prefix\n"
- "IP destination prefix mask\n"
- "IP gateway address\n"
- "IP gateway interface name\n"
- "Null interface\n"
- "Set tag for this route\n"
- "Tag value\n"
- "Distance value for this route\n"
- VRF_CMD_HELP_STR
- MPLS_LABEL_HELPSTR
- "Table to configure\n"
- "The table number to configure\n"
- VRF_CMD_HELP_STR)
+ NO_STR IP_STR
+ "Establish static routes\n"
+ "IP destination prefix (e.g. 10.0.0.0/8)\n"
+ "IP destination prefix\n"
+ "IP destination prefix mask\n"
+ "IP gateway address\n"
+ "IP gateway interface name\n"
+ "Null interface\n"
+ "Set tag for this route\n"
+ "Tag value\n"
+ "Distance value for this route\n" VRF_CMD_HELP_STR MPLS_LABEL_HELPSTR
+ "Table to configure\n"
+ "The table number to configure\n" VRF_CMD_HELP_STR)
{
const char *nh_vrf;
const char *flag = NULL;
@@ -718,9 +701,8 @@ DEFPY_YANG(ip_route,
false);
}
-DEFPY_YANG(ip_route_vrf,
- ip_route_vrf_cmd,
- "[no] ip route\
+DEFPY_YANG(ip_route_vrf, ip_route_vrf_cmd,
+ "[no] ip route\
<A.B.C.D/M$prefix|A.B.C.D$prefix A.B.C.D$mask> \
<A.B.C.D$gate|<INTERFACE|Null0>$ifname> \
[{ \
@@ -730,21 +712,19 @@ DEFPY_YANG(ip_route_vrf,
|table (1-4294967295) \
|nexthop-vrf NAME \
}]",
- NO_STR IP_STR
- "Establish static routes\n"
- "IP destination prefix (e.g. 10.0.0.0/8)\n"
- "IP destination prefix\n"
- "IP destination prefix mask\n"
- "IP gateway address\n"
- "IP gateway interface name\n"
- "Null interface\n"
- "Set tag for this route\n"
- "Tag value\n"
- "Distance value for this route\n"
- MPLS_LABEL_HELPSTR
- "Table to configure\n"
- "The table number to configure\n"
- VRF_CMD_HELP_STR)
+ NO_STR IP_STR
+ "Establish static routes\n"
+ "IP destination prefix (e.g. 10.0.0.0/8)\n"
+ "IP destination prefix\n"
+ "IP destination prefix mask\n"
+ "IP gateway address\n"
+ "IP gateway interface name\n"
+ "Null interface\n"
+ "Set tag for this route\n"
+ "Tag value\n"
+ "Distance value for this route\n" MPLS_LABEL_HELPSTR
+ "Table to configure\n"
+ "The table number to configure\n" VRF_CMD_HELP_STR)
{
const char *nh_vrf;
const char *flag = NULL;
@@ -775,9 +755,9 @@ DEFPY_YANG(ip_route_vrf,
false);
}
-DEFPY_YANG(ipv6_route_blackhole,
- ipv6_route_blackhole_cmd,
- "[no] ipv6 route X:X::X:X/M$prefix [from X:X::X:X/M] \
+DEFPY_YANG(
+ ipv6_route_blackhole, ipv6_route_blackhole_cmd,
+ "[no] ipv6 route X:X::X:X/M$prefix [from X:X::X:X/M] \
<reject|blackhole>$flag \
[{ \
tag (1-4294967295) \
@@ -786,21 +766,18 @@ DEFPY_YANG(ipv6_route_blackhole,
|label WORD \
|table (1-4294967295) \
}]",
- NO_STR
- IPV6_STR
- "Establish static routes\n"
- "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
- "IPv6 source-dest route\n"
- "IPv6 source prefix\n"
- "Emit an ICMP unreachable when matched\n"
- "Silently discard pkts when matched\n"
- "Set tag for this route\n"
- "Tag value\n"
- "Distance value for this prefix\n"
- VRF_CMD_HELP_STR
- MPLS_LABEL_HELPSTR
- "Table to configure\n"
- "The table number to configure\n")
+ NO_STR IPV6_STR
+ "Establish static routes\n"
+ "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
+ "IPv6 source-dest route\n"
+ "IPv6 source prefix\n"
+ "Emit an ICMP unreachable when matched\n"
+ "Silently discard pkts when matched\n"
+ "Set tag for this route\n"
+ "Tag value\n"
+ "Distance value for this prefix\n" VRF_CMD_HELP_STR MPLS_LABEL_HELPSTR
+ "Table to configure\n"
+ "The table number to configure\n")
{
if (table_str && vrf && !vrf_is_backend_netns()) {
vty_out(vty,
@@ -813,9 +790,8 @@ DEFPY_YANG(ipv6_route_blackhole,
distance_str, vrf, label, table_str);
}
-DEFPY_YANG(ipv6_route_blackhole_vrf,
- ipv6_route_blackhole_vrf_cmd,
- "[no] ipv6 route X:X::X:X/M$prefix [from X:X::X:X/M] \
+DEFPY_YANG(ipv6_route_blackhole_vrf, ipv6_route_blackhole_vrf_cmd,
+ "[no] ipv6 route X:X::X:X/M$prefix [from X:X::X:X/M] \
<reject|blackhole>$flag \
[{ \
tag (1-4294967295) \
@@ -823,20 +799,18 @@ DEFPY_YANG(ipv6_route_blackhole_vrf,
|label WORD \
|table (1-4294967295) \
}]",
- NO_STR
- IPV6_STR
- "Establish static routes\n"
- "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
- "IPv6 source-dest route\n"
- "IPv6 source prefix\n"
- "Emit an ICMP unreachable when matched\n"
- "Silently discard pkts when matched\n"
- "Set tag for this route\n"
- "Tag value\n"
- "Distance value for this prefix\n"
- MPLS_LABEL_HELPSTR
- "Table to configure\n"
- "The table number to configure\n")
+ NO_STR IPV6_STR
+ "Establish static routes\n"
+ "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
+ "IPv6 source-dest route\n"
+ "IPv6 source prefix\n"
+ "Emit an ICMP unreachable when matched\n"
+ "Silently discard pkts when matched\n"
+ "Set tag for this route\n"
+ "Tag value\n"
+ "Distance value for this prefix\n" MPLS_LABEL_HELPSTR
+ "Table to configure\n"
+ "The table number to configure\n")
{
const struct lyd_node *vrf_dnode;
const char *vrfname;
@@ -862,9 +836,9 @@ DEFPY_YANG(ipv6_route_blackhole_vrf,
false);
}
-DEFPY_YANG(ipv6_route_address_interface,
- ipv6_route_address_interface_cmd,
- "[no] ipv6 route X:X::X:X/M$prefix [from X:X::X:X/M] \
+DEFPY_YANG(
+ ipv6_route_address_interface, ipv6_route_address_interface_cmd,
+ "[no] ipv6 route X:X::X:X/M$prefix [from X:X::X:X/M] \
X:X::X:X$gate \
<INTERFACE|Null0>$ifname \
[{ \
@@ -876,24 +850,20 @@ DEFPY_YANG(ipv6_route_address_interface,
|nexthop-vrf NAME \
|onlink$onlink \
}]",
- NO_STR
- IPV6_STR
- "Establish static routes\n"
- "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
- "IPv6 source-dest route\n"
- "IPv6 source prefix\n"
- "IPv6 gateway address\n"
- "IPv6 gateway interface name\n"
- "Null interface\n"
- "Set tag for this route\n"
- "Tag value\n"
- "Distance value for this prefix\n"
- VRF_CMD_HELP_STR
- MPLS_LABEL_HELPSTR
- "Table to configure\n"
- "The table number to configure\n"
- VRF_CMD_HELP_STR
- "Treat the nexthop as directly attached to the interface\n")
+ NO_STR IPV6_STR
+ "Establish static routes\n"
+ "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
+ "IPv6 source-dest route\n"
+ "IPv6 source prefix\n"
+ "IPv6 gateway address\n"
+ "IPv6 gateway interface name\n"
+ "Null interface\n"
+ "Set tag for this route\n"
+ "Tag value\n"
+ "Distance value for this prefix\n" VRF_CMD_HELP_STR MPLS_LABEL_HELPSTR
+ "Table to configure\n"
+ "The table number to configure\n" VRF_CMD_HELP_STR
+ "Treat the nexthop as directly attached to the interface\n")
{
const char *nh_vrf;
const char *flag = NULL;
@@ -918,8 +888,8 @@ DEFPY_YANG(ipv6_route_address_interface,
}
DEFPY_YANG(ipv6_route_address_interface_vrf,
- ipv6_route_address_interface_vrf_cmd,
- "[no] ipv6 route X:X::X:X/M$prefix [from X:X::X:X/M] \
+ ipv6_route_address_interface_vrf_cmd,
+ "[no] ipv6 route X:X::X:X/M$prefix [from X:X::X:X/M] \
X:X::X:X$gate \
<INTERFACE|Null0>$ifname \
[{ \
@@ -930,23 +900,20 @@ DEFPY_YANG(ipv6_route_address_interface_vrf,
|nexthop-vrf NAME \
|onlink$onlink \
}]",
- NO_STR
- IPV6_STR
- "Establish static routes\n"
- "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
- "IPv6 source-dest route\n"
- "IPv6 source prefix\n"
- "IPv6 gateway address\n"
- "IPv6 gateway interface name\n"
- "Null interface\n"
- "Set tag for this route\n"
- "Tag value\n"
- "Distance value for this prefix\n"
- MPLS_LABEL_HELPSTR
- "Table to configure\n"
- "The table number to configure\n"
- VRF_CMD_HELP_STR
- "Treat the nexthop as directly attached to the interface\n")
+ NO_STR IPV6_STR
+ "Establish static routes\n"
+ "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
+ "IPv6 source-dest route\n"
+ "IPv6 source prefix\n"
+ "IPv6 gateway address\n"
+ "IPv6 gateway interface name\n"
+ "Null interface\n"
+ "Set tag for this route\n"
+ "Tag value\n"
+ "Distance value for this prefix\n" MPLS_LABEL_HELPSTR
+ "Table to configure\n"
+ "The table number to configure\n" VRF_CMD_HELP_STR
+ "Treat the nexthop as directly attached to the interface\n")
{
const char *nh_vrf;
const char *flag = NULL;
@@ -976,9 +943,9 @@ DEFPY_YANG(ipv6_route_address_interface_vrf,
table_str, !!onlink);
}
-DEFPY_YANG(ipv6_route,
- ipv6_route_cmd,
- "[no] ipv6 route X:X::X:X/M$prefix [from X:X::X:X/M] \
+DEFPY_YANG(
+ ipv6_route, ipv6_route_cmd,
+ "[no] ipv6 route X:X::X:X/M$prefix [from X:X::X:X/M] \
<X:X::X:X$gate|<INTERFACE|Null0>$ifname> \
[{ \
tag (1-4294967295) \
@@ -988,23 +955,19 @@ DEFPY_YANG(ipv6_route,
|table (1-4294967295) \
|nexthop-vrf NAME \
}]",
- NO_STR
- IPV6_STR
- "Establish static routes\n"
- "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
- "IPv6 source-dest route\n"
- "IPv6 source prefix\n"
- "IPv6 gateway address\n"
- "IPv6 gateway interface name\n"
- "Null interface\n"
- "Set tag for this route\n"
- "Tag value\n"
- "Distance value for this prefix\n"
- VRF_CMD_HELP_STR
- MPLS_LABEL_HELPSTR
- "Table to configure\n"
- "The table number to configure\n"
- VRF_CMD_HELP_STR)
+ NO_STR IPV6_STR
+ "Establish static routes\n"
+ "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
+ "IPv6 source-dest route\n"
+ "IPv6 source prefix\n"
+ "IPv6 gateway address\n"
+ "IPv6 gateway interface name\n"
+ "Null interface\n"
+ "Set tag for this route\n"
+ "Tag value\n"
+ "Distance value for this prefix\n" VRF_CMD_HELP_STR MPLS_LABEL_HELPSTR
+ "Table to configure\n"
+ "The table number to configure\n" VRF_CMD_HELP_STR)
{
const char *nh_vrf;
const char *flag = NULL;
@@ -1027,9 +990,8 @@ DEFPY_YANG(ipv6_route,
false);
}
-DEFPY_YANG(ipv6_route_vrf,
- ipv6_route_vrf_cmd,
- "[no] ipv6 route X:X::X:X/M$prefix [from X:X::X:X/M] \
+DEFPY_YANG(ipv6_route_vrf, ipv6_route_vrf_cmd,
+ "[no] ipv6 route X:X::X:X/M$prefix [from X:X::X:X/M] \
<X:X::X:X$gate|<INTERFACE|Null0>$ifname> \
[{ \
tag (1-4294967295) \
@@ -1038,22 +1000,19 @@ DEFPY_YANG(ipv6_route_vrf,
|table (1-4294967295) \
|nexthop-vrf NAME \
}]",
- NO_STR
- IPV6_STR
- "Establish static routes\n"
- "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
- "IPv6 source-dest route\n"
- "IPv6 source prefix\n"
- "IPv6 gateway address\n"
- "IPv6 gateway interface name\n"
- "Null interface\n"
- "Set tag for this route\n"
- "Tag value\n"
- "Distance value for this prefix\n"
- MPLS_LABEL_HELPSTR
- "Table to configure\n"
- "The table number to configure\n"
- VRF_CMD_HELP_STR)
+ NO_STR IPV6_STR
+ "Establish static routes\n"
+ "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
+ "IPv6 source-dest route\n"
+ "IPv6 source prefix\n"
+ "IPv6 gateway address\n"
+ "IPv6 gateway interface name\n"
+ "Null interface\n"
+ "Set tag for this route\n"
+ "Tag value\n"
+ "Distance value for this prefix\n" MPLS_LABEL_HELPSTR
+ "Table to configure\n"
+ "The table number to configure\n" VRF_CMD_HELP_STR)
{
const char *nh_vrf;
const char *flag = NULL;
@@ -1082,13 +1041,9 @@ DEFPY_YANG(ipv6_route_vrf,
ifname, flag, tag_str, distance_str, label,
table_str, false);
}
-DEFPY_YANG(debug_staticd,
- debug_staticd_cmd,
- "[no] debug static [{events$events}]",
- NO_STR
- DEBUG_STR
- STATICD_STR
- "Debug events\n")
+DEFPY_YANG(debug_staticd, debug_staticd_cmd,
+ "[no] debug static [{events$events}]",
+ NO_STR DEBUG_STR STATICD_STR "Debug events\n")
{
/* If no specific category, change all */
if (strmatch(argv[argc - 1]->text, "static"))
diff --git a/zebra/zebra_routemap.c b/zebra/zebra_routemap.c
index 8155f9acf..8dad7d15a 100644
--- a/zebra/zebra_routemap.c
+++ b/zebra/zebra_routemap.c
@@ -351,14 +351,12 @@ static int ip_nht_rm_del(struct zebra_vrf *zvrf, const char *rmap, int rtype,
return CMD_SUCCESS;
}
-DEFPY_YANG(
- match_ip_address_prefix_len, match_ip_address_prefix_len_cmd,
- "match ip address prefix-len (0-32)$length",
- MATCH_STR
- IP_STR
- "Match prefix length of IP address\n"
- "Match prefix length of IP address\n"
- "Prefix length\n")
+DEFPY_YANG(match_ip_address_prefix_len, match_ip_address_prefix_len_cmd,
+ "match ip address prefix-len (0-32)$length",
+ MATCH_STR IP_STR
+ "Match prefix length of IP address\n"
+ "Match prefix length of IP address\n"
+ "Prefix length\n")
{
const char *xpath = "./match-condition[condition='ipv4-prefix-length']";
char xpath_value[XPATH_MAXLEN];
@@ -371,15 +369,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ip_address_prefix_len, no_match_ip_address_prefix_len_cmd,
- "no match ip address prefix-len [(0-32)]",
- NO_STR
- MATCH_STR
- IP_STR
- "Match prefix length of IP address\n"
- "Match prefix length of IP address\n"
- "Prefix length\n")
+DEFPY_YANG(no_match_ip_address_prefix_len, no_match_ip_address_prefix_len_cmd,
+ "no match ip address prefix-len [(0-32)]",
+ NO_STR MATCH_STR IP_STR
+ "Match prefix length of IP address\n"
+ "Match prefix length of IP address\n"
+ "Prefix length\n")
{
const char *xpath = "./match-condition[condition='ipv4-prefix-length']";
@@ -388,14 +383,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_ipv6_address_prefix_len, match_ipv6_address_prefix_len_cmd,
- "match ipv6 address prefix-len (0-128)$length",
- MATCH_STR
- IPV6_STR
- "Match prefix length of IPv6 address\n"
- "Match prefix length of IPv6 address\n"
- "Prefix length\n")
+DEFPY_YANG(match_ipv6_address_prefix_len, match_ipv6_address_prefix_len_cmd,
+ "match ipv6 address prefix-len (0-128)$length",
+ MATCH_STR IPV6_STR
+ "Match prefix length of IPv6 address\n"
+ "Match prefix length of IPv6 address\n"
+ "Prefix length\n")
{
const char *xpath = "./match-condition[condition='ipv6-prefix-length']";
char xpath_value[XPATH_MAXLEN];
@@ -408,15 +401,13 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ipv6_address_prefix_len, no_match_ipv6_address_prefix_len_cmd,
- "no match ipv6 address prefix-len [(0-128)]",
- NO_STR
- MATCH_STR
- IPV6_STR
- "Match prefix length of IPv6 address\n"
- "Match prefix length of IPv6 address\n"
- "Prefix length\n")
+DEFPY_YANG(no_match_ipv6_address_prefix_len,
+ no_match_ipv6_address_prefix_len_cmd,
+ "no match ipv6 address prefix-len [(0-128)]",
+ NO_STR MATCH_STR IPV6_STR
+ "Match prefix length of IPv6 address\n"
+ "Match prefix length of IPv6 address\n"
+ "Prefix length\n")
{
const char *xpath = "./match-condition[condition='ipv6-prefix-length']";
@@ -425,14 +416,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_ip_nexthop_prefix_len, match_ip_nexthop_prefix_len_cmd,
- "match ip next-hop prefix-len (0-32)$length",
- MATCH_STR
- IP_STR
- "Match prefixlen of nexthop IP address\n"
- "Match prefixlen of given nexthop\n"
- "Prefix length\n")
+DEFPY_YANG(match_ip_nexthop_prefix_len, match_ip_nexthop_prefix_len_cmd,
+ "match ip next-hop prefix-len (0-32)$length",
+ MATCH_STR IP_STR
+ "Match prefixlen of nexthop IP address\n"
+ "Match prefixlen of given nexthop\n"
+ "Prefix length\n")
{
const char *xpath =
"./match-condition[condition='ipv4-next-hop-prefix-length']";
@@ -446,15 +435,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ip_nexthop_prefix_len, no_match_ip_nexthop_prefix_len_cmd,
- "no match ip next-hop prefix-len [(0-32)]",
- NO_STR
- MATCH_STR
- IP_STR
- "Match prefixlen of nexthop IP address\n"
- "Match prefix length of nexthop\n"
- "Prefix length\n")
+DEFPY_YANG(no_match_ip_nexthop_prefix_len, no_match_ip_nexthop_prefix_len_cmd,
+ "no match ip next-hop prefix-len [(0-32)]",
+ NO_STR MATCH_STR IP_STR
+ "Match prefixlen of nexthop IP address\n"
+ "Match prefix length of nexthop\n"
+ "Prefix length\n")
{
const char *xpath =
"./match-condition[condition='ipv4-next-hop-prefix-length']";
@@ -468,8 +454,7 @@ DEFPY_YANG(
match_source_protocol, match_source_protocol_cmd,
"match source-protocol " FRR_REDIST_STR_ZEBRA "$proto",
MATCH_STR
- "Match protocol via which the route was learnt\n"
- FRR_REDIST_HELP_STR_ZEBRA)
+ "Match protocol via which the route was learnt\n" FRR_REDIST_HELP_STR_ZEBRA)
{
const char *xpath = "./match-condition[condition='source-protocol']";
char xpath_value[XPATH_MAXLEN];
@@ -485,10 +470,8 @@ DEFPY_YANG(
DEFPY_YANG(
no_match_source_protocol, no_match_source_protocol_cmd,
"no match source-protocol [" FRR_REDIST_STR_ZEBRA "]",
- NO_STR
- MATCH_STR
- "Match protocol via which the route was learnt\n"
- FRR_REDIST_HELP_STR_ZEBRA)
+ NO_STR MATCH_STR
+ "Match protocol via which the route was learnt\n" FRR_REDIST_HELP_STR_ZEBRA)
{
const char *xpath = "./match-condition[condition='source-protocol']";
@@ -497,12 +480,11 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_source_instance, match_source_instance_cmd,
- "match source-instance (0-255)$instance",
- MATCH_STR
- "Match the protocol's instance number\n"
- "The instance number\n")
+DEFPY_YANG(match_source_instance, match_source_instance_cmd,
+ "match source-instance (0-255)$instance",
+ MATCH_STR
+ "Match the protocol's instance number\n"
+ "The instance number\n")
{
const char *xpath = "./match-condition[condition='source-instance']";
char xpath_value[XPATH_MAXLEN];
@@ -515,12 +497,11 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_source_instance, no_match_source_instance_cmd,
- "no match source-instance [(0-255)]",
- NO_STR MATCH_STR
- "Match the protocol's instance number\n"
- "The instance number\n")
+DEFPY_YANG(no_match_source_instance, no_match_source_instance_cmd,
+ "no match source-instance [(0-255)]",
+ NO_STR MATCH_STR
+ "Match the protocol's instance number\n"
+ "The instance number\n")
{
const char *xpath = "./match-condition[condition='source-instance']";
@@ -531,13 +512,11 @@ DEFPY_YANG(
/* set functions */
-DEFPY_YANG(
- set_src, set_src_cmd,
- "set src <A.B.C.D$addrv4|X:X::X:X$addrv6>",
- SET_STR
- "src address for route\n"
- "IPv4 src address\n"
- "IPv6 src address\n")
+DEFPY_YANG(set_src, set_src_cmd, "set src <A.B.C.D$addrv4|X:X::X:X$addrv6>",
+ SET_STR
+ "src address for route\n"
+ "IPv4 src address\n"
+ "IPv6 src address\n")
{
const char *xpath = "./set-action[action='source']";
char xpath_value[XPATH_MAXLEN];
@@ -558,14 +537,11 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_set_src, no_set_src_cmd,
- "no set src [<A.B.C.D|X:X::X:X>]",
- NO_STR
- SET_STR
- "Source address for route\n"
- "IPv4 address\n"
- "IPv6 address\n")
+DEFPY_YANG(no_set_src, no_set_src_cmd, "no set src [<A.B.C.D|X:X::X:X>]",
+ NO_STR SET_STR
+ "Source address for route\n"
+ "IPv4 address\n"
+ "IPv6 address\n")
{
const char *xpath = "./set-action[action='source']";
@@ -605,15 +581,14 @@ DEFUN (no_zebra_route_map_timer,
return (CMD_SUCCESS);
}
-DEFPY_YANG (ip_protocol,
- ip_protocol_cmd,
- "ip protocol " FRR_IP_PROTOCOL_MAP_STR_ZEBRA
- " $proto route-map ROUTE-MAP$rmap",
- IP_STR
- "Filter routing info exchanged between zebra and protocol\n"
- FRR_IP_PROTOCOL_MAP_HELP_STR_ZEBRA
- "Specify route-map\n"
- "Route map name\n")
+DEFPY_YANG(
+ ip_protocol, ip_protocol_cmd,
+ "ip protocol " FRR_IP_PROTOCOL_MAP_STR_ZEBRA
+ " $proto route-map ROUTE-MAP$rmap",
+ IP_STR
+ "Filter routing info exchanged between zebra and protocol\n" FRR_IP_PROTOCOL_MAP_HELP_STR_ZEBRA
+ "Specify route-map\n"
+ "Route map name\n")
{
int ret, rtype;
@@ -639,16 +614,14 @@ DEFPY_YANG (ip_protocol,
return ret;
}
-DEFPY_YANG (no_ip_protocol,
- no_ip_protocol_cmd,
- "no ip protocol " FRR_IP_PROTOCOL_MAP_STR_ZEBRA
- " $proto [route-map ROUTE-MAP$rmap]",
- NO_STR
- IP_STR
- "Stop filtering routing info between zebra and protocol\n"
- FRR_IP_PROTOCOL_MAP_HELP_STR_ZEBRA
- "Specify route-map\n"
- "Route map name\n")
+DEFPY_YANG(
+ no_ip_protocol, no_ip_protocol_cmd,
+ "no ip protocol " FRR_IP_PROTOCOL_MAP_STR_ZEBRA
+ " $proto [route-map ROUTE-MAP$rmap]",
+ NO_STR IP_STR
+ "Stop filtering routing info between zebra and protocol\n" FRR_IP_PROTOCOL_MAP_HELP_STR_ZEBRA
+ "Specify route-map\n"
+ "Route map name\n")
{
int ret, rtype;
@@ -673,28 +646,24 @@ DEFPY_YANG (no_ip_protocol,
return ret;
}
-DEFPY_YANG (show_ip_protocol,
- show_ip_protocol_cmd,
- "show ip protocol [vrf <NAME$vrf_name|all$vrf_all>]",
- SHOW_STR
- IP_STR
- "IP protocol filtering status\n"
- VRF_FULL_CMD_HELP_STR)
+DEFPY_YANG(show_ip_protocol, show_ip_protocol_cmd,
+ "show ip protocol [vrf <NAME$vrf_name|all$vrf_all>]",
+ SHOW_STR IP_STR
+ "IP protocol filtering status\n" VRF_FULL_CMD_HELP_STR)
{
int ret = show_proto_rm(vty, AFI_IP, vrf_all, vrf_name);
return ret;
}
-DEFPY_YANG (ipv6_protocol,
- ipv6_protocol_cmd,
- "ipv6 protocol " FRR_IP6_PROTOCOL_MAP_STR_ZEBRA
- " $proto route-map ROUTE-MAP$rmap",
- IP6_STR
- "Filter IPv6 routing info exchanged between zebra and protocol\n"
- FRR_IP6_PROTOCOL_MAP_HELP_STR_ZEBRA
- "Specify route-map\n"
- "Route map name\n")
+DEFPY_YANG(
+ ipv6_protocol, ipv6_protocol_cmd,
+ "ipv6 protocol " FRR_IP6_PROTOCOL_MAP_STR_ZEBRA
+ " $proto route-map ROUTE-MAP$rmap",
+ IP6_STR
+ "Filter IPv6 routing info exchanged between zebra and protocol\n" FRR_IP6_PROTOCOL_MAP_HELP_STR_ZEBRA
+ "Specify route-map\n"
+ "Route map name\n")
{
int ret, rtype;
@@ -720,16 +689,14 @@ DEFPY_YANG (ipv6_protocol,
return ret;
}
-DEFPY_YANG (no_ipv6_protocol,
- no_ipv6_protocol_cmd,
- "no ipv6 protocol " FRR_IP6_PROTOCOL_MAP_STR_ZEBRA
- " $proto [route-map ROUTE-MAP$rmap]",
- NO_STR
- IP6_STR
- "Stop filtering IPv6 routing info between zebra and protocol\n"
- FRR_IP6_PROTOCOL_MAP_HELP_STR_ZEBRA
- "Specify route-map\n"
- "Route map name\n")
+DEFPY_YANG(
+ no_ipv6_protocol, no_ipv6_protocol_cmd,
+ "no ipv6 protocol " FRR_IP6_PROTOCOL_MAP_STR_ZEBRA
+ " $proto [route-map ROUTE-MAP$rmap]",
+ NO_STR IP6_STR
+ "Stop filtering IPv6 routing info between zebra and protocol\n" FRR_IP6_PROTOCOL_MAP_HELP_STR_ZEBRA
+ "Specify route-map\n"
+ "Route map name\n")
{
int ret, rtype;
@@ -754,28 +721,24 @@ DEFPY_YANG (no_ipv6_protocol,
return ret;
}
-DEFPY_YANG (show_ipv6_protocol,
- show_ipv6_protocol_cmd,
- "show ipv6 protocol [vrf <NAME$vrf_name|all$vrf_all>]",
- SHOW_STR
- IP6_STR
- "IPv6 protocol filtering status\n"
- VRF_FULL_CMD_HELP_STR)
+DEFPY_YANG(show_ipv6_protocol, show_ipv6_protocol_cmd,
+ "show ipv6 protocol [vrf <NAME$vrf_name|all$vrf_all>]",
+ SHOW_STR IP6_STR
+ "IPv6 protocol filtering status\n" VRF_FULL_CMD_HELP_STR)
{
int ret = show_proto_rm(vty, AFI_IP6, vrf_all, vrf_name);
return ret;
}
-DEFPY_YANG (ip_protocol_nht_rmap,
- ip_protocol_nht_rmap_cmd,
- "ip nht " FRR_IP_PROTOCOL_MAP_STR_ZEBRA
- " $proto route-map ROUTE-MAP$rmap",
- IP_STR
- "Filter Next Hop tracking route resolution\n"
- FRR_IP_PROTOCOL_MAP_HELP_STR_ZEBRA
- "Specify route map\n"
- "Route map name\n")
+DEFPY_YANG(
+ ip_protocol_nht_rmap, ip_protocol_nht_rmap_cmd,
+ "ip nht " FRR_IP_PROTOCOL_MAP_STR_ZEBRA
+ " $proto route-map ROUTE-MAP$rmap",
+ IP_STR
+ "Filter Next Hop tracking route resolution\n" FRR_IP_PROTOCOL_MAP_HELP_STR_ZEBRA
+ "Specify route map\n"
+ "Route map name\n")
{
int ret, rtype;
@@ -802,16 +765,14 @@ DEFPY_YANG (ip_protocol_nht_rmap,
return ret;
}
-DEFPY_YANG (no_ip_protocol_nht_rmap,
- no_ip_protocol_nht_rmap_cmd,
- "no ip nht " FRR_IP_PROTOCOL_MAP_STR_ZEBRA
- " $proto route-map [ROUTE-MAP$rmap]",
- NO_STR
- IP_STR
- "Filter Next Hop tracking route resolution\n"
- FRR_IP_PROTOCOL_MAP_HELP_STR_ZEBRA
- "Specify route map\n"
- "Route map name\n")
+DEFPY_YANG(
+ no_ip_protocol_nht_rmap, no_ip_protocol_nht_rmap_cmd,
+ "no ip nht " FRR_IP_PROTOCOL_MAP_STR_ZEBRA
+ " $proto route-map [ROUTE-MAP$rmap]",
+ NO_STR IP_STR
+ "Filter Next Hop tracking route resolution\n" FRR_IP_PROTOCOL_MAP_HELP_STR_ZEBRA
+ "Specify route map\n"
+ "Route map name\n")
{
int ret, rtype;
@@ -836,29 +797,25 @@ DEFPY_YANG (no_ip_protocol_nht_rmap,
return ret;
}
-DEFPY_YANG (show_ip_protocol_nht,
- show_ip_protocol_nht_cmd,
- "show ip nht route-map [vrf <NAME$vrf_name|all$vrf_all>]",
- SHOW_STR
- IP_STR
- "IP nexthop tracking table\n"
- "IP Next Hop tracking filtering status\n"
- VRF_FULL_CMD_HELP_STR)
+DEFPY_YANG(show_ip_protocol_nht, show_ip_protocol_nht_cmd,
+ "show ip nht route-map [vrf <NAME$vrf_name|all$vrf_all>]",
+ SHOW_STR IP_STR
+ "IP nexthop tracking table\n"
+ "IP Next Hop tracking filtering status\n" VRF_FULL_CMD_HELP_STR)
{
int ret = show_nht_rm(vty, AFI_IP, vrf_all, vrf_name);
return ret;
}
-DEFPY_YANG (ipv6_protocol_nht_rmap,
- ipv6_protocol_nht_rmap_cmd,
- "ipv6 nht " FRR_IP6_PROTOCOL_MAP_STR_ZEBRA
- " $proto route-map ROUTE-MAP$rmap",
- IP6_STR
- "Filter Next Hop tracking route resolution\n"
- FRR_IP6_PROTOCOL_MAP_HELP_STR_ZEBRA
- "Specify route map\n"
- "Route map name\n")
+DEFPY_YANG(
+ ipv6_protocol_nht_rmap, ipv6_protocol_nht_rmap_cmd,
+ "ipv6 nht " FRR_IP6_PROTOCOL_MAP_STR_ZEBRA
+ " $proto route-map ROUTE-MAP$rmap",
+ IP6_STR
+ "Filter Next Hop tracking route resolution\n" FRR_IP6_PROTOCOL_MAP_HELP_STR_ZEBRA
+ "Specify route map\n"
+ "Route map name\n")
{
int ret, rtype;
@@ -884,16 +841,14 @@ DEFPY_YANG (ipv6_protocol_nht_rmap,
return ret;
}
-DEFPY_YANG (no_ipv6_protocol_nht_rmap,
- no_ipv6_protocol_nht_rmap_cmd,
- "no ipv6 nht " FRR_IP6_PROTOCOL_MAP_STR_ZEBRA
- " $proto [route-map ROUTE-MAP$rmap]",
- NO_STR
- IP6_STR
- "Filter Next Hop tracking route resolution\n"
- FRR_IP6_PROTOCOL_MAP_HELP_STR_ZEBRA
- "Specify route map\n"
- "Route map name\n")
+DEFPY_YANG(
+ no_ipv6_protocol_nht_rmap, no_ipv6_protocol_nht_rmap_cmd,
+ "no ipv6 nht " FRR_IP6_PROTOCOL_MAP_STR_ZEBRA
+ " $proto [route-map ROUTE-MAP$rmap]",
+ NO_STR IP6_STR
+ "Filter Next Hop tracking route resolution\n" FRR_IP6_PROTOCOL_MAP_HELP_STR_ZEBRA
+ "Specify route map\n"
+ "Route map name\n")
{
int ret, rtype;
@@ -918,14 +873,11 @@ DEFPY_YANG (no_ipv6_protocol_nht_rmap,
return ret;
}
-DEFPY_YANG (show_ipv6_protocol_nht,
- show_ipv6_protocol_nht_cmd,
- "show ipv6 nht route-map [vrf <NAME$vrf_name|all$vrf_all>]",
- SHOW_STR
- IP6_STR
- "Next Hop filtering status\n"
- "Route-map\n"
- VRF_FULL_CMD_HELP_STR)
+DEFPY_YANG(show_ipv6_protocol_nht, show_ipv6_protocol_nht_cmd,
+ "show ipv6 nht route-map [vrf <NAME$vrf_name|all$vrf_all>]",
+ SHOW_STR IP6_STR
+ "Next Hop filtering status\n"
+ "Route-map\n" VRF_FULL_CMD_HELP_STR)
{
int ret = show_nht_rm(vty, AFI_IP6, vrf_all, vrf_name);
If you are a new contributor to FRR, please see our contributing guidelines.
Outdated results 💚Basic BGPD CI results: SUCCESS, 0 tests failed
For details, please contact louberger |
Continuous Integration Result: FAILEDContinuous Integration Result: FAILEDSee below for issues. This is a comment from an automated CI system. Get source / Pull Request: SuccessfulBuilding Stage: SuccessfulBasic Tests: FailedTopo tests part 0 on Ubuntu 16.04 arm8: Failed (click for details)Topo tests part 0 on Ubuntu 16.04 arm8: No useful log foundTopo tests part 0 on Ubuntu 18.04 arm8: Failed (click for details)Topo tests part 0 on Ubuntu 18.04 arm8: No useful log foundSuccessful on other platforms/tests
Warnings Generated during build:Checkout code: Successful with additional warningsTopo tests part 0 on Ubuntu 16.04 arm8: Failed (click for details)Topo tests part 0 on Ubuntu 16.04 arm8: No useful log foundTopo tests part 0 on Ubuntu 18.04 arm8: Failed (click for details)Topo tests part 0 on Ubuntu 18.04 arm8: No useful log found
Warnings Generated during build:Debian 10 amd64 build: Successful with additional warningsDebian Package lintian failed for Debian 10 amd64 build:
|
DEFPY_YANG will allow the CLI to identify which commands are YANG-modeled or not before executing them. This is going to be useful for the upcoming configuration back-off timer work that needs to commit pending configuration changes before executing a command that isn't YANG-modeled. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
When using the default CLI mode, the northbound layer needs to create a separate transaction to process each YANG-modeled command since they are supposed to be applied immediately (there's no candidate configuration nor the "commit" command like in the transactional CLI). The problem is that configuration transactions have an overhead associated to them, in big part because of the use of some heavy libyang functions like `lyd_validate()` and `lyd_diff()`. As of now this overhead is substantial and doesn't scale well when large numbers of transactions need to be performed in sequence. As an example, loading 50k prefix-lists using a single transaction takes about 2 seconds on a modern CPU. Loading the same 50k prefix-lists using 50k transactions can take more than an hour to complete (which is unacceptable by any standard). To fix this problem, some heavy optimization work needs to be done on libyang and on the FRR northbound itself too (e.g. perform partial configuration diffs whenever possible). This, however, should be a long term effort since these optimizations shouldn't be trivial to implement and we're far from having the performance numbers we need. In the meanwhile, this commit introduces a simple but efficient workaround to alleviate the issue. In short, a new back-off timer was introduced in the CLI to monitor and detect when too many YANG-modeled commands are being received at the same time. When a certain threshold is reached (100 YANG-modeled commands within one second), the northbound starts to group all subsequent commands into a single large transaction, which allows them to be processed much faster (e.g. seconds and not hours). It's essentially a protection mechanism that creates dynamically-sized transactions when necessary to prevent performance issues from happening. This mechanism is enabled both when parsing configuration files and when reading commands from a terminal. The downside of this optimization is that, if several YANG-modeled commands are grouped into the same transaction and at least one of them fails, the whole transaction is rejected. This is undesirable since users don't expect transactional behavior when that's not enabled explicitly. To minimize this issue, the CLI will log all commands that were rejected whenever that happens, to make the user aware of what happened and have enough information to fix the problem. Commands that fail due to parsing errors or CLI-level validations in general are rejected separately. Again, this proposed workaround is intended to be temporary. The goal is to provided a quick fix to issues like FRRouting#6658 while we work on better long-term solutions. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
3cdad3d
to
b855e95
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your contribution to FRR!
Click for style suggestions
To apply these suggestions:
curl -s https://gist.githubusercontent.com/polychaeta/7298d8123ac9b6f5de6826e2380cdceb/raw/9e48ed5538b3edcc28721b992e74df42f1e3d4f5/cr_6727_1596478692.diff | git apply
diff --git a/bfdd/bfdd_cli.c b/bfdd/bfdd_cli.c
index 0dd021d47..5d372ba82 100644
--- a/bfdd/bfdd_cli.c
+++ b/bfdd/bfdd_cli.c
@@ -55,10 +55,7 @@
/*
* Functions.
*/
-DEFPY_YANG_NOSH(
- bfd_enter, bfd_enter_cmd,
- "bfd",
- "Configure BFD peers\n")
+DEFPY_YANG_NOSH(bfd_enter, bfd_enter_cmd, "bfd", "Configure BFD peers\n")
{
int ret;
@@ -70,11 +67,8 @@ DEFPY_YANG_NOSH(
return ret;
}
-DEFUN_YANG(
- bfd_config_reset, bfd_config_reset_cmd,
- "no bfd",
- NO_STR
- "Configure BFD peers\n")
+DEFUN_YANG(bfd_config_reset, bfd_config_reset_cmd, "no bfd",
+ NO_STR "Configure BFD peers\n")
{
nb_cli_enqueue_change(vty, "/frr-bfdd:bfdd/bfd", NB_OP_DESTROY, NULL);
return nb_cli_apply_changes(vty, NULL);
@@ -96,17 +90,9 @@ void bfd_cli_show_header_end(struct vty *vty,
DEFPY_YANG_NOSH(
bfd_peer_enter, bfd_peer_enter_cmd,
"peer <A.B.C.D|X:X::X:X> [{multihop$multihop|local-address <A.B.C.D|X:X::X:X>|interface IFNAME$ifname|vrf NAME}]",
- PEER_STR
- PEER_IPV4_STR
- PEER_IPV6_STR
- MHOP_STR
- LOCAL_STR
- LOCAL_IPV4_STR
- LOCAL_IPV6_STR
- INTERFACE_STR
- LOCAL_INTF_STR
- VRF_STR
- VRF_NAME_STR)
+ PEER_STR PEER_IPV4_STR PEER_IPV6_STR MHOP_STR LOCAL_STR LOCAL_IPV4_STR
+ LOCAL_IPV6_STR INTERFACE_STR LOCAL_INTF_STR VRF_STR
+ VRF_NAME_STR)
{
int ret, slen;
char source_str[INET6_ADDRSTRLEN];
@@ -153,18 +139,9 @@ DEFPY_YANG_NOSH(
DEFPY_YANG(
bfd_no_peer, bfd_no_peer_cmd,
"no peer <A.B.C.D|X:X::X:X> [{multihop$multihop|local-address <A.B.C.D|X:X::X:X>|interface IFNAME$ifname|vrf NAME}]",
- NO_STR
- PEER_STR
- PEER_IPV4_STR
- PEER_IPV6_STR
- MHOP_STR
- LOCAL_STR
- LOCAL_IPV4_STR
- LOCAL_IPV6_STR
- INTERFACE_STR
- LOCAL_INTF_STR
- VRF_STR
- VRF_NAME_STR)
+ NO_STR PEER_STR PEER_IPV4_STR PEER_IPV6_STR MHOP_STR LOCAL_STR
+ LOCAL_IPV4_STR LOCAL_IPV6_STR INTERFACE_STR LOCAL_INTF_STR
+ VRF_STR VRF_NAME_STR)
{
int slen;
char xpath[XPATH_MAXLEN];
@@ -244,11 +221,8 @@ void bfd_cli_show_peer_end(struct vty *vty,
vty_out(vty, " !\n");
}
-DEFPY_YANG(
- bfd_peer_shutdown, bfd_peer_shutdown_cmd,
- "[no] shutdown",
- NO_STR
- "Disable BFD peer\n")
+DEFPY_YANG(bfd_peer_shutdown, bfd_peer_shutdown_cmd, "[no] shutdown",
+ NO_STR "Disable BFD peer\n")
{
nb_cli_enqueue_change(vty, "./administrative-down", NB_OP_MODIFY,
no ? "false" : "true");
@@ -265,11 +239,10 @@ void bfd_cli_show_shutdown(struct vty *vty, struct lyd_node *dnode,
yang_dnode_get_bool(dnode, NULL) ? "" : "no ");
}
-DEFPY_YANG(
- bfd_peer_mult, bfd_peer_mult_cmd,
- "detect-multiplier (2-255)$multiplier",
- "Configure peer detection multiplier\n"
- "Configure peer detection multiplier value\n")
+DEFPY_YANG(bfd_peer_mult, bfd_peer_mult_cmd,
+ "detect-multiplier (2-255)$multiplier",
+ "Configure peer detection multiplier\n"
+ "Configure peer detection multiplier value\n")
{
nb_cli_enqueue_change(vty, "./detection-multiplier", NB_OP_MODIFY,
multiplier_str);
@@ -287,11 +260,9 @@ void bfd_cli_show_mult(struct vty *vty, struct lyd_node *dnode,
yang_dnode_get_string(dnode, NULL));
}
-DEFPY_YANG(
- bfd_peer_rx, bfd_peer_rx_cmd,
- "receive-interval (10-60000)$interval",
- "Configure peer receive interval\n"
- "Configure peer receive interval value in milliseconds\n")
+DEFPY_YANG(bfd_peer_rx, bfd_peer_rx_cmd, "receive-interval (10-60000)$interval",
+ "Configure peer receive interval\n"
+ "Configure peer receive interval value in milliseconds\n")
{
char value[32];
@@ -316,11 +287,10 @@ void bfd_cli_show_rx(struct vty *vty, struct lyd_node *dnode,
}
}
-DEFPY_YANG(
- bfd_peer_tx, bfd_peer_tx_cmd,
- "transmit-interval (10-60000)$interval",
- "Configure peer transmit interval\n"
- "Configure peer transmit interval value in milliseconds\n")
+DEFPY_YANG(bfd_peer_tx, bfd_peer_tx_cmd,
+ "transmit-interval (10-60000)$interval",
+ "Configure peer transmit interval\n"
+ "Configure peer transmit interval value in milliseconds\n")
{
char value[32];
@@ -345,11 +315,8 @@ void bfd_cli_show_tx(struct vty *vty, struct lyd_node *dnode,
}
}
-DEFPY_YANG(
- bfd_peer_echo, bfd_peer_echo_cmd,
- "[no] echo-mode",
- NO_STR
- "Configure echo mode\n")
+DEFPY_YANG(bfd_peer_echo, bfd_peer_echo_cmd, "[no] echo-mode",
+ NO_STR "Configure echo mode\n")
{
nb_cli_enqueue_change(vty, "./echo-mode", NB_OP_MODIFY,
no ? "false" : "true");
@@ -366,11 +333,10 @@ void bfd_cli_show_echo(struct vty *vty, struct lyd_node *dnode,
yang_dnode_get_bool(dnode, NULL) ? "" : "no ");
}
-DEFPY_YANG(
- bfd_peer_echo_interval, bfd_peer_echo_interval_cmd,
- "echo-interval (10-60000)$interval",
- "Configure peer echo interval\n"
- "Configure peer echo interval value in milliseconds\n")
+DEFPY_YANG(bfd_peer_echo_interval, bfd_peer_echo_interval_cmd,
+ "echo-interval (10-60000)$interval",
+ "Configure peer echo interval\n"
+ "Configure peer echo interval value in milliseconds\n")
{
char value[32];
@@ -398,10 +364,8 @@ void bfd_cli_show_echo_interval(struct vty *vty, struct lyd_node *dnode,
/*
* Profile commands.
*/
-DEFPY_YANG_NOSH(bfd_profile, bfd_profile_cmd,
- "profile WORD$name",
- BFD_PROFILE_STR
- BFD_PROFILE_NAME_STR)
+DEFPY_YANG_NOSH(bfd_profile, bfd_profile_cmd, "profile WORD$name",
+ BFD_PROFILE_STR BFD_PROFILE_NAME_STR)
{
char xpath[XPATH_MAXLEN];
int rv;
@@ -419,11 +383,8 @@ DEFPY_YANG_NOSH(bfd_profile, bfd_profile_cmd,
return CMD_SUCCESS;
}
-DEFPY_YANG(no_bfd_profile, no_bfd_profile_cmd,
- "no profile BFDPROF$name",
- NO_STR
- BFD_PROFILE_STR
- BFD_PROFILE_NAME_STR)
+DEFPY_YANG(no_bfd_profile, no_bfd_profile_cmd, "no profile BFDPROF$name",
+ NO_STR BFD_PROFILE_STR BFD_PROFILE_NAME_STR)
{
char xpath[XPATH_MAXLEN];
@@ -443,40 +404,33 @@ void bfd_cli_show_profile(struct vty *vty, struct lyd_node *dnode,
}
ALIAS_YANG(bfd_peer_mult, bfd_profile_mult_cmd,
- "detect-multiplier (2-255)$multiplier",
- "Configure peer detection multiplier\n"
- "Configure peer detection multiplier value\n")
+ "detect-multiplier (2-255)$multiplier",
+ "Configure peer detection multiplier\n"
+ "Configure peer detection multiplier value\n")
ALIAS_YANG(bfd_peer_tx, bfd_profile_tx_cmd,
- "transmit-interval (10-60000)$interval",
- "Configure peer transmit interval\n"
- "Configure peer transmit interval value in milliseconds\n")
+ "transmit-interval (10-60000)$interval",
+ "Configure peer transmit interval\n"
+ "Configure peer transmit interval value in milliseconds\n")
ALIAS_YANG(bfd_peer_rx, bfd_profile_rx_cmd,
- "receive-interval (10-60000)$interval",
- "Configure peer receive interval\n"
- "Configure peer receive interval value in milliseconds\n")
+ "receive-interval (10-60000)$interval",
+ "Configure peer receive interval\n"
+ "Configure peer receive interval value in milliseconds\n")
-ALIAS_YANG(bfd_peer_shutdown, bfd_profile_shutdown_cmd,
- "[no] shutdown",
- NO_STR
- "Disable BFD peer\n")
+ALIAS_YANG(bfd_peer_shutdown, bfd_profile_shutdown_cmd, "[no] shutdown",
+ NO_STR "Disable BFD peer\n")
-ALIAS_YANG(bfd_peer_echo, bfd_profile_echo_cmd,
- "[no] echo-mode",
- NO_STR
- "Configure echo mode\n")
+ALIAS_YANG(bfd_peer_echo, bfd_profile_echo_cmd, "[no] echo-mode",
+ NO_STR "Configure echo mode\n")
ALIAS_YANG(bfd_peer_echo_interval, bfd_profile_echo_interval_cmd,
- "echo-interval (10-60000)$interval",
- "Configure peer echo interval\n"
- "Configure peer echo interval value in milliseconds\n")
-
-DEFPY_YANG(bfd_peer_profile, bfd_peer_profile_cmd,
- "[no] profile BFDPROF$pname",
- NO_STR
- "Use BFD profile settings\n"
- BFD_PROFILE_NAME_STR)
+ "echo-interval (10-60000)$interval",
+ "Configure peer echo interval\n"
+ "Configure peer echo interval value in milliseconds\n")
+
+DEFPY_YANG(bfd_peer_profile, bfd_peer_profile_cmd, "[no] profile BFDPROF$pname",
+ NO_STR "Use BFD profile settings\n" BFD_PROFILE_NAME_STR)
{
if (no)
nb_cli_enqueue_change(vty, "./profile", NB_OP_DESTROY, NULL);
diff --git a/isisd/isis_cli.c b/isisd/isis_cli.c
index cd75116c5..8710ae423 100644
--- a/isisd/isis_cli.c
+++ b/isisd/isis_cli.c
@@ -47,9 +47,9 @@
* XPath: /frr-isisd:isis/instance
*/
DEFPY_YANG_NOSH(router_isis, router_isis_cmd, "router isis WORD$tag",
- ROUTER_STR
- "ISO IS-IS\n"
- "ISO Routing area tag\n")
+ ROUTER_STR
+ "ISO IS-IS\n"
+ "ISO Routing area tag\n")
{
int ret;
char base_xpath[XPATH_MAXLEN];
@@ -73,9 +73,9 @@ DEFPY_YANG_NOSH(router_isis, router_isis_cmd, "router isis WORD$tag",
}
DEFPY_YANG(no_router_isis, no_router_isis_cmd, "no router isis WORD$tag",
- NO_STR ROUTER_STR
- "ISO IS-IS\n"
- "ISO Routing area tag\n")
+ NO_STR ROUTER_STR
+ "ISO IS-IS\n"
+ "ISO Routing area tag\n")
{
char temp_xpath[XPATH_MAXLEN];
struct listnode *node, *nnode;
@@ -127,10 +127,10 @@ void cli_show_router_isis(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance
*/
DEFPY_YANG(ip_router_isis, ip_router_isis_cmd, "ip router isis WORD$tag",
- "Interface Internet Protocol config commands\n"
- "IP router interface commands\n"
- "IS-IS routing protocol\n"
- "Routing process tag\n")
+ "Interface Internet Protocol config commands\n"
+ "IP router interface commands\n"
+ "IS-IS routing protocol\n"
+ "Routing process tag\n")
{
char temp_xpath[XPATH_MAXLEN];
const char *circ_type;
@@ -197,10 +197,10 @@ DEFPY_YANG(ip_router_isis, ip_router_isis_cmd, "ip router isis WORD$tag",
}
DEFPY_YANG(ip6_router_isis, ip6_router_isis_cmd, "ipv6 router isis WORD$tag",
- "Interface Internet Protocol config commands\n"
- "IP router interface commands\n"
- "IS-IS routing protocol\n"
- "Routing process tag\n")
+ "Interface Internet Protocol config commands\n"
+ "IP router interface commands\n"
+ "IS-IS routing protocol\n"
+ "Routing process tag\n")
{
char temp_xpath[XPATH_MAXLEN];
const char *circ_type;
@@ -267,13 +267,13 @@ DEFPY_YANG(ip6_router_isis, ip6_router_isis_cmd, "ipv6 router isis WORD$tag",
}
DEFPY_YANG(no_ip_router_isis, no_ip_router_isis_cmd,
- "no <ip|ipv6>$ip router isis [WORD]$tag",
- NO_STR
- "Interface Internet Protocol config commands\n"
- "IP router interface commands\n"
- "IP router interface commands\n"
- "IS-IS routing protocol\n"
- "Routing process tag\n")
+ "no <ip|ipv6>$ip router isis [WORD]$tag",
+ NO_STR
+ "Interface Internet Protocol config commands\n"
+ "IP router interface commands\n"
+ "IP router interface commands\n"
+ "IS-IS routing protocol\n"
+ "Routing process tag\n")
{
const struct lyd_node *dnode;
@@ -327,11 +327,8 @@ void cli_show_ip_isis_ipv6(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-interface:lib/interface/frr-isisd:isis/bfd-monitoring
*/
-DEFPY_YANG(isis_bfd,
- isis_bfd_cmd,
- "[no] isis bfd",
- NO_STR PROTO_HELP
- "Enable BFD support\n")
+DEFPY_YANG(isis_bfd, isis_bfd_cmd, "[no] isis bfd",
+ NO_STR PROTO_HELP "Enable BFD support\n")
{
const struct lyd_node *dnode;
@@ -351,13 +348,11 @@ DEFPY_YANG(isis_bfd,
/*
* XPath: /frr-interface:lib/interface/frr-isisd:isis/bfd-monitoring/profile
*/
-DEFPY_YANG(isis_bfd_profile,
- isis_bfd_profile_cmd,
- "[no] isis bfd profile WORD",
- NO_STR PROTO_HELP
- "Enable BFD support\n"
- "Use a pre-configured profile\n"
- "Profile name\n")
+DEFPY_YANG(isis_bfd_profile, isis_bfd_profile_cmd, "[no] isis bfd profile WORD",
+ NO_STR PROTO_HELP
+ "Enable BFD support\n"
+ "Use a pre-configured profile\n"
+ "Profile name\n")
{
const struct lyd_node *dnode;
@@ -395,9 +390,9 @@ void cli_show_ip_isis_bfd_monitoring(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance/area-address
*/
DEFPY_YANG(net, net_cmd, "[no] net WORD",
- "Remove an existing Network Entity Title for this process\n"
- "A Network Entity Title for this process (OSI only)\n"
- "XX.XXXX. ... .XXX.XX Network entity title (NET)\n")
+ "Remove an existing Network Entity Title for this process\n"
+ "A Network Entity Title for this process (OSI only)\n"
+ "XX.XXXX. ... .XXX.XX Network entity title (NET)\n")
{
nb_cli_enqueue_change(vty, "./area-address",
no ? NB_OP_DESTROY : NB_OP_CREATE, net);
@@ -414,11 +409,12 @@ void cli_show_isis_area_address(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/is-type
*/
-DEFPY_YANG(is_type, is_type_cmd, "is-type <level-1|level-1-2|level-2-only>$level",
- "IS Level for this routing process (OSI only)\n"
- "Act as a station router only\n"
- "Act as both a station router and an area router\n"
- "Act as an area router only\n")
+DEFPY_YANG(is_type, is_type_cmd,
+ "is-type <level-1|level-1-2|level-2-only>$level",
+ "IS Level for this routing process (OSI only)\n"
+ "Act as a station router only\n"
+ "Act as both a station router and an area router\n"
+ "Act as an area router only\n")
{
nb_cli_enqueue_change(vty, "./is-type", NB_OP_MODIFY,
strmatch(level, "level-2-only") ? "level-2"
@@ -428,12 +424,12 @@ DEFPY_YANG(is_type, is_type_cmd, "is-type <level-1|level-1-2|level-2-only>$level
}
DEFPY_YANG(no_is_type, no_is_type_cmd,
- "no is-type [<level-1|level-1-2|level-2-only>]",
- NO_STR
- "IS Level for this routing process (OSI only)\n"
- "Act as a station router only\n"
- "Act as both a station router and an area router\n"
- "Act as an area router only\n")
+ "no is-type [<level-1|level-1-2|level-2-only>]",
+ NO_STR
+ "IS Level for this routing process (OSI only)\n"
+ "Act as a station router only\n"
+ "Act as both a station router and an area router\n"
+ "Act as an area router only\n")
{
nb_cli_enqueue_change(vty, "./is-type", NB_OP_MODIFY, NULL);
@@ -462,9 +458,9 @@ void cli_show_isis_is_type(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance/dynamic-hostname
*/
DEFPY_YANG(dynamic_hostname, dynamic_hostname_cmd, "[no] hostname dynamic",
- NO_STR
- "Dynamic hostname for IS-IS\n"
- "Dynamic hostname\n")
+ NO_STR
+ "Dynamic hostname for IS-IS\n"
+ "Dynamic hostname\n")
{
nb_cli_enqueue_change(vty, "./dynamic-hostname", NB_OP_MODIFY,
no ? "false" : "true");
@@ -485,8 +481,8 @@ void cli_show_isis_dynamic_hostname(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance/overload
*/
DEFPY_YANG(set_overload_bit, set_overload_bit_cmd, "[no] set-overload-bit",
- "Reset overload bit to accept transit traffic\n"
- "Set overload bit to avoid any transit traffic\n")
+ "Reset overload bit to accept transit traffic\n"
+ "Set overload bit to avoid any transit traffic\n")
{
nb_cli_enqueue_change(vty, "./overload", NB_OP_MODIFY,
no ? "false" : "true");
@@ -505,9 +501,10 @@ void cli_show_isis_overload(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/attached
*/
-DEFPY_YANG(set_attached_bit, set_attached_bit_cmd, "[no] set-attached-bit",
- "Reset attached bit\n"
- "Set attached bit to identify as L1/L2 router for inter-area traffic\n")
+DEFPY_YANG(
+ set_attached_bit, set_attached_bit_cmd, "[no] set-attached-bit",
+ "Reset attached bit\n"
+ "Set attached bit to identify as L1/L2 router for inter-area traffic\n")
{
nb_cli_enqueue_change(vty, "./attached", NB_OP_MODIFY,
no ? "false" : "true");
@@ -527,11 +524,11 @@ void cli_show_isis_attached(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance/metric-style
*/
DEFPY_YANG(metric_style, metric_style_cmd,
- "metric-style <narrow|transition|wide>$style",
- "Use old-style (ISO 10589) or new-style packet formats\n"
- "Use old style of TLVs with narrow metric\n"
- "Send and accept both styles of TLVs during transition\n"
- "Use new style of TLVs to carry wider metric\n")
+ "metric-style <narrow|transition|wide>$style",
+ "Use old-style (ISO 10589) or new-style packet formats\n"
+ "Use old style of TLVs with narrow metric\n"
+ "Send and accept both styles of TLVs during transition\n"
+ "Use new style of TLVs to carry wider metric\n")
{
nb_cli_enqueue_change(vty, "./metric-style", NB_OP_MODIFY, style);
@@ -539,12 +536,12 @@ DEFPY_YANG(metric_style, metric_style_cmd,
}
DEFPY_YANG(no_metric_style, no_metric_style_cmd,
- "no metric-style [narrow|transition|wide]",
- NO_STR
- "Use old-style (ISO 10589) or new-style packet formats\n"
- "Use old style of TLVs with narrow metric\n"
- "Send and accept both styles of TLVs during transition\n"
- "Use new style of TLVs to carry wider metric\n")
+ "no metric-style [narrow|transition|wide]",
+ NO_STR
+ "Use old-style (ISO 10589) or new-style packet formats\n"
+ "Use old style of TLVs with narrow metric\n"
+ "Send and accept both styles of TLVs during transition\n"
+ "Use new style of TLVs to carry wider metric\n")
{
nb_cli_enqueue_change(vty, "./metric-style", NB_OP_MODIFY, NULL);
@@ -572,16 +569,17 @@ void cli_show_isis_metric_style(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/area-password
*/
-DEFPY_YANG(area_passwd, area_passwd_cmd,
- "area-password <clear|md5>$pwd_type WORD$pwd [authenticate snp <send-only|validate>$snp]",
- "Configure the authentication password for an area\n"
- "Clear-text authentication type\n"
- "MD5 authentication type\n"
- "Level-wide password\n"
- "Authentication\n"
- "SNP PDUs\n"
- "Send but do not check PDUs on receiving\n"
- "Send and check PDUs on receiving\n")
+DEFPY_YANG(
+ area_passwd, area_passwd_cmd,
+ "area-password <clear|md5>$pwd_type WORD$pwd [authenticate snp <send-only|validate>$snp]",
+ "Configure the authentication password for an area\n"
+ "Clear-text authentication type\n"
+ "MD5 authentication type\n"
+ "Level-wide password\n"
+ "Authentication\n"
+ "SNP PDUs\n"
+ "Send but do not check PDUs on receiving\n"
+ "Send and check PDUs on receiving\n")
{
nb_cli_enqueue_change(vty, "./area-password", NB_OP_CREATE, NULL);
nb_cli_enqueue_change(vty, "./area-password/password", NB_OP_MODIFY,
@@ -611,16 +609,17 @@ void cli_show_isis_area_pwd(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/domain-password
*/
-DEFPY_YANG(domain_passwd, domain_passwd_cmd,
- "domain-password <clear|md5>$pwd_type WORD$pwd [authenticate snp <send-only|validate>$snp]",
- "Set the authentication password for a routing domain\n"
- "Clear-text authentication type\n"
- "MD5 authentication type\n"
- "Level-wide password\n"
- "Authentication\n"
- "SNP PDUs\n"
- "Send but do not check PDUs on receiving\n"
- "Send and check PDUs on receiving\n")
+DEFPY_YANG(
+ domain_passwd, domain_passwd_cmd,
+ "domain-password <clear|md5>$pwd_type WORD$pwd [authenticate snp <send-only|validate>$snp]",
+ "Set the authentication password for a routing domain\n"
+ "Clear-text authentication type\n"
+ "MD5 authentication type\n"
+ "Level-wide password\n"
+ "Authentication\n"
+ "SNP PDUs\n"
+ "Send but do not check PDUs on receiving\n"
+ "Send and check PDUs on receiving\n")
{
nb_cli_enqueue_change(vty, "./domain-password", NB_OP_CREATE, NULL);
nb_cli_enqueue_change(vty, "./domain-password/password", NB_OP_MODIFY,
@@ -634,10 +633,10 @@ DEFPY_YANG(domain_passwd, domain_passwd_cmd,
}
DEFPY_YANG(no_area_passwd, no_area_passwd_cmd,
- "no <area-password|domain-password>$cmd",
- NO_STR
- "Configure the authentication password for an area\n"
- "Set the authentication password for a routing domain\n")
+ "no <area-password|domain-password>$cmd",
+ NO_STR
+ "Configure the authentication password for an area\n"
+ "Set the authentication password for a routing domain\n")
{
nb_cli_enqueue_change(vty, ".", NB_OP_DESTROY, NULL);
@@ -663,11 +662,11 @@ void cli_show_isis_domain_pwd(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance/lsp/timers/level-2/generation-interval
*/
DEFPY_YANG(lsp_gen_interval, lsp_gen_interval_cmd,
- "lsp-gen-interval [level-1|level-2]$level (1-120)$val",
- "Minimum interval between regenerating same LSP\n"
- "Set interval for level 1 only\n"
- "Set interval for level 2 only\n"
- "Minimum interval in seconds\n")
+ "lsp-gen-interval [level-1|level-2]$level (1-120)$val",
+ "Minimum interval between regenerating same LSP\n"
+ "Set interval for level 1 only\n"
+ "Set interval for level 2 only\n"
+ "Minimum interval in seconds\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(
@@ -682,12 +681,12 @@ DEFPY_YANG(lsp_gen_interval, lsp_gen_interval_cmd,
}
DEFPY_YANG(no_lsp_gen_interval, no_lsp_gen_interval_cmd,
- "no lsp-gen-interval [level-1|level-2]$level [(1-120)]",
- NO_STR
- "Minimum interval between regenerating same LSP\n"
- "Set interval for level 1 only\n"
- "Set interval for level 2 only\n"
- "Minimum interval in seconds\n")
+ "no lsp-gen-interval [level-1|level-2]$level [(1-120)]",
+ NO_STR
+ "Minimum interval between regenerating same LSP\n"
+ "Set interval for level 1 only\n"
+ "Set interval for level 2 only\n"
+ "Minimum interval in seconds\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(
@@ -706,11 +705,11 @@ DEFPY_YANG(no_lsp_gen_interval, no_lsp_gen_interval_cmd,
* XPath: /frr-isisd:isis/instance/lsp/timers/level-2/refresh-interval
*/
DEFPY_YANG(lsp_refresh_interval, lsp_refresh_interval_cmd,
- "lsp-refresh-interval [level-1|level-2]$level (1-65235)$val",
- "LSP refresh interval\n"
- "LSP refresh interval for Level 1 only\n"
- "LSP refresh interval for Level 2 only\n"
- "LSP refresh interval in seconds\n")
+ "lsp-refresh-interval [level-1|level-2]$level (1-65235)$val",
+ "LSP refresh interval\n"
+ "LSP refresh interval for Level 1 only\n"
+ "LSP refresh interval for Level 2 only\n"
+ "LSP refresh interval in seconds\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty,
@@ -725,12 +724,12 @@ DEFPY_YANG(lsp_refresh_interval, lsp_refresh_interval_cmd,
}
DEFPY_YANG(no_lsp_refresh_interval, no_lsp_refresh_interval_cmd,
- "no lsp-refresh-interval [level-1|level-2]$level [(1-65235)]",
- NO_STR
- "LSP refresh interval\n"
- "LSP refresh interval for Level 1 only\n"
- "LSP refresh interval for Level 2 only\n"
- "LSP refresh interval in seconds\n")
+ "no lsp-refresh-interval [level-1|level-2]$level [(1-65235)]",
+ NO_STR
+ "LSP refresh interval\n"
+ "LSP refresh interval for Level 1 only\n"
+ "LSP refresh interval for Level 2 only\n"
+ "LSP refresh interval in seconds\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty,
@@ -750,11 +749,11 @@ DEFPY_YANG(no_lsp_refresh_interval, no_lsp_refresh_interval_cmd,
*/
DEFPY_YANG(max_lsp_lifetime, max_lsp_lifetime_cmd,
- "max-lsp-lifetime [level-1|level-2]$level (350-65535)$val",
- "Maximum LSP lifetime\n"
- "Maximum LSP lifetime for Level 1 only\n"
- "Maximum LSP lifetime for Level 2 only\n"
- "LSP lifetime in seconds\n")
+ "max-lsp-lifetime [level-1|level-2]$level (350-65535)$val",
+ "Maximum LSP lifetime\n"
+ "Maximum LSP lifetime for Level 1 only\n"
+ "Maximum LSP lifetime for Level 2 only\n"
+ "LSP lifetime in seconds\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty,
@@ -769,12 +768,12 @@ DEFPY_YANG(max_lsp_lifetime, max_lsp_lifetime_cmd,
}
DEFPY_YANG(no_max_lsp_lifetime, no_max_lsp_lifetime_cmd,
- "no max-lsp-lifetime [level-1|level-2]$level [(350-65535)]",
- NO_STR
- "Maximum LSP lifetime\n"
- "Maximum LSP lifetime for Level 1 only\n"
- "Maximum LSP lifetime for Level 2 only\n"
- "LSP lifetime in seconds\n")
+ "no max-lsp-lifetime [level-1|level-2]$level [(350-65535)]",
+ NO_STR
+ "Maximum LSP lifetime\n"
+ "Maximum LSP lifetime for Level 1 only\n"
+ "Maximum LSP lifetime for Level 2 only\n"
+ "LSP lifetime in seconds\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty,
@@ -792,17 +791,18 @@ DEFPY_YANG(no_max_lsp_lifetime, no_max_lsp_lifetime_cmd,
* XPath: /frr-isisd:isis/instance/lsp/timers
*/
-DEFPY_YANG(lsp_timers, lsp_timers_cmd,
- "lsp-timers [level-1|level-2]$level gen-interval (1-120)$gen refresh-interval (1-65235)$refresh max-lifetime (350-65535)$lifetime",
- "LSP-related timers\n"
- "LSP-related timers for Level 1 only\n"
- "LSP-related timers for Level 2 only\n"
- "Minimum interval between regenerating same LSP\n"
- "Generation interval in seconds\n"
- "LSP refresh interval\n"
- "LSP refresh interval in seconds\n"
- "Maximum LSP lifetime\n"
- "Maximum LSP lifetime in seconds\n")
+DEFPY_YANG(
+ lsp_timers, lsp_timers_cmd,
+ "lsp-timers [level-1|level-2]$level gen-interval (1-120)$gen refresh-interval (1-65235)$refresh max-lifetime (350-65535)$lifetime",
+ "LSP-related timers\n"
+ "LSP-related timers for Level 1 only\n"
+ "LSP-related timers for Level 2 only\n"
+ "Minimum interval between regenerating same LSP\n"
+ "Generation interval in seconds\n"
+ "LSP refresh interval\n"
+ "LSP refresh interval in seconds\n"
+ "Maximum LSP lifetime\n"
+ "Maximum LSP lifetime in seconds\n")
{
if (!level || strmatch(level, "level-1")) {
nb_cli_enqueue_change(
@@ -830,18 +830,19 @@ DEFPY_YANG(lsp_timers, lsp_timers_cmd,
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(no_lsp_timers, no_lsp_timers_cmd,
- "no lsp-timers [level-1|level-2]$level [gen-interval (1-120) refresh-interval (1-65235) max-lifetime (350-65535)]",
- NO_STR
- "LSP-related timers\n"
- "LSP-related timers for Level 1 only\n"
- "LSP-related timers for Level 2 only\n"
- "Minimum interval between regenerating same LSP\n"
- "Generation interval in seconds\n"
- "LSP refresh interval\n"
- "LSP refresh interval in seconds\n"
- "Maximum LSP lifetime\n"
- "Maximum LSP lifetime in seconds\n")
+DEFPY_YANG(
+ no_lsp_timers, no_lsp_timers_cmd,
+ "no lsp-timers [level-1|level-2]$level [gen-interval (1-120) refresh-interval (1-65235) max-lifetime (350-65535)]",
+ NO_STR
+ "LSP-related timers\n"
+ "LSP-related timers for Level 1 only\n"
+ "LSP-related timers for Level 2 only\n"
+ "Minimum interval between regenerating same LSP\n"
+ "Generation interval in seconds\n"
+ "LSP refresh interval\n"
+ "LSP refresh interval in seconds\n"
+ "Maximum LSP lifetime\n"
+ "Maximum LSP lifetime in seconds\n")
{
if (!level || strmatch(level, "level-1")) {
nb_cli_enqueue_change(
@@ -903,8 +904,8 @@ void cli_show_isis_lsp_timers(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance/lsp/mtu
*/
DEFPY_YANG(area_lsp_mtu, area_lsp_mtu_cmd, "lsp-mtu (128-4352)$val",
- "Configure the maximum size of generated LSPs\n"
- "Maximum size of generated LSPs\n")
+ "Configure the maximum size of generated LSPs\n"
+ "Maximum size of generated LSPs\n")
{
nb_cli_enqueue_change(vty, "./lsp/mtu", NB_OP_MODIFY, val_str);
@@ -912,9 +913,9 @@ DEFPY_YANG(area_lsp_mtu, area_lsp_mtu_cmd, "lsp-mtu (128-4352)$val",
}
DEFPY_YANG(no_area_lsp_mtu, no_area_lsp_mtu_cmd, "no lsp-mtu [(128-4352)]",
- NO_STR
- "Configure the maximum size of generated LSPs\n"
- "Maximum size of generated LSPs\n")
+ NO_STR
+ "Configure the maximum size of generated LSPs\n"
+ "Maximum size of generated LSPs\n")
{
nb_cli_enqueue_change(vty, "./lsp/mtu", NB_OP_MODIFY, NULL);
@@ -931,11 +932,11 @@ void cli_show_isis_lsp_mtu(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance/spf/minimum-interval
*/
DEFPY_YANG(spf_interval, spf_interval_cmd,
- "spf-interval [level-1|level-2]$level (1-120)$val",
- "Minimum interval between SPF calculations\n"
- "Set interval for level 1 only\n"
- "Set interval for level 2 only\n"
- "Minimum interval between consecutive SPFs in seconds\n")
+ "spf-interval [level-1|level-2]$level (1-120)$val",
+ "Minimum interval between SPF calculations\n"
+ "Set interval for level 1 only\n"
+ "Set interval for level 2 only\n"
+ "Minimum interval between consecutive SPFs in seconds\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty, "./spf/minimum-interval/level-1",
@@ -948,12 +949,12 @@ DEFPY_YANG(spf_interval, spf_interval_cmd,
}
DEFPY_YANG(no_spf_interval, no_spf_interval_cmd,
- "no spf-interval [level-1|level-2]$level [(1-120)]",
- NO_STR
- "Minimum interval between SPF calculations\n"
- "Set interval for level 1 only\n"
- "Set interval for level 2 only\n"
- "Minimum interval between consecutive SPFs in seconds\n")
+ "no spf-interval [level-1|level-2]$level [(1-120)]",
+ NO_STR
+ "Minimum interval between SPF calculations\n"
+ "Set interval for level 1 only\n"
+ "Set interval for level 2 only\n"
+ "Minimum interval between consecutive SPFs in seconds\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty, "./spf/minimum-interval/level-1",
@@ -982,19 +983,20 @@ void cli_show_isis_spf_min_interval(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/spf/ietf-backoff-delay
*/
-DEFPY_YANG(spf_delay_ietf, spf_delay_ietf_cmd,
- "spf-delay-ietf init-delay (0-60000) short-delay (0-60000) long-delay (0-60000) holddown (0-60000) time-to-learn (0-60000)",
- "IETF SPF delay algorithm\n"
- "Delay used while in QUIET state\n"
- "Delay used while in QUIET state in milliseconds\n"
- "Delay used while in SHORT_WAIT state\n"
- "Delay used while in SHORT_WAIT state in milliseconds\n"
- "Delay used while in LONG_WAIT\n"
- "Delay used while in LONG_WAIT state in milliseconds\n"
- "Time with no received IGP events before considering IGP stable\n"
- "Time with no received IGP events before considering IGP stable (in milliseconds)\n"
- "Maximum duration needed to learn all the events related to a single failure\n"
- "Maximum duration needed to learn all the events related to a single failure (in milliseconds)\n")
+DEFPY_YANG(
+ spf_delay_ietf, spf_delay_ietf_cmd,
+ "spf-delay-ietf init-delay (0-60000) short-delay (0-60000) long-delay (0-60000) holddown (0-60000) time-to-learn (0-60000)",
+ "IETF SPF delay algorithm\n"
+ "Delay used while in QUIET state\n"
+ "Delay used while in QUIET state in milliseconds\n"
+ "Delay used while in SHORT_WAIT state\n"
+ "Delay used while in SHORT_WAIT state in milliseconds\n"
+ "Delay used while in LONG_WAIT\n"
+ "Delay used while in LONG_WAIT state in milliseconds\n"
+ "Time with no received IGP events before considering IGP stable\n"
+ "Time with no received IGP events before considering IGP stable (in milliseconds)\n"
+ "Maximum duration needed to learn all the events related to a single failure\n"
+ "Maximum duration needed to learn all the events related to a single failure (in milliseconds)\n")
{
nb_cli_enqueue_change(vty, "./spf/ietf-backoff-delay", NB_OP_CREATE,
NULL);
@@ -1012,20 +1014,21 @@ DEFPY_YANG(spf_delay_ietf, spf_delay_ietf_cmd,
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(no_spf_delay_ietf, no_spf_delay_ietf_cmd,
- "no spf-delay-ietf [init-delay (0-60000) short-delay (0-60000) long-delay (0-60000) holddown (0-60000) time-to-learn (0-60000)]",
- NO_STR
- "IETF SPF delay algorithm\n"
- "Delay used while in QUIET state\n"
- "Delay used while in QUIET state in milliseconds\n"
- "Delay used while in SHORT_WAIT state\n"
- "Delay used while in SHORT_WAIT state in milliseconds\n"
- "Delay used while in LONG_WAIT\n"
- "Delay used while in LONG_WAIT state in milliseconds\n"
- "Time with no received IGP events before considering IGP stable\n"
- "Time with no received IGP events before considering IGP stable (in milliseconds)\n"
- "Maximum duration needed to learn all the events related to a single failure\n"
- "Maximum duration needed to learn all the events related to a single failure (in milliseconds)\n")
+DEFPY_YANG(
+ no_spf_delay_ietf, no_spf_delay_ietf_cmd,
+ "no spf-delay-ietf [init-delay (0-60000) short-delay (0-60000) long-delay (0-60000) holddown (0-60000) time-to-learn (0-60000)]",
+ NO_STR
+ "IETF SPF delay algorithm\n"
+ "Delay used while in QUIET state\n"
+ "Delay used while in QUIET state in milliseconds\n"
+ "Delay used while in SHORT_WAIT state\n"
+ "Delay used while in SHORT_WAIT state in milliseconds\n"
+ "Delay used while in LONG_WAIT\n"
+ "Delay used while in LONG_WAIT state in milliseconds\n"
+ "Time with no received IGP events before considering IGP stable\n"
+ "Time with no received IGP events before considering IGP stable (in milliseconds)\n"
+ "Maximum duration needed to learn all the events related to a single failure\n"
+ "Maximum duration needed to learn all the events related to a single failure (in milliseconds)\n")
{
nb_cli_enqueue_change(vty, "./spf/ietf-backoff-delay", NB_OP_DESTROY,
NULL);
@@ -1048,8 +1051,9 @@ void cli_show_isis_spf_ietf_backoff(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/purge-originator
*/
-DEFPY_YANG(area_purge_originator, area_purge_originator_cmd, "[no] purge-originator",
- NO_STR "Use the RFC 6232 purge-originator\n")
+DEFPY_YANG(area_purge_originator, area_purge_originator_cmd,
+ "[no] purge-originator",
+ NO_STR "Use the RFC 6232 purge-originator\n")
{
nb_cli_enqueue_change(vty, "./purge-originator", NB_OP_MODIFY,
no ? "false" : "true");
@@ -1069,7 +1073,7 @@ void cli_show_isis_purge_origin(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance/mpls-te
*/
DEFPY_YANG(isis_mpls_te_on, isis_mpls_te_on_cmd, "mpls-te on",
- MPLS_TE_STR "Enable the MPLS-TE functionality\n")
+ MPLS_TE_STR "Enable the MPLS-TE functionality\n")
{
nb_cli_enqueue_change(vty, "./mpls-te", NB_OP_CREATE,
NULL);
@@ -1078,9 +1082,9 @@ DEFPY_YANG(isis_mpls_te_on, isis_mpls_te_on_cmd, "mpls-te on",
}
DEFPY_YANG(no_isis_mpls_te_on, no_isis_mpls_te_on_cmd, "no mpls-te [on]",
- NO_STR
- "Disable the MPLS-TE functionality\n"
- "Disable the MPLS-TE functionality\n")
+ NO_STR
+ "Disable the MPLS-TE functionality\n"
+ "Disable the MPLS-TE functionality\n")
{
nb_cli_enqueue_change(vty, "./mpls-te", NB_OP_DESTROY,
NULL);
@@ -1098,10 +1102,10 @@ void cli_show_isis_mpls_te(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance/mpls-te/router-address
*/
DEFPY_YANG(isis_mpls_te_router_addr, isis_mpls_te_router_addr_cmd,
- "mpls-te router-address A.B.C.D",
- MPLS_TE_STR
- "Stable IP address of the advertising router\n"
- "MPLS-TE router address in IPv4 address format\n")
+ "mpls-te router-address A.B.C.D",
+ MPLS_TE_STR
+ "Stable IP address of the advertising router\n"
+ "MPLS-TE router address in IPv4 address format\n")
{
nb_cli_enqueue_change(vty, "./mpls-te/router-address",
NB_OP_MODIFY, router_address_str);
@@ -1110,10 +1114,10 @@ DEFPY_YANG(isis_mpls_te_router_addr, isis_mpls_te_router_addr_cmd,
}
DEFPY_YANG(no_isis_mpls_te_router_addr, no_isis_mpls_te_router_addr_cmd,
- "no mpls-te router-address [A.B.C.D]",
- NO_STR MPLS_TE_STR
- "Delete IP address of the advertising router\n"
- "MPLS-TE router address in IPv4 address format\n")
+ "no mpls-te router-address [A.B.C.D]",
+ NO_STR MPLS_TE_STR
+ "Delete IP address of the advertising router\n"
+ "MPLS-TE router address in IPv4 address format\n")
{
nb_cli_enqueue_change(vty, "./mpls-te/router-address",
NB_OP_DESTROY, NULL);
@@ -1128,13 +1132,14 @@ void cli_show_isis_mpls_te_router_addr(struct vty *vty, struct lyd_node *dnode,
yang_dnode_get_string(dnode, NULL));
}
-DEFPY_YANG(isis_mpls_te_inter_as, isis_mpls_te_inter_as_cmd,
- "[no] mpls-te inter-as [level-1|level-1-2|level-2-only]",
- NO_STR MPLS_TE_STR
- "Configure MPLS-TE Inter-AS support\n"
- "AREA native mode self originate INTER-AS LSP with L1 only flooding scope\n"
- "AREA native mode self originate INTER-AS LSP with L1 and L2 flooding scope\n"
- "AS native mode self originate INTER-AS LSP with L2 only flooding scope\n")
+DEFPY_YANG(
+ isis_mpls_te_inter_as, isis_mpls_te_inter_as_cmd,
+ "[no] mpls-te inter-as [level-1|level-1-2|level-2-only]",
+ NO_STR MPLS_TE_STR
+ "Configure MPLS-TE Inter-AS support\n"
+ "AREA native mode self originate INTER-AS LSP with L1 only flooding scope\n"
+ "AREA native mode self originate INTER-AS LSP with L1 and L2 flooding scope\n"
+ "AS native mode self originate INTER-AS LSP with L2 only flooding scope\n")
{
vty_out(vty, "MPLS-TE Inter-AS is not yet supported\n");
return CMD_SUCCESS;
@@ -1143,20 +1148,21 @@ DEFPY_YANG(isis_mpls_te_inter_as, isis_mpls_te_inter_as_cmd,
/*
* XPath: /frr-isisd:isis/instance/default-information-originate
*/
-DEFPY_YANG(isis_default_originate, isis_default_originate_cmd,
- "[no] default-information originate <ipv4|ipv6>$ip <level-1|level-2>$level [always]$always [{metric (0-16777215)$metric|route-map WORD$rmap}]",
- NO_STR
- "Control distribution of default information\n"
- "Distribute a default route\n"
- "Distribute default route for IPv4\n"
- "Distribute default route for IPv6\n"
- "Distribute default route into level-1\n"
- "Distribute default route into level-2\n"
- "Always advertise default route\n"
- "Metric for default route\n"
- "ISIS default metric\n"
- "Route map reference\n"
- "Pointer to route-map entries\n")
+DEFPY_YANG(
+ isis_default_originate, isis_default_originate_cmd,
+ "[no] default-information originate <ipv4|ipv6>$ip <level-1|level-2>$level [always]$always [{metric (0-16777215)$metric|route-map WORD$rmap}]",
+ NO_STR
+ "Control distribution of default information\n"
+ "Distribute a default route\n"
+ "Distribute default route for IPv4\n"
+ "Distribute default route for IPv6\n"
+ "Distribute default route into level-1\n"
+ "Distribute default route into level-2\n"
+ "Always advertise default route\n"
+ "Metric for default route\n"
+ "ISIS default metric\n"
+ "Route map reference\n"
+ "Pointer to route-map entries\n")
{
if (no)
nb_cli_enqueue_change(vty, ".", NB_OP_DESTROY, NULL);
@@ -1219,18 +1225,19 @@ void cli_show_isis_def_origin_ipv6(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/redistribute
*/
-DEFPY_YANG(isis_redistribute, isis_redistribute_cmd,
- "[no] redistribute <ipv4|ipv6>$ip " PROTO_REDIST_STR
- "$proto <level-1|level-2>$level [{metric (0-16777215)|route-map WORD}]",
- NO_STR REDIST_STR
- "Redistribute IPv4 routes\n"
- "Redistribute IPv6 routes\n" PROTO_REDIST_HELP
- "Redistribute into level-1\n"
- "Redistribute into level-2\n"
- "Metric for redistributed routes\n"
- "ISIS default metric\n"
- "Route map reference\n"
- "Pointer to route-map entries\n")
+DEFPY_YANG(
+ isis_redistribute, isis_redistribute_cmd,
+ "[no] redistribute <ipv4|ipv6>$ip " PROTO_REDIST_STR
+ "$proto <level-1|level-2>$level [{metric (0-16777215)|route-map WORD}]",
+ NO_STR REDIST_STR
+ "Redistribute IPv4 routes\n"
+ "Redistribute IPv6 routes\n" PROTO_REDIST_HELP
+ "Redistribute into level-1\n"
+ "Redistribute into level-2\n"
+ "Metric for redistributed routes\n"
+ "ISIS default metric\n"
+ "Route map reference\n"
+ "Pointer to route-map entries\n")
{
if (no)
nb_cli_enqueue_change(vty, ".", NB_OP_DESTROY, NULL);
@@ -1278,18 +1285,19 @@ void cli_show_isis_redistribute_ipv6(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/multi-topology
*/
-DEFPY_YANG(isis_topology, isis_topology_cmd,
- "[no] topology <ipv4-unicast|ipv4-mgmt|ipv6-unicast|ipv4-multicast|ipv6-multicast|ipv6-mgmt|ipv6-dstsrc>$topology [overload]$overload",
- NO_STR
- "Configure IS-IS topologies\n"
- "IPv4 unicast topology\n"
- "IPv4 management topology\n"
- "IPv6 unicast topology\n"
- "IPv4 multicast topology\n"
- "IPv6 multicast topology\n"
- "IPv6 management topology\n"
- "IPv6 dst-src topology\n"
- "Set overload bit for topology\n")
+DEFPY_YANG(
+ isis_topology, isis_topology_cmd,
+ "[no] topology <ipv4-unicast|ipv4-mgmt|ipv6-unicast|ipv4-multicast|ipv6-multicast|ipv6-mgmt|ipv6-dstsrc>$topology [overload]$overload",
+ NO_STR
+ "Configure IS-IS topologies\n"
+ "IPv4 unicast topology\n"
+ "IPv4 management topology\n"
+ "IPv6 unicast topology\n"
+ "IPv4 multicast topology\n"
+ "IPv6 multicast topology\n"
+ "IPv6 management topology\n"
+ "IPv6 dst-src topology\n"
+ "Set overload bit for topology\n")
{
char base_xpath[XPATH_MAXLEN];
@@ -1379,11 +1387,8 @@ void cli_show_isis_mt_ipv6_dstsrc(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/segment-routing/enabled
*/
-DEFPY_YANG (isis_sr_enable,
- isis_sr_enable_cmd,
- "segment-routing on",
- SR_STR
- "Enable Segment Routing\n")
+DEFPY_YANG(isis_sr_enable, isis_sr_enable_cmd, "segment-routing on",
+ SR_STR "Enable Segment Routing\n")
{
nb_cli_enqueue_change(vty, "./segment-routing/enabled", NB_OP_MODIFY,
"true");
@@ -1391,12 +1396,8 @@ DEFPY_YANG (isis_sr_enable,
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG (no_isis_sr_enable,
- no_isis_sr_enable_cmd,
- "no segment-routing [on]",
- NO_STR
- SR_STR
- "Disable Segment Routing\n")
+DEFPY_YANG(no_isis_sr_enable, no_isis_sr_enable_cmd, "no segment-routing [on]",
+ NO_STR SR_STR "Disable Segment Routing\n")
{
nb_cli_enqueue_change(vty, "./segment-routing/enabled", NB_OP_MODIFY,
"false");
@@ -1416,13 +1417,13 @@ void cli_show_isis_sr_enabled(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/segment-routing/srgb
*/
-DEFPY_YANG (isis_sr_global_block_label_range,
- isis_sr_global_block_label_range_cmd,
- "segment-routing global-block (16-1048575)$lower_bound (16-1048575)$upper_bound",
- SR_STR
- "Segment Routing Global Block label range\n"
- "The lower bound of the block\n"
- "The upper bound of the block (block size may not exceed 65535)\n")
+DEFPY_YANG(
+ isis_sr_global_block_label_range, isis_sr_global_block_label_range_cmd,
+ "segment-routing global-block (16-1048575)$lower_bound (16-1048575)$upper_bound",
+ SR_STR
+ "Segment Routing Global Block label range\n"
+ "The lower bound of the block\n"
+ "The upper bound of the block (block size may not exceed 65535)\n")
{
nb_cli_enqueue_change(vty, "./segment-routing/srgb/lower-bound",
NB_OP_MODIFY, lower_bound_str);
@@ -1432,14 +1433,13 @@ DEFPY_YANG (isis_sr_global_block_label_range,
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG (no_isis_sr_global_block_label_range,
- no_isis_sr_global_block_label_range_cmd,
- "no segment-routing global-block [(16-1048575) (16-1048575)]",
- NO_STR
- SR_STR
- "Segment Routing Global Block label range\n"
- "The lower bound of the block\n"
- "The upper bound of the block (block size may not exceed 65535)\n")
+DEFPY_YANG(no_isis_sr_global_block_label_range,
+ no_isis_sr_global_block_label_range_cmd,
+ "no segment-routing global-block [(16-1048575) (16-1048575)]",
+ NO_STR SR_STR
+ "Segment Routing Global Block label range\n"
+ "The lower bound of the block\n"
+ "The upper bound of the block (block size may not exceed 65535)\n")
{
nb_cli_enqueue_change(vty, "./segment-routing/srgb/lower-bound",
NB_OP_MODIFY, NULL);
@@ -1460,13 +1460,13 @@ void cli_show_isis_srgb(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/segment-routing/srlb
*/
-DEFPY_YANG (isis_sr_local_block_label_range,
- isis_sr_local_block_label_range_cmd,
- "segment-routing local-block (16-1048575)$lower_bound (16-1048575)$upper_bound",
- SR_STR
- "Segment Routing Local Block label range\n"
- "The lower bound of the block\n"
- "The upper bound of the block (block size may not exceed 65535)\n")
+DEFPY_YANG(
+ isis_sr_local_block_label_range, isis_sr_local_block_label_range_cmd,
+ "segment-routing local-block (16-1048575)$lower_bound (16-1048575)$upper_bound",
+ SR_STR
+ "Segment Routing Local Block label range\n"
+ "The lower bound of the block\n"
+ "The upper bound of the block (block size may not exceed 65535)\n")
{
nb_cli_enqueue_change(vty, "./segment-routing/srlb/lower-bound",
NB_OP_MODIFY, lower_bound_str);
@@ -1476,14 +1476,13 @@ DEFPY_YANG (isis_sr_local_block_label_range,
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG (no_isis_sr_local_block_label_range,
- no_isis_sr_local_block_label_range_cmd,
- "no segment-routing local-block [(16-1048575) (16-1048575)]",
- NO_STR
- SR_STR
- "Segment Routing Local Block label range\n"
- "The lower bound of the block\n"
- "The upper bound of the block (block size may not exceed 65535)\n")
+DEFPY_YANG(no_isis_sr_local_block_label_range,
+ no_isis_sr_local_block_label_range_cmd,
+ "no segment-routing local-block [(16-1048575) (16-1048575)]",
+ NO_STR SR_STR
+ "Segment Routing Local Block label range\n"
+ "The lower bound of the block\n"
+ "The upper bound of the block (block size may not exceed 65535)\n")
{
nb_cli_enqueue_change(vty, "./segment-routing/srlb/lower-bound",
NB_OP_MODIFY, NULL);
@@ -1504,12 +1503,11 @@ void cli_show_isis_srlb(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/segment-routing/msd/node-msd
*/
-DEFPY_YANG (isis_sr_node_msd,
- isis_sr_node_msd_cmd,
- "segment-routing node-msd (1-16)$msd",
- SR_STR
- "Maximum Stack Depth for this router\n"
- "Maximum number of label that can be stack (1-16)\n")
+DEFPY_YANG(isis_sr_node_msd, isis_sr_node_msd_cmd,
+ "segment-routing node-msd (1-16)$msd",
+ SR_STR
+ "Maximum Stack Depth for this router\n"
+ "Maximum number of label that can be stack (1-16)\n")
{
nb_cli_enqueue_change(vty, "./segment-routing/msd/node-msd",
NB_OP_MODIFY, msd_str);
@@ -1517,13 +1515,11 @@ DEFPY_YANG (isis_sr_node_msd,
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG (no_isis_sr_node_msd,
- no_isis_sr_node_msd_cmd,
- "no segment-routing node-msd [(1-16)]",
- NO_STR
- SR_STR
- "Maximum Stack Depth for this router\n"
- "Maximum number of label that can be stack (1-16)\n")
+DEFPY_YANG(no_isis_sr_node_msd, no_isis_sr_node_msd_cmd,
+ "no segment-routing node-msd [(1-16)]",
+ NO_STR SR_STR
+ "Maximum Stack Depth for this router\n"
+ "Maximum number of label that can be stack (1-16)\n")
{
nb_cli_enqueue_change(vty, "./segment-routing/msd/node-msd",
NB_OP_DESTROY, NULL);
@@ -1541,22 +1537,22 @@ void cli_show_isis_node_msd(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-isisd:isis/instance/segment-routing/prefix-sid-map/prefix-sid
*/
-DEFPY_YANG (isis_sr_prefix_sid,
- isis_sr_prefix_sid_cmd,
- "segment-routing prefix\
+DEFPY_YANG(
+ isis_sr_prefix_sid, isis_sr_prefix_sid_cmd,
+ "segment-routing prefix\
<A.B.C.D/M|X:X::X:X/M>$prefix\
<absolute$sid_type (16-1048575)$sid_value|index$sid_type (0-65535)$sid_value>\
[<no-php-flag|explicit-null>$lh_behavior]",
- SR_STR
- "Prefix SID\n"
- "IPv4 Prefix\n"
- "IPv6 Prefix\n"
- "Specify the absolute value of Prefix Segement ID\n"
- "The Prefix Segment ID value\n"
- "Specify the index of Prefix Segement ID\n"
- "The Prefix Segment ID index\n"
- "Don't request Penultimate Hop Popping (PHP)\n"
- "Upstream neighbor must replace prefix-sid with explicit null label\n")
+ SR_STR
+ "Prefix SID\n"
+ "IPv4 Prefix\n"
+ "IPv6 Prefix\n"
+ "Specify the absolute value of Prefix Segement ID\n"
+ "The Prefix Segment ID value\n"
+ "Specify the index of Prefix Segement ID\n"
+ "The Prefix Segment ID index\n"
+ "Don't request Penultimate Hop Popping (PHP)\n"
+ "Upstream neighbor must replace prefix-sid with explicit null label\n")
{
nb_cli_enqueue_change(vty, ".", NB_OP_CREATE, NULL);
nb_cli_enqueue_change(vty, "./sid-value-type", NB_OP_MODIFY, sid_type);
@@ -1580,21 +1576,20 @@ DEFPY_YANG (isis_sr_prefix_sid,
prefix_str);
}
-DEFPY_YANG (no_isis_sr_prefix_sid,
- no_isis_sr_prefix_sid_cmd,
- "no segment-routing prefix <A.B.C.D/M|X:X::X:X/M>$prefix\
+DEFPY_YANG(
+ no_isis_sr_prefix_sid, no_isis_sr_prefix_sid_cmd,
+ "no segment-routing prefix <A.B.C.D/M|X:X::X:X/M>$prefix\
[<absolute$sid_type (16-1048575)|index (0-65535)> [<no-php-flag|explicit-null>]]",
- NO_STR
- SR_STR
- "Prefix SID\n"
- "IPv4 Prefix\n"
- "IPv6 Prefix\n"
- "Specify the absolute value of Prefix Segement ID\n"
- "The Prefix Segment ID value\n"
- "Specify the index of Prefix Segement ID\n"
- "The Prefix Segment ID index\n"
- "Don't request Penultimate Hop Popping (PHP)\n"
- "Upstream neighbor must replace prefix-sid with explicit null label\n")
+ NO_STR SR_STR
+ "Prefix SID\n"
+ "IPv4 Prefix\n"
+ "IPv6 Prefix\n"
+ "Specify the absolute value of Prefix Segement ID\n"
+ "The Prefix Segment ID value\n"
+ "Specify the index of Prefix Segement ID\n"
+ "The Prefix Segment ID index\n"
+ "Don't request Penultimate Hop Popping (PHP)\n"
+ "Upstream neighbor must replace prefix-sid with explicit null label\n")
{
nb_cli_enqueue_change(vty, ".", NB_OP_DESTROY, NULL);
@@ -1633,9 +1628,9 @@ void cli_show_isis_prefix_sid(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-interface:lib/interface/frr-isisd:isis/passive
*/
DEFPY_YANG(isis_passive, isis_passive_cmd, "[no] isis passive",
- NO_STR
- "IS-IS routing protocol\n"
- "Configure the passive mode for interface\n")
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Configure the passive mode for interface\n")
{
nb_cli_enqueue_change(vty, "./frr-isisd:isis/passive", NB_OP_MODIFY,
no ? "false" : "true");
@@ -1655,12 +1650,13 @@ void cli_show_ip_isis_passive(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-interface:lib/interface/frr-isisd:isis/password
*/
-DEFPY_YANG(isis_passwd, isis_passwd_cmd, "isis password <md5|clear>$type WORD$pwd",
- "IS-IS routing protocol\n"
- "Configure the authentication password for a circuit\n"
- "HMAC-MD5 authentication\n"
- "Cleartext password\n"
- "Circuit password\n")
+DEFPY_YANG(isis_passwd, isis_passwd_cmd,
+ "isis password <md5|clear>$type WORD$pwd",
+ "IS-IS routing protocol\n"
+ "Configure the authentication password for a circuit\n"
+ "HMAC-MD5 authentication\n"
+ "Cleartext password\n"
+ "Circuit password\n")
{
nb_cli_enqueue_change(vty, "./frr-isisd:isis/password", NB_OP_CREATE,
NULL);
@@ -1672,13 +1668,14 @@ DEFPY_YANG(isis_passwd, isis_passwd_cmd, "isis password <md5|clear>$type WORD$pw
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(no_isis_passwd, no_isis_passwd_cmd, "no isis password [<md5|clear> WORD]",
- NO_STR
- "IS-IS routing protocol\n"
- "Configure the authentication password for a circuit\n"
- "HMAC-MD5 authentication\n"
- "Cleartext password\n"
- "Circuit password\n")
+DEFPY_YANG(no_isis_passwd, no_isis_passwd_cmd,
+ "no isis password [<md5|clear> WORD]",
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Configure the authentication password for a circuit\n"
+ "HMAC-MD5 authentication\n"
+ "Cleartext password\n"
+ "Circuit password\n")
{
nb_cli_enqueue_change(vty, "./frr-isisd:isis/password", NB_OP_DESTROY,
NULL);
@@ -1698,12 +1695,12 @@ void cli_show_ip_isis_password(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-interface:lib/interface/frr-isisd:isis/metric
*/
DEFPY_YANG(isis_metric, isis_metric_cmd,
- "isis metric [level-1|level-2]$level (0-16777215)$met",
- "IS-IS routing protocol\n"
- "Set default metric for circuit\n"
- "Specify metric for level-1 routing\n"
- "Specify metric for level-2 routing\n"
- "Default metric value\n")
+ "isis metric [level-1|level-2]$level (0-16777215)$met",
+ "IS-IS routing protocol\n"
+ "Set default metric for circuit\n"
+ "Specify metric for level-1 routing\n"
+ "Specify metric for level-2 routing\n"
+ "Default metric value\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty, "./frr-isisd:isis/metric/level-1",
@@ -1716,13 +1713,13 @@ DEFPY_YANG(isis_metric, isis_metric_cmd,
}
DEFPY_YANG(no_isis_metric, no_isis_metric_cmd,
- "no isis metric [level-1|level-2]$level [(0-16777215)]",
- NO_STR
- "IS-IS routing protocol\n"
- "Set default metric for circuit\n"
- "Specify metric for level-1 routing\n"
- "Specify metric for level-2 routing\n"
- "Default metric value\n")
+ "no isis metric [level-1|level-2]$level [(0-16777215)]",
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Set default metric for circuit\n"
+ "Specify metric for level-1 routing\n"
+ "Specify metric for level-2 routing\n"
+ "Default metric value\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty, "./frr-isisd:isis/metric/level-1",
@@ -1752,12 +1749,12 @@ void cli_show_ip_isis_metric(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-interface:lib/interface/frr-isisd:isis/hello/interval
*/
DEFPY_YANG(isis_hello_interval, isis_hello_interval_cmd,
- "isis hello-interval [level-1|level-2]$level (1-600)$intv",
- "IS-IS routing protocol\n"
- "Set Hello interval\n"
- "Specify hello-interval for level-1 IIHs\n"
- "Specify hello-interval for level-2 IIHs\n"
- "Holdtime 1 seconds, interval depends on multiplier\n")
+ "isis hello-interval [level-1|level-2]$level (1-600)$intv",
+ "IS-IS routing protocol\n"
+ "Set Hello interval\n"
+ "Specify hello-interval for level-1 IIHs\n"
+ "Specify hello-interval for level-2 IIHs\n"
+ "Holdtime 1 seconds, interval depends on multiplier\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty,
@@ -1772,13 +1769,13 @@ DEFPY_YANG(isis_hello_interval, isis_hello_interval_cmd,
}
DEFPY_YANG(no_isis_hello_interval, no_isis_hello_interval_cmd,
- "no isis hello-interval [level-1|level-2]$level [(1-600)]",
- NO_STR
- "IS-IS routing protocol\n"
- "Set Hello interval\n"
- "Specify hello-interval for level-1 IIHs\n"
- "Specify hello-interval for level-2 IIHs\n"
- "Holdtime 1 second, interval depends on multiplier\n")
+ "no isis hello-interval [level-1|level-2]$level [(1-600)]",
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Set Hello interval\n"
+ "Specify hello-interval for level-1 IIHs\n"
+ "Specify hello-interval for level-2 IIHs\n"
+ "Holdtime 1 second, interval depends on multiplier\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty,
@@ -1810,12 +1807,12 @@ void cli_show_ip_isis_hello_interval(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-interface:lib/interface/frr-isisd:isis/hello/multiplier
*/
DEFPY_YANG(isis_hello_multiplier, isis_hello_multiplier_cmd,
- "isis hello-multiplier [level-1|level-2]$level (2-100)$mult",
- "IS-IS routing protocol\n"
- "Set multiplier for Hello holding time\n"
- "Specify hello multiplier for level-1 IIHs\n"
- "Specify hello multiplier for level-2 IIHs\n"
- "Hello multiplier value\n")
+ "isis hello-multiplier [level-1|level-2]$level (2-100)$mult",
+ "IS-IS routing protocol\n"
+ "Set multiplier for Hello holding time\n"
+ "Specify hello multiplier for level-1 IIHs\n"
+ "Specify hello multiplier for level-2 IIHs\n"
+ "Hello multiplier value\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(
@@ -1830,13 +1827,13 @@ DEFPY_YANG(isis_hello_multiplier, isis_hello_multiplier_cmd,
}
DEFPY_YANG(no_isis_hello_multiplier, no_isis_hello_multiplier_cmd,
- "no isis hello-multiplier [level-1|level-2]$level [(2-100)]",
- NO_STR
- "IS-IS routing protocol\n"
- "Set multiplier for Hello holding time\n"
- "Specify hello multiplier for level-1 IIHs\n"
- "Specify hello multiplier for level-2 IIHs\n"
- "Hello multiplier value\n")
+ "no isis hello-multiplier [level-1|level-2]$level [(2-100)]",
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Set multiplier for Hello holding time\n"
+ "Specify hello multiplier for level-1 IIHs\n"
+ "Specify hello multiplier for level-2 IIHs\n"
+ "Hello multiplier value\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(
@@ -1868,10 +1865,11 @@ void cli_show_ip_isis_hello_multi(struct vty *vty, struct lyd_node *dnode,
* XPath:
* /frr-interface:lib/interface/frr-isisd:isis/disable-three-way-handshake
*/
-DEFPY_YANG(isis_threeway_adj, isis_threeway_adj_cmd, "[no] isis three-way-handshake",
- NO_STR
- "IS-IS commands\n"
- "Enable/Disable three-way handshake\n")
+DEFPY_YANG(isis_threeway_adj, isis_threeway_adj_cmd,
+ "[no] isis three-way-handshake",
+ NO_STR
+ "IS-IS commands\n"
+ "Enable/Disable three-way handshake\n")
{
nb_cli_enqueue_change(vty,
"./frr-isisd:isis/disable-three-way-handshake",
@@ -1891,11 +1889,12 @@ void cli_show_ip_isis_threeway_shake(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-interface:lib/interface/frr-isisd:isis/hello/padding
*/
-DEFPY_YANG(isis_hello_padding, isis_hello_padding_cmd, "[no] isis hello padding",
- NO_STR
- "IS-IS routing protocol\n"
- "Add padding to IS-IS hello packets\n"
- "Pad hello packets\n")
+DEFPY_YANG(isis_hello_padding, isis_hello_padding_cmd,
+ "[no] isis hello padding",
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Add padding to IS-IS hello packets\n"
+ "Pad hello packets\n")
{
nb_cli_enqueue_change(vty, "./frr-isisd:isis/hello/padding",
NB_OP_MODIFY, no ? "false" : "true");
@@ -1916,12 +1915,12 @@ void cli_show_ip_isis_hello_padding(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-interface:lib/interface/frr-isisd:isis/csnp-interval
*/
DEFPY_YANG(csnp_interval, csnp_interval_cmd,
- "isis csnp-interval (1-600)$intv [level-1|level-2]$level",
- "IS-IS routing protocol\n"
- "Set CSNP interval in seconds\n"
- "CSNP interval value\n"
- "Specify interval for level-1 CSNPs\n"
- "Specify interval for level-2 CSNPs\n")
+ "isis csnp-interval (1-600)$intv [level-1|level-2]$level",
+ "IS-IS routing protocol\n"
+ "Set CSNP interval in seconds\n"
+ "CSNP interval value\n"
+ "Specify interval for level-1 CSNPs\n"
+ "Specify interval for level-2 CSNPs\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty,
@@ -1936,13 +1935,13 @@ DEFPY_YANG(csnp_interval, csnp_interval_cmd,
}
DEFPY_YANG(no_csnp_interval, no_csnp_interval_cmd,
- "no isis csnp-interval [(1-600)] [level-1|level-2]$level",
- NO_STR
- "IS-IS routing protocol\n"
- "Set CSNP interval in seconds\n"
- "CSNP interval value\n"
- "Specify interval for level-1 CSNPs\n"
- "Specify interval for level-2 CSNPs\n")
+ "no isis csnp-interval [(1-600)] [level-1|level-2]$level",
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Set CSNP interval in seconds\n"
+ "CSNP interval value\n"
+ "Specify interval for level-1 CSNPs\n"
+ "Specify interval for level-2 CSNPs\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty,
@@ -1974,12 +1973,12 @@ void cli_show_ip_isis_csnp_interval(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-interface:lib/interface/frr-isisd:isis/psnp-interval
*/
DEFPY_YANG(psnp_interval, psnp_interval_cmd,
- "isis psnp-interval (1-120)$intv [level-1|level-2]$level",
- "IS-IS routing protocol\n"
- "Set PSNP interval in seconds\n"
- "PSNP interval value\n"
- "Specify interval for level-1 PSNPs\n"
- "Specify interval for level-2 PSNPs\n")
+ "isis psnp-interval (1-120)$intv [level-1|level-2]$level",
+ "IS-IS routing protocol\n"
+ "Set PSNP interval in seconds\n"
+ "PSNP interval value\n"
+ "Specify interval for level-1 PSNPs\n"
+ "Specify interval for level-2 PSNPs\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty,
@@ -1994,13 +1993,13 @@ DEFPY_YANG(psnp_interval, psnp_interval_cmd,
}
DEFPY_YANG(no_psnp_interval, no_psnp_interval_cmd,
- "no isis psnp-interval [(1-120)] [level-1|level-2]$level",
- NO_STR
- "IS-IS routing protocol\n"
- "Set PSNP interval in seconds\n"
- "PSNP interval value\n"
- "Specify interval for level-1 PSNPs\n"
- "Specify interval for level-2 PSNPs\n")
+ "no isis psnp-interval [(1-120)] [level-1|level-2]$level",
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Set PSNP interval in seconds\n"
+ "PSNP interval value\n"
+ "Specify interval for level-1 PSNPs\n"
+ "Specify interval for level-2 PSNPs\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty,
@@ -2031,18 +2030,19 @@ void cli_show_ip_isis_psnp_interval(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-interface:lib/interface/frr-isisd:isis/multi-topology
*/
-DEFPY_YANG(circuit_topology, circuit_topology_cmd,
- "[no] isis topology<ipv4-unicast|ipv4-mgmt|ipv6-unicast|ipv4-multicast|ipv6-multicast|ipv6-mgmt|ipv6-dstsrc>$topology",
- NO_STR
- "IS-IS routing protocol\n"
- "Configure interface IS-IS topologies\n"
- "IPv4 unicast topology\n"
- "IPv4 management topology\n"
- "IPv6 unicast topology\n"
- "IPv4 multicast topology\n"
- "IPv6 multicast topology\n"
- "IPv6 management topology\n"
- "IPv6 dst-src topology\n")
+DEFPY_YANG(
+ circuit_topology, circuit_topology_cmd,
+ "[no] isis topology<ipv4-unicast|ipv4-mgmt|ipv6-unicast|ipv4-multicast|ipv6-multicast|ipv6-mgmt|ipv6-dstsrc>$topology",
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Configure interface IS-IS topologies\n"
+ "IPv4 unicast topology\n"
+ "IPv4 management topology\n"
+ "IPv6 unicast topology\n"
+ "IPv4 multicast topology\n"
+ "IPv6 multicast topology\n"
+ "IPv6 management topology\n"
+ "IPv6 dst-src topology\n")
{
nb_cli_enqueue_change(vty, ".", NB_OP_MODIFY, no ? "false" : "true");
@@ -2117,12 +2117,12 @@ void cli_show_ip_isis_mt_ipv6_dstsrc(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-interface:lib/interface/frr-isisd:isis/circuit-type
*/
DEFPY_YANG(isis_circuit_type, isis_circuit_type_cmd,
- "isis circuit-type <level-1|level-1-2|level-2-only>$type",
- "IS-IS routing protocol\n"
- "Configure circuit type for interface\n"
- "Level-1 only adjacencies are formed\n"
- "Level-1-2 adjacencies are formed\n"
- "Level-2 only adjacencies are formed\n")
+ "isis circuit-type <level-1|level-1-2|level-2-only>$type",
+ "IS-IS routing protocol\n"
+ "Configure circuit type for interface\n"
+ "Level-1 only adjacencies are formed\n"
+ "Level-1-2 adjacencies are formed\n"
+ "Level-2 only adjacencies are formed\n")
{
nb_cli_enqueue_change(
vty, "./frr-isisd:isis/circuit-type", NB_OP_MODIFY,
@@ -2132,13 +2132,13 @@ DEFPY_YANG(isis_circuit_type, isis_circuit_type_cmd,
}
DEFPY_YANG(no_isis_circuit_type, no_isis_circuit_type_cmd,
- "no isis circuit-type [level-1|level-1-2|level-2-only]",
- NO_STR
- "IS-IS routing protocol\n"
- "Configure circuit type for interface\n"
- "Level-1 only adjacencies are formed\n"
- "Level-1-2 adjacencies are formed\n"
- "Level-2 only adjacencies are formed\n")
+ "no isis circuit-type [level-1|level-1-2|level-2-only]",
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Configure circuit type for interface\n"
+ "Level-1 only adjacencies are formed\n"
+ "Level-1-2 adjacencies are formed\n"
+ "Level-2 only adjacencies are formed\n")
{
struct interface *ifp;
struct isis_circuit *circuit;
@@ -2210,10 +2210,10 @@ void cli_show_ip_isis_circ_type(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-interface:lib/interface/frr-isisd:isis/network-type
*/
DEFPY_YANG(isis_network, isis_network_cmd, "[no] isis network point-to-point",
- NO_STR
- "IS-IS routing protocol\n"
- "Set network type\n"
- "point-to-point network type\n")
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Set network type\n"
+ "point-to-point network type\n")
{
nb_cli_enqueue_change(vty, "./frr-isisd:isis/network-type",
NB_OP_MODIFY,
@@ -2235,12 +2235,12 @@ void cli_show_ip_isis_network_type(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-interface:lib/interface/frr-isisd:isis/priority
*/
DEFPY_YANG(isis_priority, isis_priority_cmd,
- "isis priority (0-127)$prio [level-1|level-2]$level",
- "IS-IS routing protocol\n"
- "Set priority for Designated Router election\n"
- "Priority value\n"
- "Specify priority for level-1 routing\n"
- "Specify priority for level-2 routing\n")
+ "isis priority (0-127)$prio [level-1|level-2]$level",
+ "IS-IS routing protocol\n"
+ "Set priority for Designated Router election\n"
+ "Priority value\n"
+ "Specify priority for level-1 routing\n"
+ "Specify priority for level-2 routing\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty, "./frr-isisd:isis/priority/level-1",
@@ -2253,13 +2253,13 @@ DEFPY_YANG(isis_priority, isis_priority_cmd,
}
DEFPY_YANG(no_isis_priority, no_isis_priority_cmd,
- "no isis priority [(0-127)] [level-1|level-2]$level",
- NO_STR
- "IS-IS routing protocol\n"
- "Set priority for Designated Router election\n"
- "Priority value\n"
- "Specify priority for level-1 routing\n"
- "Specify priority for level-2 routing\n")
+ "no isis priority [(0-127)] [level-1|level-2]$level",
+ NO_STR
+ "IS-IS routing protocol\n"
+ "Set priority for Designated Router election\n"
+ "Priority value\n"
+ "Specify priority for level-1 routing\n"
+ "Specify priority for level-2 routing\n")
{
if (!level || strmatch(level, "level-1"))
nb_cli_enqueue_change(vty, "./frr-isisd:isis/priority/level-1",
@@ -2289,7 +2289,7 @@ void cli_show_ip_isis_priority(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-isisd:isis/instance/log-adjacency-changes
*/
DEFPY_YANG(log_adj_changes, log_adj_changes_cmd, "[no] log-adjacency-changes",
- NO_STR "Log changes in adjacency state\n")
+ NO_STR "Log changes in adjacency state\n")
{
nb_cli_enqueue_change(vty, "./log-adjacency-changes", NB_OP_MODIFY,
no ? "false" : "true");
diff --git a/lib/filter_cli.c b/lib/filter_cli.c
index 8c7a515dc..a70c62339 100644
--- a/lib/filter_cli.c
+++ b/lib/filter_cli.c
@@ -172,11 +172,8 @@ static long acl_get_seq(struct vty *vty, const char *xpath)
DEFPY_YANG(
access_list_std, access_list_std_cmd,
"access-list <(1-99)|(1300-1999)>$number [seq (1-4294967295)$seq] <deny|permit>$action <[host] A.B.C.D$host|A.B.C.D$host A.B.C.D$mask|any>",
- ACCESS_LIST_STR
- ACCESS_LIST_LEG_STR
- ACCESS_LIST_LEG_EXT_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ ACCESS_LIST_STR ACCESS_LIST_LEG_STR ACCESS_LIST_LEG_EXT_STR
+ ACCESS_LIST_SEQ_STR ACCESS_LIST_ACTION_STR
"A single host address\n"
"Address to match\n"
"Address to match\n"
@@ -223,12 +220,8 @@ DEFPY_YANG(
DEFPY_YANG(
no_access_list_std, no_access_list_std_cmd,
"no access-list <(1-99)|(1300-1999)>$number [seq (1-4294967295)$seq] <deny|permit>$action <[host] A.B.C.D$host|A.B.C.D$host A.B.C.D$mask|any>",
- NO_STR
- ACCESS_LIST_STR
- ACCESS_LIST_LEG_STR
- ACCESS_LIST_LEG_EXT_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ NO_STR ACCESS_LIST_STR ACCESS_LIST_LEG_STR ACCESS_LIST_LEG_EXT_STR
+ ACCESS_LIST_SEQ_STR ACCESS_LIST_ACTION_STR
"A single host address\n"
"Address to match\n"
"Address to match\n"
@@ -283,11 +276,8 @@ DEFPY_YANG(
DEFPY_YANG(
access_list_ext, access_list_ext_cmd,
"access-list <(100-199)|(2000-2699)>$number [seq (1-4294967295)$seq] <deny|permit>$action ip <A.B.C.D$src A.B.C.D$src_mask|host A.B.C.D$src|any> <A.B.C.D$dst A.B.C.D$dst_mask|host A.B.C.D$dst|any>",
- ACCESS_LIST_STR
- ACCESS_LIST_ELEG_STR
- ACCESS_LIST_ELEG_EXT_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ ACCESS_LIST_STR ACCESS_LIST_ELEG_STR ACCESS_LIST_ELEG_EXT_STR
+ ACCESS_LIST_SEQ_STR ACCESS_LIST_ACTION_STR
"IPv4 address\n"
"Source address to match\n"
"Source address mask to apply\n"
@@ -354,12 +344,8 @@ DEFPY_YANG(
DEFPY_YANG(
no_access_list_ext, no_access_list_ext_cmd,
"no access-list <(100-199)|(2000-2699)>$number [seq (1-4294967295)$seq] <deny|permit>$action ip <A.B.C.D$src A.B.C.D$src_mask|host A.B.C.D$src|any> <A.B.C.D$dst A.B.C.D$dst_mask|host A.B.C.D$dst|any>",
- NO_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ELEG_STR
- ACCESS_LIST_ELEG_EXT_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ NO_STR ACCESS_LIST_STR ACCESS_LIST_ELEG_STR ACCESS_LIST_ELEG_EXT_STR
+ ACCESS_LIST_SEQ_STR ACCESS_LIST_ACTION_STR
"Any Internet Protocol\n"
"Source address to match\n"
"Source address mask to apply\n"
@@ -439,10 +425,8 @@ DEFPY_YANG(
DEFPY_YANG(
access_list, access_list_cmd,
"access-list WORD$name [seq (1-4294967295)$seq] <deny|permit>$action <A.B.C.D/M$prefix [exact-match$exact]|any>",
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR ACCESS_LIST_SEQ_STR
+ ACCESS_LIST_ACTION_STR
"Prefix to match. e.g. 10.0.0.0/8\n"
"Exact match of the prefixes\n"
"Match any IPv4\n")
@@ -485,11 +469,8 @@ DEFPY_YANG(
DEFPY_YANG(
no_access_list, no_access_list_cmd,
"no access-list WORD$name [seq (1-4294967295)$seq] <deny|permit>$action <A.B.C.D/M$prefix [exact-match$exact]|any>",
- NO_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ NO_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR ACCESS_LIST_SEQ_STR
+ ACCESS_LIST_ACTION_STR
"Prefix to match. e.g. 10.0.0.0/8\n"
"Exact match of the prefixes\n"
"Match any IPv4\n")
@@ -539,12 +520,9 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_access_list_all, no_access_list_all_cmd,
- "no access-list WORD$name",
- NO_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR)
+DEFPY_YANG(no_access_list_all, no_access_list_all_cmd,
+ "no access-list WORD$name",
+ NO_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR)
{
char xpath[XPATH_MAXLEN];
@@ -555,13 +533,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- access_list_remark, access_list_remark_cmd,
- "access-list WORD$name remark LINE...",
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_REMARK_STR
- ACCESS_LIST_REMARK_LINE_STR)
+DEFPY_YANG(access_list_remark, access_list_remark_cmd,
+ "access-list WORD$name remark LINE...",
+ ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR ACCESS_LIST_REMARK_STR
+ ACCESS_LIST_REMARK_LINE_STR)
{
int rv;
char *remark;
@@ -579,13 +554,9 @@ DEFPY_YANG(
return rv;
}
-DEFPY_YANG(
- no_access_list_remark, no_access_list_remark_cmd,
- "no access-list WORD$name remark",
- NO_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_REMARK_STR)
+DEFPY_YANG(no_access_list_remark, no_access_list_remark_cmd,
+ "no access-list WORD$name remark",
+ NO_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR ACCESS_LIST_REMARK_STR)
{
char xpath[XPATH_MAXLEN];
@@ -609,11 +580,8 @@ ALIAS(
DEFPY_YANG(
ipv6_access_list, ipv6_access_list_cmd,
"ipv6 access-list WORD$name [seq (1-4294967295)$seq] <deny|permit>$action <X:X::X:X/M$prefix [exact-match$exact]|any>",
- IPV6_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ IPV6_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR ACCESS_LIST_SEQ_STR
+ ACCESS_LIST_ACTION_STR
"IPv6 prefix\n"
"Exact match of the prefixes\n"
"Match any IPv6\n")
@@ -656,12 +624,8 @@ DEFPY_YANG(
DEFPY_YANG(
no_ipv6_access_list, no_ipv6_access_list_cmd,
"no ipv6 access-list WORD$name [seq (1-4294967295)$seq] <deny|permit>$action <X:X::X:X/M$prefix [exact-match$exact]|any>",
- NO_STR
- IPV6_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ NO_STR IPV6_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR
+ ACCESS_LIST_SEQ_STR ACCESS_LIST_ACTION_STR
"IPv6 prefix\n"
"Exact match of the prefixes\n"
"Match any IPv6\n")
@@ -711,13 +675,9 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_ipv6_access_list_all, no_ipv6_access_list_all_cmd,
- "no ipv6 access-list WORD$name",
- NO_STR
- IPV6_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR)
+DEFPY_YANG(no_ipv6_access_list_all, no_ipv6_access_list_all_cmd,
+ "no ipv6 access-list WORD$name",
+ NO_STR IPV6_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR)
{
char xpath[XPATH_MAXLEN];
@@ -728,14 +688,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- ipv6_access_list_remark, ipv6_access_list_remark_cmd,
- "ipv6 access-list WORD$name remark LINE...",
- IPV6_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_REMARK_STR
- ACCESS_LIST_REMARK_LINE_STR)
+DEFPY_YANG(ipv6_access_list_remark, ipv6_access_list_remark_cmd,
+ "ipv6 access-list WORD$name remark LINE...",
+ IPV6_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR ACCESS_LIST_REMARK_STR
+ ACCESS_LIST_REMARK_LINE_STR)
{
int rv;
char *remark;
@@ -753,14 +709,10 @@ DEFPY_YANG(
return rv;
}
-DEFPY_YANG(
- no_ipv6_access_list_remark, no_ipv6_access_list_remark_cmd,
- "no ipv6 access-list WORD$name remark",
- NO_STR
- IPV6_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_REMARK_STR)
+DEFPY_YANG(no_ipv6_access_list_remark, no_ipv6_access_list_remark_cmd,
+ "no ipv6 access-list WORD$name remark",
+ NO_STR IPV6_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR
+ ACCESS_LIST_REMARK_STR)
{
char xpath[XPATH_MAXLEN];
@@ -785,11 +737,8 @@ ALIAS(
DEFPY_YANG(
mac_access_list, mac_access_list_cmd,
"mac access-list WORD$name [seq (1-4294967295)$seq] <deny|permit>$action <X:X:X:X:X:X$mac|any>",
- MAC_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ MAC_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR ACCESS_LIST_SEQ_STR
+ ACCESS_LIST_ACTION_STR
"MAC address\n"
"Match any MAC address\n")
{
@@ -828,12 +777,8 @@ DEFPY_YANG(
DEFPY_YANG(
no_mac_access_list, no_mac_access_list_cmd,
"no mac access-list WORD$name [seq (1-4294967295)$seq] <deny|permit>$action <X:X:X:X:X:X$prefix|any>",
- NO_STR
- MAC_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ NO_STR MAC_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR ACCESS_LIST_SEQ_STR
+ ACCESS_LIST_ACTION_STR
"MAC address\n"
"Match any MAC address\n")
{
@@ -882,13 +827,9 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_mac_access_list_all, no_mac_access_list_all_cmd,
- "no mac access-list WORD$name",
- NO_STR
- MAC_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR)
+DEFPY_YANG(no_mac_access_list_all, no_mac_access_list_all_cmd,
+ "no mac access-list WORD$name",
+ NO_STR MAC_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR)
{
char xpath[XPATH_MAXLEN];
@@ -899,14 +840,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- mac_access_list_remark, mac_access_list_remark_cmd,
- "mac access-list WORD$name remark LINE...",
- MAC_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_REMARK_STR
- ACCESS_LIST_REMARK_LINE_STR)
+DEFPY_YANG(mac_access_list_remark, mac_access_list_remark_cmd,
+ "mac access-list WORD$name remark LINE...",
+ MAC_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR ACCESS_LIST_REMARK_STR
+ ACCESS_LIST_REMARK_LINE_STR)
{
int rv;
char *remark;
@@ -924,14 +861,10 @@ DEFPY_YANG(
return rv;
}
-DEFPY_YANG(
- no_mac_access_list_remark, no_mac_access_list_remark_cmd,
- "no mac access-list WORD$name remark",
- NO_STR
- MAC_STR
- ACCESS_LIST_STR
- ACCESS_LIST_ZEBRA_STR
- ACCESS_LIST_REMARK_STR)
+DEFPY_YANG(no_mac_access_list_remark, no_mac_access_list_remark_cmd,
+ "no mac access-list WORD$name remark",
+ NO_STR MAC_STR ACCESS_LIST_STR ACCESS_LIST_ZEBRA_STR
+ ACCESS_LIST_REMARK_STR)
{
char xpath[XPATH_MAXLEN];
@@ -1185,11 +1118,8 @@ static int plist_remove(struct vty *vty, const char *iptype, const char *name,
DEFPY_YANG(
ip_prefix_list, ip_prefix_list_cmd,
"ip prefix-list WORD$name [seq (1-4294967295)$seq] <deny|permit>$action <any|A.B.C.D/M$prefix [{ge (0-32)$ge|le (0-32)$le}]>",
- IP_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ IP_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR ACCESS_LIST_SEQ_STR
+ ACCESS_LIST_ACTION_STR
"Any prefix match. Same as \"0.0.0.0/0 le 32\"\n"
"IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
"Minimum prefix length to be matched\n"
@@ -1242,12 +1172,8 @@ DEFPY_YANG(
DEFPY_YANG(
no_ip_prefix_list, no_ip_prefix_list_cmd,
"no ip prefix-list WORD$name [seq (1-4294967295)$seq] <deny|permit>$action <any|A.B.C.D/M$prefix [{ge (0-32)|le (0-32)}]>",
- NO_STR
- IP_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ NO_STR IP_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR ACCESS_LIST_SEQ_STR
+ ACCESS_LIST_ACTION_STR
"Any prefix match. Same as \"0.0.0.0/0 le 32\"\n"
"IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
"Minimum prefix length to be matched\n"
@@ -1259,25 +1185,17 @@ DEFPY_YANG(
(struct prefix *)prefix, ge, le);
}
-DEFPY_YANG(
- no_ip_prefix_list_seq, no_ip_prefix_list_seq_cmd,
- "no ip prefix-list WORD$name seq (1-4294967295)$seq",
- NO_STR
- IP_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_SEQ_STR)
+DEFPY_YANG(no_ip_prefix_list_seq, no_ip_prefix_list_seq_cmd,
+ "no ip prefix-list WORD$name seq (1-4294967295)$seq",
+ NO_STR IP_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR
+ ACCESS_LIST_SEQ_STR)
{
return plist_remove(vty, "ipv4", name, seq_str, NULL, NULL, 0, 0);
}
-DEFPY_YANG(
- no_ip_prefix_list_all, no_ip_prefix_list_all_cmd,
- "no ip prefix-list WORD$name",
- NO_STR
- IP_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR)
+DEFPY_YANG(no_ip_prefix_list_all, no_ip_prefix_list_all_cmd,
+ "no ip prefix-list WORD$name",
+ NO_STR IP_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR)
{
char xpath[XPATH_MAXLEN];
@@ -1288,14 +1206,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- ip_prefix_list_remark, ip_prefix_list_remark_cmd,
- "ip prefix-list WORD$name description LINE...",
- IP_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_REMARK_STR
- ACCESS_LIST_REMARK_LINE_STR)
+DEFPY_YANG(ip_prefix_list_remark, ip_prefix_list_remark_cmd,
+ "ip prefix-list WORD$name description LINE...",
+ IP_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR ACCESS_LIST_REMARK_STR
+ ACCESS_LIST_REMARK_LINE_STR)
{
int rv;
char *remark;
@@ -1313,14 +1227,10 @@ DEFPY_YANG(
return rv;
}
-DEFPY_YANG(
- no_ip_prefix_list_remark, no_ip_prefix_list_remark_cmd,
- "no ip prefix-list WORD$name description",
- NO_STR
- IP_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_REMARK_STR)
+DEFPY_YANG(no_ip_prefix_list_remark, no_ip_prefix_list_remark_cmd,
+ "no ip prefix-list WORD$name description",
+ NO_STR IP_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR
+ ACCESS_LIST_REMARK_STR)
{
char xpath[XPATH_MAXLEN];
@@ -1345,11 +1255,8 @@ ALIAS(
DEFPY_YANG(
ipv6_prefix_list, ipv6_prefix_list_cmd,
"ipv6 prefix-list WORD$name [seq (1-4294967295)] <deny|permit>$action <any|X:X::X:X/M$prefix [{ge (0-128)$ge|le (0-128)$le}]>",
- IPV6_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ IPV6_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR ACCESS_LIST_SEQ_STR
+ ACCESS_LIST_ACTION_STR
"Any prefix match. Same as \"::0/0 le 128\"\n"
"IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
"Maximum prefix length to be matched\n"
@@ -1402,12 +1309,8 @@ DEFPY_YANG(
DEFPY_YANG(
no_ipv6_prefix_list, no_ipv6_prefix_list_cmd,
"no ipv6 prefix-list WORD$name [seq (1-4294967295)$seq] <deny|permit>$action <any|X:X::X:X/M$prefix [{ge (0-128)$ge|le (0-128)$le}]>",
- NO_STR
- IPV6_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_SEQ_STR
- ACCESS_LIST_ACTION_STR
+ NO_STR IPV6_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR ACCESS_LIST_SEQ_STR
+ ACCESS_LIST_ACTION_STR
"Any prefix match. Same as \"::0/0 le 128\"\n"
"IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
"Maximum prefix length to be matched\n"
@@ -1419,25 +1322,17 @@ DEFPY_YANG(
(struct prefix *)prefix, ge, le);
}
-DEFPY_YANG(
- no_ipv6_prefix_list_seq, no_ipv6_prefix_list_seq_cmd,
- "no ipv6 prefix-list WORD$name seq (1-4294967295)$seq",
- NO_STR
- IPV6_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_SEQ_STR)
+DEFPY_YANG(no_ipv6_prefix_list_seq, no_ipv6_prefix_list_seq_cmd,
+ "no ipv6 prefix-list WORD$name seq (1-4294967295)$seq",
+ NO_STR IPV6_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR
+ ACCESS_LIST_SEQ_STR)
{
return plist_remove(vty, "ipv6", name, seq_str, NULL, NULL, 0, 0);
}
-DEFPY_YANG(
- no_ipv6_prefix_list_all, no_ipv6_prefix_list_all_cmd,
- "no ipv6 prefix-list WORD$name",
- NO_STR
- IPV6_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR)
+DEFPY_YANG(no_ipv6_prefix_list_all, no_ipv6_prefix_list_all_cmd,
+ "no ipv6 prefix-list WORD$name",
+ NO_STR IPV6_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR)
{
char xpath[XPATH_MAXLEN];
@@ -1448,14 +1343,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- ipv6_prefix_list_remark, ipv6_prefix_list_remark_cmd,
- "ipv6 prefix-list WORD$name description LINE...",
- IPV6_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_REMARK_STR
- ACCESS_LIST_REMARK_LINE_STR)
+DEFPY_YANG(ipv6_prefix_list_remark, ipv6_prefix_list_remark_cmd,
+ "ipv6 prefix-list WORD$name description LINE...",
+ IPV6_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR ACCESS_LIST_REMARK_STR
+ ACCESS_LIST_REMARK_LINE_STR)
{
int rv;
char *remark;
@@ -1473,14 +1364,10 @@ DEFPY_YANG(
return rv;
}
-DEFPY_YANG(
- no_ipv6_prefix_list_remark, no_ipv6_prefix_list_remark_cmd,
- "no ipv6 prefix-list WORD$name description",
- NO_STR
- IPV6_STR
- PREFIX_LIST_STR
- PREFIX_LIST_NAME_STR
- ACCESS_LIST_REMARK_STR)
+DEFPY_YANG(no_ipv6_prefix_list_remark, no_ipv6_prefix_list_remark_cmd,
+ "no ipv6 prefix-list WORD$name description",
+ NO_STR IPV6_STR PREFIX_LIST_STR PREFIX_LIST_NAME_STR
+ ACCESS_LIST_REMARK_STR)
{
char xpath[XPATH_MAXLEN];
diff --git a/lib/if.c b/lib/if.c
index 07e786c70..8cb7e2df0 100644
--- a/lib/if.c
+++ b/lib/if.c
@@ -1321,12 +1321,10 @@ void if_link_params_free(struct interface *ifp)
/*
* XPath: /frr-interface:lib/interface
*/
-DEFPY_YANG_NOSH (interface,
- interface_cmd,
- "interface IFNAME [vrf NAME$vrf_name]",
- "Select an interface to configure\n"
- "Interface's name\n"
- VRF_CMD_HELP_STR)
+DEFPY_YANG_NOSH(interface, interface_cmd,
+ "interface IFNAME [vrf NAME$vrf_name]",
+ "Select an interface to configure\n"
+ "Interface's name\n" VRF_CMD_HELP_STR)
{
char xpath_list[XPATH_MAXLEN];
vrf_id_t vrf_id;
@@ -1393,13 +1391,11 @@ DEFPY_YANG_NOSH (interface,
return ret;
}
-DEFPY_YANG (no_interface,
- no_interface_cmd,
- "no interface IFNAME [vrf NAME$vrf_name]",
- NO_STR
- "Delete a pseudo interface's configuration\n"
- "Interface's name\n"
- VRF_CMD_HELP_STR)
+DEFPY_YANG(no_interface, no_interface_cmd,
+ "no interface IFNAME [vrf NAME$vrf_name]",
+ NO_STR
+ "Delete a pseudo interface's configuration\n"
+ "Interface's name\n" VRF_CMD_HELP_STR)
{
if (!vrf_name)
vrf_name = VRF_DEFAULT_NAME;
@@ -1428,11 +1424,9 @@ static void cli_show_interface(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-interface:lib/interface/description
*/
-DEFPY_YANG (interface_desc,
- interface_desc_cmd,
- "description LINE...",
- "Interface specific description\n"
- "Characters describing this interface\n")
+DEFPY_YANG(interface_desc, interface_desc_cmd, "description LINE...",
+ "Interface specific description\n"
+ "Characters describing this interface\n")
{
char *desc;
int ret;
@@ -1445,11 +1439,8 @@ DEFPY_YANG (interface_desc,
return ret;
}
-DEFPY_YANG (no_interface_desc,
- no_interface_desc_cmd,
- "no description",
- NO_STR
- "Interface specific description\n")
+DEFPY_YANG(no_interface_desc, no_interface_desc_cmd, "no description",
+ NO_STR "Interface specific description\n")
{
nb_cli_enqueue_change(vty, "./description", NB_OP_DESTROY, NULL);
diff --git a/lib/routemap_cli.c b/lib/routemap_cli.c
index 014147c3f..1cda5f3fc 100644
--- a/lib/routemap_cli.c
+++ b/lib/routemap_cli.c
@@ -39,12 +39,10 @@
#define ROUTE_MAP_SEQUENCE_CMD_STR \
"Sequence to insert to/delete from existing route-map entry\n"
-DEFPY_YANG_NOSH(
- route_map, route_map_cmd,
- "route-map WORD$name <deny|permit>$action (1-65535)$sequence",
- ROUTE_MAP_CMD_STR
- ROUTE_MAP_OP_CMD_STR
- ROUTE_MAP_SEQUENCE_CMD_STR)
+DEFPY_YANG_NOSH(route_map, route_map_cmd,
+ "route-map WORD$name <deny|permit>$action (1-65535)$sequence",
+ ROUTE_MAP_CMD_STR ROUTE_MAP_OP_CMD_STR
+ ROUTE_MAP_SEQUENCE_CMD_STR)
{
struct route_map_index *rmi;
struct route_map *rm;
@@ -80,11 +78,8 @@ DEFPY_YANG_NOSH(
return rv;
}
-DEFPY_YANG(
- no_route_map_all, no_route_map_all_cmd,
- "no route-map WORD$name",
- NO_STR
- ROUTE_MAP_CMD_STR)
+DEFPY_YANG(no_route_map_all, no_route_map_all_cmd, "no route-map WORD$name",
+ NO_STR ROUTE_MAP_CMD_STR)
{
char xpath[XPATH_MAXLEN];
@@ -95,13 +90,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_route_map, no_route_map_cmd,
- "no route-map WORD$name <deny|permit>$action (1-65535)$sequence",
- NO_STR
- ROUTE_MAP_CMD_STR
- ROUTE_MAP_OP_CMD_STR
- ROUTE_MAP_SEQUENCE_CMD_STR)
+DEFPY_YANG(no_route_map, no_route_map_cmd,
+ "no route-map WORD$name <deny|permit>$action (1-65535)$sequence",
+ NO_STR ROUTE_MAP_CMD_STR ROUTE_MAP_OP_CMD_STR
+ ROUTE_MAP_SEQUENCE_CMD_STR)
{
char xpath[XPATH_MAXLEN];
@@ -180,12 +172,8 @@ void route_map_instance_show_end(struct vty *vty, struct lyd_node *dnode)
vty_out(vty, "!\n");
}
-DEFPY_YANG(
- match_interface, match_interface_cmd,
- "match interface IFNAME",
- MATCH_STR
- "Match first hop interface of route\n"
- INTERFACE_STR)
+DEFPY_YANG(match_interface, match_interface_cmd, "match interface IFNAME",
+ MATCH_STR "Match first hop interface of route\n" INTERFACE_STR)
{
const char *xpath = "./match-condition[condition='interface']";
char xpath_value[XPATH_MAXLEN];
@@ -197,13 +185,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_interface, no_match_interface_cmd,
- "no match interface [IFNAME]",
- NO_STR
- MATCH_STR
- "Match first hop interface of route\n"
- INTERFACE_STR)
+DEFPY_YANG(no_match_interface, no_match_interface_cmd,
+ "no match interface [IFNAME]",
+ NO_STR MATCH_STR
+ "Match first hop interface of route\n" INTERFACE_STR)
{
const char *xpath = "./match-condition[condition='interface']";
@@ -212,15 +197,13 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_ip_address, match_ip_address_cmd,
- "match ip address <(1-199)|(1300-2699)|WORD>$name",
- MATCH_STR
- IP_STR
- "Match address of route\n"
- "IP access-list number\n"
- "IP access-list number (expanded range)\n"
- "IP Access-list name\n")
+DEFPY_YANG(match_ip_address, match_ip_address_cmd,
+ "match ip address <(1-199)|(1300-2699)|WORD>$name",
+ MATCH_STR IP_STR
+ "Match address of route\n"
+ "IP access-list number\n"
+ "IP access-list number (expanded range)\n"
+ "IP Access-list name\n")
{
const char *xpath = "./match-condition[condition='ipv4-address-list']";
char xpath_value[XPATH_MAXLEN + 32];
@@ -232,16 +215,13 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ip_address, no_match_ip_address_cmd,
- "no match ip address [<(1-199)|(1300-2699)|WORD>]",
- NO_STR
- MATCH_STR
- IP_STR
- "Match address of route\n"
- "IP access-list number\n"
- "IP access-list number (expanded range)\n"
- "IP Access-list name\n")
+DEFPY_YANG(no_match_ip_address, no_match_ip_address_cmd,
+ "no match ip address [<(1-199)|(1300-2699)|WORD>]",
+ NO_STR MATCH_STR IP_STR
+ "Match address of route\n"
+ "IP access-list number\n"
+ "IP access-list number (expanded range)\n"
+ "IP Access-list name\n")
{
const char *xpath = "./match-condition[condition='ipv4-address-list']";
@@ -250,15 +230,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_ip_address_prefix_list,
- match_ip_address_prefix_list_cmd,
- "match ip address prefix-list WORD$name",
- MATCH_STR
- IP_STR
- "Match address of route\n"
- "Match entries of prefix-lists\n"
- "IP prefix-list name\n")
+DEFPY_YANG(match_ip_address_prefix_list, match_ip_address_prefix_list_cmd,
+ "match ip address prefix-list WORD$name",
+ MATCH_STR IP_STR
+ "Match address of route\n"
+ "Match entries of prefix-lists\n"
+ "IP prefix-list name\n")
{
const char *xpath = "./match-condition[condition='ipv4-prefix-list']";
char xpath_value[XPATH_MAXLEN];
@@ -270,15 +247,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ip_address_prefix_list, no_match_ip_address_prefix_list_cmd,
- "no match ip address prefix-list [WORD]",
- NO_STR
- MATCH_STR
- IP_STR
- "Match address of route\n"
- "Match entries of prefix-lists\n"
- "IP prefix-list name\n")
+DEFPY_YANG(no_match_ip_address_prefix_list, no_match_ip_address_prefix_list_cmd,
+ "no match ip address prefix-list [WORD]",
+ NO_STR MATCH_STR IP_STR
+ "Match address of route\n"
+ "Match entries of prefix-lists\n"
+ "IP prefix-list name\n")
{
const char *xpath = "./match-condition[condition='ipv4-prefix-list']";
@@ -287,15 +261,13 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_ip_next_hop, match_ip_next_hop_cmd,
- "match ip next-hop <(1-199)|(1300-2699)|WORD>$name",
- MATCH_STR
- IP_STR
- "Match next-hop address of route\n"
- "IP access-list number\n"
- "IP access-list number (expanded range)\n"
- "IP Access-list name\n")
+DEFPY_YANG(match_ip_next_hop, match_ip_next_hop_cmd,
+ "match ip next-hop <(1-199)|(1300-2699)|WORD>$name",
+ MATCH_STR IP_STR
+ "Match next-hop address of route\n"
+ "IP access-list number\n"
+ "IP access-list number (expanded range)\n"
+ "IP Access-list name\n")
{
const char *xpath = "./match-condition[condition='ipv4-next-hop-list']";
char xpath_value[XPATH_MAXLEN + 32];
@@ -307,16 +279,13 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ip_next_hop, no_match_ip_next_hop_cmd,
- "no match ip next-hop [<(1-199)|(1300-2699)|WORD>]",
- NO_STR
- MATCH_STR
- IP_STR
- "Match address of route\n"
- "IP access-list number\n"
- "IP access-list number (expanded range)\n"
- "IP Access-list name\n")
+DEFPY_YANG(no_match_ip_next_hop, no_match_ip_next_hop_cmd,
+ "no match ip next-hop [<(1-199)|(1300-2699)|WORD>]",
+ NO_STR MATCH_STR IP_STR
+ "Match address of route\n"
+ "IP access-list number\n"
+ "IP access-list number (expanded range)\n"
+ "IP Access-list name\n")
{
const char *xpath = "./match-condition[condition='ipv4-next-hop-list']";
@@ -325,15 +294,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_ip_next_hop_prefix_list,
- match_ip_next_hop_prefix_list_cmd,
- "match ip next-hop prefix-list WORD$name",
- MATCH_STR
- IP_STR
- "Match next-hop address of route\n"
- "Match entries of prefix-lists\n"
- "IP prefix-list name\n")
+DEFPY_YANG(match_ip_next_hop_prefix_list, match_ip_next_hop_prefix_list_cmd,
+ "match ip next-hop prefix-list WORD$name",
+ MATCH_STR IP_STR
+ "Match next-hop address of route\n"
+ "Match entries of prefix-lists\n"
+ "IP prefix-list name\n")
{
const char *xpath =
"./match-condition[condition='ipv4-next-hop-prefix-list']";
@@ -346,16 +312,13 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ip_next_hop_prefix_list,
- no_match_ip_next_hop_prefix_list_cmd,
- "no match ip next-hop prefix-list [WORD]",
- NO_STR
- MATCH_STR
- IP_STR
- "Match next-hop address of route\n"
- "Match entries of prefix-lists\n"
- "IP prefix-list name\n")
+DEFPY_YANG(no_match_ip_next_hop_prefix_list,
+ no_match_ip_next_hop_prefix_list_cmd,
+ "no match ip next-hop prefix-list [WORD]",
+ NO_STR MATCH_STR IP_STR
+ "Match next-hop address of route\n"
+ "Match entries of prefix-lists\n"
+ "IP prefix-list name\n")
{
const char *xpath =
"./match-condition[condition='ipv4-next-hop-prefix-list']";
@@ -365,14 +328,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_ip_next_hop_type, match_ip_next_hop_type_cmd,
- "match ip next-hop type <blackhole>$type",
- MATCH_STR
- IP_STR
- "Match next-hop address of route\n"
- "Match entries by type\n"
- "Blackhole\n")
+DEFPY_YANG(match_ip_next_hop_type, match_ip_next_hop_type_cmd,
+ "match ip next-hop type <blackhole>$type",
+ MATCH_STR IP_STR
+ "Match next-hop address of route\n"
+ "Match entries by type\n"
+ "Blackhole\n")
{
const char *xpath = "./match-condition[condition='ipv4-next-hop-type']";
char xpath_value[XPATH_MAXLEN];
@@ -385,13 +346,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ip_next_hop_type, no_match_ip_next_hop_type_cmd,
- "no match ip next-hop type [<blackhole>]",
- NO_STR MATCH_STR IP_STR
- "Match next-hop address of route\n"
- "Match entries by type\n"
- "Blackhole\n")
+DEFPY_YANG(no_match_ip_next_hop_type, no_match_ip_next_hop_type_cmd,
+ "no match ip next-hop type [<blackhole>]",
+ NO_STR MATCH_STR IP_STR
+ "Match next-hop address of route\n"
+ "Match entries by type\n"
+ "Blackhole\n")
{
const char *xpath = "./match-condition[condition='ipv4-next-hop-type']";
@@ -400,13 +360,11 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_ipv6_address, match_ipv6_address_cmd,
- "match ipv6 address WORD$name",
- MATCH_STR
- IPV6_STR
- "Match IPv6 address of route\n"
- "IPv6 access-list name\n")
+DEFPY_YANG(match_ipv6_address, match_ipv6_address_cmd,
+ "match ipv6 address WORD$name",
+ MATCH_STR IPV6_STR
+ "Match IPv6 address of route\n"
+ "IPv6 access-list name\n")
{
const char *xpath = "./match-condition[condition='ipv6-address-list']";
char xpath_value[XPATH_MAXLEN];
@@ -418,14 +376,11 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ipv6_address, no_match_ipv6_address_cmd,
- "no match ipv6 address [WORD]",
- NO_STR
- MATCH_STR
- IPV6_STR
- "Match IPv6 address of route\n"
- "IPv6 access-list name\n")
+DEFPY_YANG(no_match_ipv6_address, no_match_ipv6_address_cmd,
+ "no match ipv6 address [WORD]",
+ NO_STR MATCH_STR IPV6_STR
+ "Match IPv6 address of route\n"
+ "IPv6 access-list name\n")
{
const char *xpath = "./match-condition[condition='ipv6-address-list']";
@@ -434,14 +389,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_ipv6_address_prefix_list, match_ipv6_address_prefix_list_cmd,
- "match ipv6 address prefix-list WORD$name",
- MATCH_STR
- IPV6_STR
- "Match address of route\n"
- "Match entries of prefix-lists\n"
- "IP prefix-list name\n")
+DEFPY_YANG(match_ipv6_address_prefix_list, match_ipv6_address_prefix_list_cmd,
+ "match ipv6 address prefix-list WORD$name",
+ MATCH_STR IPV6_STR
+ "Match address of route\n"
+ "Match entries of prefix-lists\n"
+ "IP prefix-list name\n")
{
const char *xpath = "./match-condition[condition='ipv6-prefix-list']";
char xpath_value[XPATH_MAXLEN];
@@ -453,16 +406,13 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ipv6_address_prefix_list,
- no_match_ipv6_address_prefix_list_cmd,
- "no match ipv6 address prefix-list [WORD]",
- NO_STR
- MATCH_STR
- IPV6_STR
- "Match address of route\n"
- "Match entries of prefix-lists\n"
- "IP prefix-list name\n")
+DEFPY_YANG(no_match_ipv6_address_prefix_list,
+ no_match_ipv6_address_prefix_list_cmd,
+ "no match ipv6 address prefix-list [WORD]",
+ NO_STR MATCH_STR IPV6_STR
+ "Match address of route\n"
+ "Match entries of prefix-lists\n"
+ "IP prefix-list name\n")
{
const char *xpath = "./match-condition[condition='ipv6-prefix-list']";
@@ -471,13 +421,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_ipv6_next_hop_type, match_ipv6_next_hop_type_cmd,
- "match ipv6 next-hop type <blackhole>$type",
- MATCH_STR IPV6_STR
- "Match next-hop address of route\n"
- "Match entries by type\n"
- "Blackhole\n")
+DEFPY_YANG(match_ipv6_next_hop_type, match_ipv6_next_hop_type_cmd,
+ "match ipv6 next-hop type <blackhole>$type",
+ MATCH_STR IPV6_STR
+ "Match next-hop address of route\n"
+ "Match entries by type\n"
+ "Blackhole\n")
{
const char *xpath = "./match-condition[condition='ipv6-next-hop-type']";
char xpath_value[XPATH_MAXLEN];
@@ -490,13 +439,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ipv6_next_hop_type, no_match_ipv6_next_hop_type_cmd,
- "no match ipv6 next-hop type [<blackhole>]",
- NO_STR MATCH_STR IPV6_STR
- "Match address of route\n"
- "Match entries by type\n"
- "Blackhole\n")
+DEFPY_YANG(no_match_ipv6_next_hop_type, no_match_ipv6_next_hop_type_cmd,
+ "no match ipv6 next-hop type [<blackhole>]",
+ NO_STR MATCH_STR IPV6_STR
+ "Match address of route\n"
+ "Match entries by type\n"
+ "Blackhole\n")
{
const char *xpath = "./match-condition[condition='ipv6-next-hop-type']";
@@ -505,12 +453,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_metric, match_metric_cmd,
- "match metric (0-4294967295)$metric",
- MATCH_STR
- "Match metric of route\n"
- "Metric value\n")
+DEFPY_YANG(match_metric, match_metric_cmd, "match metric (0-4294967295)$metric",
+ MATCH_STR
+ "Match metric of route\n"
+ "Metric value\n")
{
const char *xpath = "./match-condition[condition='metric']";
char xpath_value[XPATH_MAXLEN];
@@ -522,13 +468,11 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_metric, no_match_metric_cmd,
- "no match metric [(0-4294967295)]",
- NO_STR
- MATCH_STR
- "Match metric of route\n"
- "Metric value\n")
+DEFPY_YANG(no_match_metric, no_match_metric_cmd,
+ "no match metric [(0-4294967295)]",
+ NO_STR MATCH_STR
+ "Match metric of route\n"
+ "Metric value\n")
{
const char *xpath = "./match-condition[condition='metric']";
@@ -537,12 +481,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_tag, match_tag_cmd,
- "match tag (1-4294967295)$tag",
- MATCH_STR
- "Match tag of route\n"
- "Tag value\n")
+DEFPY_YANG(match_tag, match_tag_cmd, "match tag (1-4294967295)$tag",
+ MATCH_STR
+ "Match tag of route\n"
+ "Tag value\n")
{
const char *xpath = "./match-condition[condition='tag']";
char xpath_value[XPATH_MAXLEN];
@@ -554,13 +496,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_tag, no_match_tag_cmd,
- "no match tag [(1-4294967295)]",
- NO_STR
- MATCH_STR
- "Match tag of route\n"
- "Tag value\n")
+DEFPY_YANG(no_match_tag, no_match_tag_cmd, "no match tag [(1-4294967295)]",
+ NO_STR MATCH_STR
+ "Match tag of route\n"
+ "Tag value\n")
{
const char *xpath = "./match-condition[condition='tag']";
@@ -647,13 +586,10 @@ void route_map_condition_show(struct vty *vty, struct lyd_node *dnode,
}
}
-DEFPY_YANG(
- set_ip_nexthop, set_ip_nexthop_cmd,
- "set ip next-hop A.B.C.D$addr",
- SET_STR
- IP_STR
- "Next hop address\n"
- "IP address of next hop\n")
+DEFPY_YANG(set_ip_nexthop, set_ip_nexthop_cmd, "set ip next-hop A.B.C.D$addr",
+ SET_STR IP_STR
+ "Next hop address\n"
+ "IP address of next hop\n")
{
const char *xpath = "./set-action[action='ipv4-next-hop']";
char xpath_value[XPATH_MAXLEN];
@@ -665,14 +601,11 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_set_ip_nexthop, no_set_ip_nexthop_cmd,
- "no set ip next-hop [A.B.C.D]",
- NO_STR
- SET_STR
- IP_STR
- "Next hop address\n"
- "IP address of next hop\n")
+DEFPY_YANG(no_set_ip_nexthop, no_set_ip_nexthop_cmd,
+ "no set ip next-hop [A.B.C.D]",
+ NO_STR SET_STR IP_STR
+ "Next hop address\n"
+ "IP address of next hop\n")
{
const char *xpath = "./set-action[action='ipv4-next-hop']";
@@ -681,14 +614,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- set_ipv6_nexthop_local, set_ipv6_nexthop_local_cmd,
- "set ipv6 next-hop local X:X::X:X$addr",
- SET_STR
- IPV6_STR
- "IPv6 next-hop address\n"
- "IPv6 local address\n"
- "IPv6 address of next hop\n")
+DEFPY_YANG(set_ipv6_nexthop_local, set_ipv6_nexthop_local_cmd,
+ "set ipv6 next-hop local X:X::X:X$addr",
+ SET_STR IPV6_STR
+ "IPv6 next-hop address\n"
+ "IPv6 local address\n"
+ "IPv6 address of next hop\n")
{
const char *xpath = "./set-action[action='ipv6-next-hop']";
char xpath_value[XPATH_MAXLEN];
@@ -700,15 +631,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_set_ipv6_nexthop_local, no_set_ipv6_nexthop_local_cmd,
- "no set ipv6 next-hop local [X:X::X:X]",
- NO_STR
- SET_STR
- IPV6_STR
- "IPv6 next-hop address\n"
- "IPv6 local address\n"
- "IPv6 address of next hop\n")
+DEFPY_YANG(no_set_ipv6_nexthop_local, no_set_ipv6_nexthop_local_cmd,
+ "no set ipv6 next-hop local [X:X::X:X]",
+ NO_STR SET_STR IPV6_STR
+ "IPv6 next-hop address\n"
+ "IPv6 local address\n"
+ "IPv6 address of next hop\n")
{
const char *xpath = "./set-action[action='ipv6-next-hop']";
@@ -763,13 +691,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_set_metric, no_set_metric_cmd,
- "no set metric [(0-4294967295)]",
- NO_STR
- SET_STR
- "Metric value for destination routing protocol\n"
- "Metric value\n")
+DEFPY_YANG(no_set_metric, no_set_metric_cmd, "no set metric [(0-4294967295)]",
+ NO_STR SET_STR
+ "Metric value for destination routing protocol\n"
+ "Metric value\n")
{
const char *xpath = "./set-action[action='metric']";
@@ -777,12 +702,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- set_tag, set_tag_cmd,
- "set tag (1-4294967295)$tag",
- SET_STR
- "Tag value for routing protocol\n"
- "Tag value\n")
+DEFPY_YANG(set_tag, set_tag_cmd, "set tag (1-4294967295)$tag",
+ SET_STR
+ "Tag value for routing protocol\n"
+ "Tag value\n")
{
const char *xpath = "./set-action[action='tag']";
char xpath_value[XPATH_MAXLEN];
@@ -794,13 +717,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_set_tag, no_set_tag_cmd,
- "no set tag [(1-4294967295)]",
- NO_STR
- SET_STR
- "Tag value for routing protocol\n"
- "Tag value\n")
+DEFPY_YANG(no_set_tag, no_set_tag_cmd, "no set tag [(1-4294967295)]",
+ NO_STR SET_STR
+ "Tag value for routing protocol\n"
+ "Tag value\n")
{
const char *xpath = "./set-action[action='tag']";
@@ -854,36 +774,30 @@ void route_map_action_show(struct vty *vty, struct lyd_node *dnode,
}
}
-DEFPY_YANG(
- rmap_onmatch_next, rmap_onmatch_next_cmd,
- "on-match next",
- "Exit policy on matches\n"
- "Next clause\n")
+DEFPY_YANG(rmap_onmatch_next, rmap_onmatch_next_cmd, "on-match next",
+ "Exit policy on matches\n"
+ "Next clause\n")
{
nb_cli_enqueue_change(vty, "./exit-policy", NB_OP_MODIFY, "next");
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_rmap_onmatch_next,
- no_rmap_onmatch_next_cmd,
- "no on-match next",
- NO_STR
- "Exit policy on matches\n"
- "Next clause\n")
+DEFPY_YANG(no_rmap_onmatch_next, no_rmap_onmatch_next_cmd, "no on-match next",
+ NO_STR
+ "Exit policy on matches\n"
+ "Next clause\n")
{
nb_cli_enqueue_change(vty, "./exit-policy", NB_OP_DESTROY, NULL);
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- rmap_onmatch_goto, rmap_onmatch_goto_cmd,
- "on-match goto (1-65535)$rm_num",
- "Exit policy on matches\n"
- "Goto Clause number\n"
- "Number\n")
+DEFPY_YANG(rmap_onmatch_goto, rmap_onmatch_goto_cmd,
+ "on-match goto (1-65535)$rm_num",
+ "Exit policy on matches\n"
+ "Goto Clause number\n"
+ "Number\n")
{
nb_cli_enqueue_change(vty, "./exit-policy", NB_OP_MODIFY, "goto");
nb_cli_enqueue_change(vty, "./goto-value", NB_OP_MODIFY, rm_num_str);
@@ -891,12 +805,10 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_rmap_onmatch_goto, no_rmap_onmatch_goto_cmd,
- "no on-match goto",
- NO_STR
- "Exit policy on matches\n"
- "Goto Clause number\n")
+DEFPY_YANG(no_rmap_onmatch_goto, no_rmap_onmatch_goto_cmd, "no on-match goto",
+ NO_STR
+ "Exit policy on matches\n"
+ "Goto Clause number\n")
{
nb_cli_enqueue_change(vty, "./exit-policy", NB_OP_DESTROY, NULL);
@@ -904,18 +816,15 @@ DEFPY_YANG(
}
/* Cisco/GNU Zebra compatibility aliases */
-ALIAS_YANG(
- rmap_onmatch_goto, rmap_continue_cmd,
- "continue (1-65535)$rm_num",
- "Continue on a different entry within the route-map\n"
- "Route-map entry sequence number\n")
-
-ALIAS_YANG(
- no_rmap_onmatch_goto, no_rmap_continue_cmd,
- "no continue [(1-65535)]",
- NO_STR
- "Continue on a different entry within the route-map\n"
- "Route-map entry sequence number\n")
+ALIAS_YANG(rmap_onmatch_goto, rmap_continue_cmd, "continue (1-65535)$rm_num",
+ "Continue on a different entry within the route-map\n"
+ "Route-map entry sequence number\n")
+
+ALIAS_YANG(no_rmap_onmatch_goto, no_rmap_continue_cmd,
+ "no continue [(1-65535)]",
+ NO_STR
+ "Continue on a different entry within the route-map\n"
+ "Route-map entry sequence number\n")
void route_map_exit_policy_show(struct vty *vty, struct lyd_node *dnode,
bool show_defaults)
@@ -936,22 +845,17 @@ void route_map_exit_policy_show(struct vty *vty, struct lyd_node *dnode,
}
}
-DEFPY_YANG(
- rmap_call, rmap_call_cmd,
- "call WORD$name",
- "Jump to another Route-Map after match+set\n"
- "Target route-map name\n")
+DEFPY_YANG(rmap_call, rmap_call_cmd, "call WORD$name",
+ "Jump to another Route-Map after match+set\n"
+ "Target route-map name\n")
{
nb_cli_enqueue_change(vty, "./call", NB_OP_MODIFY, name);
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_rmap_call, no_rmap_call_cmd,
- "no call",
- NO_STR
- "Jump to another Route-Map after match+set\n")
+DEFPY_YANG(no_rmap_call, no_rmap_call_cmd, "no call",
+ NO_STR "Jump to another Route-Map after match+set\n")
{
nb_cli_enqueue_change(vty, "./call", NB_OP_DESTROY, NULL);
@@ -964,11 +868,9 @@ void route_map_call_show(struct vty *vty, struct lyd_node *dnode,
vty_out(vty, " call %s\n", yang_dnode_get_string(dnode, NULL));
}
-DEFPY_YANG(
- rmap_description, rmap_description_cmd,
- "description LINE...",
- "Route-map comment\n"
- "Comment describing this route-map rule\n")
+DEFPY_YANG(rmap_description, rmap_description_cmd, "description LINE...",
+ "Route-map comment\n"
+ "Comment describing this route-map rule\n")
{
char *desc;
int rv;
@@ -981,11 +883,8 @@ DEFPY_YANG(
return rv;
}
-DEFUN_YANG (no_rmap_description,
- no_rmap_description_cmd,
- "no description",
- NO_STR
- "Route-map comment\n")
+DEFUN_YANG(no_rmap_description, no_rmap_description_cmd, "no description",
+ NO_STR "Route-map comment\n")
{
nb_cli_enqueue_change(vty, "./description", NB_OP_DESTROY, NULL);
diff --git a/lib/vrf.c b/lib/vrf.c
index 20e08b03d..09d18aae1 100644
--- a/lib/vrf.c
+++ b/lib/vrf.c
@@ -732,11 +732,9 @@ DEFUN_NOSH(vrf_exit,
return CMD_SUCCESS;
}
-DEFUN_YANG_NOSH (vrf,
- vrf_cmd,
- "vrf NAME",
- "Select a VRF to configure\n"
- "VRF's name\n")
+DEFUN_YANG_NOSH(vrf, vrf_cmd, "vrf NAME",
+ "Select a VRF to configure\n"
+ "VRF's name\n")
{
int idx_name = 1;
const char *vrfname = argv[idx_name]->arg;
@@ -744,12 +742,10 @@ DEFUN_YANG_NOSH (vrf,
return vrf_handler_create(vty, vrfname, NULL);
}
-DEFUN_YANG (no_vrf,
- no_vrf_cmd,
- "no vrf NAME",
- NO_STR
- "Delete a pseudo VRF's configuration\n"
- "VRF's name\n")
+DEFUN_YANG(no_vrf, no_vrf_cmd, "no vrf NAME",
+ NO_STR
+ "Delete a pseudo VRF's configuration\n"
+ "VRF's name\n")
{
const char *vrfname = argv[2]->arg;
char xpath_list[XPATH_MAXLEN];
diff --git a/ripd/rip_cli.c b/ripd/rip_cli.c
index 5e64b7afd..12eff0b6f 100644
--- a/ripd/rip_cli.c
+++ b/ripd/rip_cli.c
@@ -37,12 +37,9 @@
/*
* XPath: /frr-ripd:ripd/instance
*/
-DEFPY_YANG_NOSH (router_rip,
- router_rip_cmd,
- "router rip [vrf NAME]",
- "Enable a routing process\n"
- "Routing Information Protocol (RIP)\n"
- VRF_CMD_HELP_STR)
+DEFPY_YANG_NOSH(router_rip, router_rip_cmd, "router rip [vrf NAME]",
+ "Enable a routing process\n"
+ "Routing Information Protocol (RIP)\n" VRF_CMD_HELP_STR)
{
char xpath[XPATH_MAXLEN];
int ret;
@@ -62,13 +59,10 @@ DEFPY_YANG_NOSH (router_rip,
return ret;
}
-DEFPY_YANG (no_router_rip,
- no_router_rip_cmd,
- "no router rip [vrf NAME]",
- NO_STR
- "Enable a routing process\n"
- "Routing Information Protocol (RIP)\n"
- VRF_CMD_HELP_STR)
+DEFPY_YANG(no_router_rip, no_router_rip_cmd, "no router rip [vrf NAME]",
+ NO_STR
+ "Enable a routing process\n"
+ "Routing Information Protocol (RIP)\n" VRF_CMD_HELP_STR)
{
char xpath[XPATH_MAXLEN];
@@ -100,11 +94,8 @@ void cli_show_router_rip(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/allow-ecmp
*/
-DEFPY_YANG (rip_allow_ecmp,
- rip_allow_ecmp_cmd,
- "[no] allow-ecmp",
- NO_STR
- "Allow Equal Cost MultiPath\n")
+DEFPY_YANG(rip_allow_ecmp, rip_allow_ecmp_cmd, "[no] allow-ecmp",
+ NO_STR "Allow Equal Cost MultiPath\n")
{
nb_cli_enqueue_change(vty, "./allow-ecmp", NB_OP_MODIFY,
no ? "false" : "true");
@@ -124,12 +115,12 @@ void cli_show_rip_allow_ecmp(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/default-information-originate
*/
-DEFPY_YANG (rip_default_information_originate,
- rip_default_information_originate_cmd,
- "[no] default-information originate",
- NO_STR
- "Control distribution of default route\n"
- "Distribute a default route\n")
+DEFPY_YANG(rip_default_information_originate,
+ rip_default_information_originate_cmd,
+ "[no] default-information originate",
+ NO_STR
+ "Control distribution of default route\n"
+ "Distribute a default route\n")
{
nb_cli_enqueue_change(vty, "./default-information-originate",
NB_OP_MODIFY, no ? "false" : "true");
@@ -150,11 +141,9 @@ void cli_show_rip_default_information_originate(struct vty *vty,
/*
* XPath: /frr-ripd:ripd/instance/default-metric
*/
-DEFPY_YANG (rip_default_metric,
- rip_default_metric_cmd,
- "default-metric (1-16)",
- "Set a metric of redistribute routes\n"
- "Default metric\n")
+DEFPY_YANG(rip_default_metric, rip_default_metric_cmd, "default-metric (1-16)",
+ "Set a metric of redistribute routes\n"
+ "Default metric\n")
{
nb_cli_enqueue_change(vty, "./default-metric", NB_OP_MODIFY,
default_metric_str);
@@ -162,12 +151,11 @@ DEFPY_YANG (rip_default_metric,
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG (no_rip_default_metric,
- no_rip_default_metric_cmd,
- "no default-metric [(1-16)]",
- NO_STR
- "Set a metric of redistribute routes\n"
- "Default metric\n")
+DEFPY_YANG(no_rip_default_metric, no_rip_default_metric_cmd,
+ "no default-metric [(1-16)]",
+ NO_STR
+ "Set a metric of redistribute routes\n"
+ "Default metric\n")
{
nb_cli_enqueue_change(vty, "./default-metric", NB_OP_MODIFY, NULL);
@@ -184,11 +172,9 @@ void cli_show_rip_default_metric(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/distance/default
*/
-DEFPY_YANG (rip_distance,
- rip_distance_cmd,
- "distance (1-255)",
- "Administrative distance\n"
- "Distance value\n")
+DEFPY_YANG(rip_distance, rip_distance_cmd, "distance (1-255)",
+ "Administrative distance\n"
+ "Distance value\n")
{
nb_cli_enqueue_change(vty, "./distance/default", NB_OP_MODIFY,
distance_str);
@@ -196,12 +182,10 @@ DEFPY_YANG (rip_distance,
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG (no_rip_distance,
- no_rip_distance_cmd,
- "no distance [(1-255)]",
- NO_STR
- "Administrative distance\n"
- "Distance value\n")
+DEFPY_YANG(no_rip_distance, no_rip_distance_cmd, "no distance [(1-255)]",
+ NO_STR
+ "Administrative distance\n"
+ "Distance value\n")
{
nb_cli_enqueue_change(vty, "./distance/default", NB_OP_MODIFY, NULL);
@@ -221,14 +205,13 @@ void cli_show_rip_distance(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/distance/source
*/
-DEFPY_YANG (rip_distance_source,
- rip_distance_source_cmd,
- "[no] distance (1-255) A.B.C.D/M$prefix [WORD$acl]",
- NO_STR
- "Administrative distance\n"
- "Distance value\n"
- "IP source prefix\n"
- "Access list name\n")
+DEFPY_YANG(rip_distance_source, rip_distance_source_cmd,
+ "[no] distance (1-255) A.B.C.D/M$prefix [WORD$acl]",
+ NO_STR
+ "Administrative distance\n"
+ "Distance value\n"
+ "IP source prefix\n"
+ "Access list name\n")
{
if (!no) {
nb_cli_enqueue_change(vty, ".", NB_OP_CREATE, NULL);
@@ -258,12 +241,10 @@ void cli_show_rip_distance_source(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/explicit-neighbor
*/
-DEFPY_YANG (rip_neighbor,
- rip_neighbor_cmd,
- "[no] neighbor A.B.C.D",
- NO_STR
- "Specify a neighbor router\n"
- "Neighbor address\n")
+DEFPY_YANG(rip_neighbor, rip_neighbor_cmd, "[no] neighbor A.B.C.D",
+ NO_STR
+ "Specify a neighbor router\n"
+ "Neighbor address\n")
{
nb_cli_enqueue_change(vty, "./explicit-neighbor",
no ? NB_OP_DESTROY : NB_OP_CREATE, neighbor_str);
@@ -280,12 +261,10 @@ void cli_show_rip_neighbor(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/network
*/
-DEFPY_YANG (rip_network_prefix,
- rip_network_prefix_cmd,
- "[no] network A.B.C.D/M",
- NO_STR
- "Enable routing on an IP network\n"
- "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n")
+DEFPY_YANG(rip_network_prefix, rip_network_prefix_cmd, "[no] network A.B.C.D/M",
+ NO_STR
+ "Enable routing on an IP network\n"
+ "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n")
{
nb_cli_enqueue_change(vty, "./network",
no ? NB_OP_DESTROY : NB_OP_CREATE, network_str);
@@ -302,12 +281,10 @@ void cli_show_rip_network_prefix(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/interface
*/
-DEFPY_YANG (rip_network_if,
- rip_network_if_cmd,
- "[no] network WORD",
- NO_STR
- "Enable routing on an IP network\n"
- "Interface name\n")
+DEFPY_YANG(rip_network_if, rip_network_if_cmd, "[no] network WORD",
+ NO_STR
+ "Enable routing on an IP network\n"
+ "Interface name\n")
{
nb_cli_enqueue_change(vty, "./interface",
no ? NB_OP_DESTROY : NB_OP_CREATE, network);
@@ -324,16 +301,16 @@ void cli_show_rip_network_interface(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/offset-list
*/
-DEFPY_YANG (rip_offset_list,
- rip_offset_list_cmd,
- "[no] offset-list WORD$acl <in|out>$direction (0-16)$metric [IFNAME]",
- NO_STR
- "Modify RIP metric\n"
- "Access-list name\n"
- "For incoming updates\n"
- "For outgoing updates\n"
- "Metric value\n"
- "Interface to match\n")
+DEFPY_YANG(
+ rip_offset_list, rip_offset_list_cmd,
+ "[no] offset-list WORD$acl <in|out>$direction (0-16)$metric [IFNAME]",
+ NO_STR
+ "Modify RIP metric\n"
+ "Access-list name\n"
+ "For incoming updates\n"
+ "For outgoing updates\n"
+ "Metric value\n"
+ "Interface to match\n")
{
if (!no) {
nb_cli_enqueue_change(vty, ".", NB_OP_CREATE, NULL);
@@ -367,12 +344,11 @@ void cli_show_rip_offset_list(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/passive-default
*/
-DEFPY_YANG (rip_passive_default,
- rip_passive_default_cmd,
- "[no] passive-interface default",
- NO_STR
- "Suppress routing updates on an interface\n"
- "default for all interfaces\n")
+DEFPY_YANG(rip_passive_default, rip_passive_default_cmd,
+ "[no] passive-interface default",
+ NO_STR
+ "Suppress routing updates on an interface\n"
+ "default for all interfaces\n")
{
nb_cli_enqueue_change(vty, "./passive-default", NB_OP_MODIFY,
no ? "false" : "true");
@@ -393,12 +369,11 @@ void cli_show_rip_passive_default(struct vty *vty, struct lyd_node *dnode,
* XPath: /frr-ripd:ripd/instance/passive-interface
* /frr-ripd:ripd/instance/non-passive-interface
*/
-DEFPY_YANG (rip_passive_interface,
- rip_passive_interface_cmd,
- "[no] passive-interface IFNAME",
- NO_STR
- "Suppress routing updates on an interface\n"
- "Interface name\n")
+DEFPY_YANG(rip_passive_interface, rip_passive_interface_cmd,
+ "[no] passive-interface IFNAME",
+ NO_STR
+ "Suppress routing updates on an interface\n"
+ "Interface name\n")
{
bool passive_default =
yang_dnode_get_bool(vty->candidate_config->dnode, "%s%s",
@@ -434,16 +409,14 @@ void cli_show_rip_non_passive_interface(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/redistribute
*/
-DEFPY_YANG (rip_redistribute,
- rip_redistribute_cmd,
- "[no] redistribute " FRR_REDIST_STR_RIPD "$protocol [{metric (0-16)|route-map WORD}]",
- NO_STR
- REDIST_STR
- FRR_REDIST_HELP_STR_RIPD
- "Metric\n"
- "Metric value\n"
- "Route map reference\n"
- "Pointer to route-map entries\n")
+DEFPY_YANG(rip_redistribute, rip_redistribute_cmd,
+ "[no] redistribute " FRR_REDIST_STR_RIPD
+ "$protocol [{metric (0-16)|route-map WORD}]",
+ NO_STR REDIST_STR FRR_REDIST_HELP_STR_RIPD
+ "Metric\n"
+ "Metric value\n"
+ "Route map reference\n"
+ "Pointer to route-map entries\n")
{
if (!no) {
nb_cli_enqueue_change(vty, ".", NB_OP_CREATE, NULL);
@@ -477,12 +450,10 @@ void cli_show_rip_redistribute(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/static-route
*/
-DEFPY_YANG (rip_route,
- rip_route_cmd,
- "[no] route A.B.C.D/M",
- NO_STR
- "RIP static route configuration\n"
- "IP prefix <network>/<length>\n")
+DEFPY_YANG(rip_route, rip_route_cmd, "[no] route A.B.C.D/M",
+ NO_STR
+ "RIP static route configuration\n"
+ "IP prefix <network>/<length>\n")
{
nb_cli_enqueue_change(vty, "./static-route",
no ? NB_OP_DESTROY : NB_OP_CREATE, route_str);
@@ -499,14 +470,14 @@ void cli_show_rip_route(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/timers
*/
-DEFPY_YANG (rip_timers,
- rip_timers_cmd,
- "timers basic (5-2147483647)$update (5-2147483647)$timeout (5-2147483647)$garbage",
- "Adjust routing timers\n"
- "Basic routing protocol update timers\n"
- "Routing table update timer value in second. Default is 30.\n"
- "Routing information timeout timer. Default is 180.\n"
- "Garbage collection timer. Default is 120.\n")
+DEFPY_YANG(
+ rip_timers, rip_timers_cmd,
+ "timers basic (5-2147483647)$update (5-2147483647)$timeout (5-2147483647)$garbage",
+ "Adjust routing timers\n"
+ "Basic routing protocol update timers\n"
+ "Routing table update timer value in second. Default is 30.\n"
+ "Routing information timeout timer. Default is 180.\n"
+ "Garbage collection timer. Default is 120.\n")
{
nb_cli_enqueue_change(vty, "./update-interval", NB_OP_MODIFY,
update_str);
@@ -518,15 +489,14 @@ DEFPY_YANG (rip_timers,
return nb_cli_apply_changes(vty, "./timers");
}
-DEFPY_YANG (no_rip_timers,
- no_rip_timers_cmd,
- "no timers basic [(5-2147483647) (5-2147483647) (5-2147483647)]",
- NO_STR
- "Adjust routing timers\n"
- "Basic routing protocol update timers\n"
- "Routing table update timer value in second. Default is 30.\n"
- "Routing information timeout timer. Default is 180.\n"
- "Garbage collection timer. Default is 120.\n")
+DEFPY_YANG(no_rip_timers, no_rip_timers_cmd,
+ "no timers basic [(5-2147483647) (5-2147483647) (5-2147483647)]",
+ NO_STR
+ "Adjust routing timers\n"
+ "Basic routing protocol update timers\n"
+ "Routing table update timer value in second. Default is 30.\n"
+ "Routing information timeout timer. Default is 180.\n"
+ "Garbage collection timer. Default is 120.\n")
{
nb_cli_enqueue_change(vty, "./update-interval", NB_OP_MODIFY, NULL);
nb_cli_enqueue_change(vty, "./holddown-interval", NB_OP_MODIFY, NULL);
@@ -547,11 +517,9 @@ void cli_show_rip_timers(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripd:ripd/instance/version
*/
-DEFPY_YANG (rip_version,
- rip_version_cmd,
- "version (1-2)",
- "Set routing protocol version\n"
- "version\n")
+DEFPY_YANG(rip_version, rip_version_cmd, "version (1-2)",
+ "Set routing protocol version\n"
+ "version\n")
{
nb_cli_enqueue_change(vty, "./version/receive", NB_OP_MODIFY,
version_str);
@@ -560,12 +528,10 @@ DEFPY_YANG (rip_version,
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG (no_rip_version,
- no_rip_version_cmd,
- "no version [(1-2)]",
- NO_STR
- "Set routing protocol version\n"
- "version\n")
+DEFPY_YANG(no_rip_version, no_rip_version_cmd, "no version [(1-2)]",
+ NO_STR
+ "Set routing protocol version\n"
+ "version\n")
{
nb_cli_enqueue_change(vty, "./version/receive", NB_OP_MODIFY, NULL);
nb_cli_enqueue_change(vty, "./version/send", NB_OP_MODIFY, NULL);
@@ -596,14 +562,12 @@ void cli_show_rip_version(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-interface:lib/interface/frr-ripd:rip/split-horizon
*/
-DEFPY_YANG (ip_rip_split_horizon,
- ip_rip_split_horizon_cmd,
- "[no] ip rip split-horizon [poisoned-reverse$poisoned_reverse]",
- NO_STR
- IP_STR
- "Routing Information Protocol\n"
- "Perform split horizon\n"
- "With poisoned-reverse\n")
+DEFPY_YANG(ip_rip_split_horizon, ip_rip_split_horizon_cmd,
+ "[no] ip rip split-horizon [poisoned-reverse$poisoned_reverse]",
+ NO_STR IP_STR
+ "Routing Information Protocol\n"
+ "Perform split horizon\n"
+ "With poisoned-reverse\n")
{
const char *value;
@@ -641,13 +605,11 @@ void cli_show_ip_rip_split_horizon(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-interface:lib/interface/frr-ripd:rip/v2-broadcast
*/
-DEFPY_YANG (ip_rip_v2_broadcast,
- ip_rip_v2_broadcast_cmd,
- "[no] ip rip v2-broadcast",
- NO_STR
- IP_STR
- "Routing Information Protocol\n"
- "Send ip broadcast v2 update\n")
+DEFPY_YANG(ip_rip_v2_broadcast, ip_rip_v2_broadcast_cmd,
+ "[no] ip rip v2-broadcast",
+ NO_STR IP_STR
+ "Routing Information Protocol\n"
+ "Send ip broadcast v2 update\n")
{
nb_cli_enqueue_change(vty, "./v2-broadcast", NB_OP_MODIFY,
no ? "false" : "true");
@@ -667,16 +629,15 @@ void cli_show_ip_rip_v2_broadcast(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-interface:lib/interface/frr-ripd:rip/version-receive
*/
-DEFPY_YANG (ip_rip_receive_version,
- ip_rip_receive_version_cmd,
- "ip rip receive version <{1$v1|2$v2}|none>",
- IP_STR
- "Routing Information Protocol\n"
- "Advertisement reception\n"
- "Version control\n"
- "RIP version 1\n"
- "RIP version 2\n"
- "None\n")
+DEFPY_YANG(ip_rip_receive_version, ip_rip_receive_version_cmd,
+ "ip rip receive version <{1$v1|2$v2}|none>",
+ IP_STR
+ "Routing Information Protocol\n"
+ "Advertisement reception\n"
+ "Version control\n"
+ "RIP version 1\n"
+ "RIP version 2\n"
+ "None\n")
{
const char *value;
@@ -694,17 +655,15 @@ DEFPY_YANG (ip_rip_receive_version,
return nb_cli_apply_changes(vty, "./frr-ripd:rip");
}
-DEFPY_YANG (no_ip_rip_receive_version,
- no_ip_rip_receive_version_cmd,
- "no ip rip receive version [<{1|2}|none>]",
- NO_STR
- IP_STR
- "Routing Information Protocol\n"
- "Advertisement reception\n"
- "Version control\n"
- "RIP version 1\n"
- "RIP version 2\n"
- "None\n")
+DEFPY_YANG(no_ip_rip_receive_version, no_ip_rip_receive_version_cmd,
+ "no ip rip receive version [<{1|2}|none>]",
+ NO_STR IP_STR
+ "Routing Information Protocol\n"
+ "Advertisement reception\n"
+ "Version control\n"
+ "RIP version 1\n"
+ "RIP version 2\n"
+ "None\n")
{
nb_cli_enqueue_change(vty, "./version-receive", NB_OP_MODIFY, NULL);
@@ -736,16 +695,15 @@ void cli_show_ip_rip_receive_version(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-interface:lib/interface/frr-ripd:rip/version-send
*/
-DEFPY_YANG (ip_rip_send_version,
- ip_rip_send_version_cmd,
- "ip rip send version <{1$v1|2$v2}|none>",
- IP_STR
- "Routing Information Protocol\n"
- "Advertisement transmission\n"
- "Version control\n"
- "RIP version 1\n"
- "RIP version 2\n"
- "None\n")
+DEFPY_YANG(ip_rip_send_version, ip_rip_send_version_cmd,
+ "ip rip send version <{1$v1|2$v2}|none>",
+ IP_STR
+ "Routing Information Protocol\n"
+ "Advertisement transmission\n"
+ "Version control\n"
+ "RIP version 1\n"
+ "RIP version 2\n"
+ "None\n")
{
const char *value;
@@ -763,17 +721,15 @@ DEFPY_YANG (ip_rip_send_version,
return nb_cli_apply_changes(vty, "./frr-ripd:rip");
}
-DEFPY_YANG (no_ip_rip_send_version,
- no_ip_rip_send_version_cmd,
- "no ip rip send version [<{1|2}|none>]",
- NO_STR
- IP_STR
- "Routing Information Protocol\n"
- "Advertisement transmission\n"
- "Version control\n"
- "RIP version 1\n"
- "RIP version 2\n"
- "None\n")
+DEFPY_YANG(no_ip_rip_send_version, no_ip_rip_send_version_cmd,
+ "no ip rip send version [<{1|2}|none>]",
+ NO_STR IP_STR
+ "Routing Information Protocol\n"
+ "Advertisement transmission\n"
+ "Version control\n"
+ "RIP version 1\n"
+ "RIP version 2\n"
+ "None\n")
{
nb_cli_enqueue_change(vty, "./version-send", NB_OP_MODIFY, NULL);
@@ -805,18 +761,18 @@ void cli_show_ip_rip_send_version(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-interface:lib/interface/frr-ripd:rip/authentication-scheme
*/
-DEFPY_YANG (ip_rip_authentication_mode,
- ip_rip_authentication_mode_cmd,
- "ip rip authentication mode <md5$mode [auth-length <rfc|old-ripd>$auth_length]|text$mode>",
- IP_STR
- "Routing Information Protocol\n"
- "Authentication control\n"
- "Authentication mode\n"
- "Keyed message digest\n"
- "MD5 authentication data length\n"
- "RFC compatible\n"
- "Old ripd compatible\n"
- "Clear text authentication\n")
+DEFPY_YANG(
+ ip_rip_authentication_mode, ip_rip_authentication_mode_cmd,
+ "ip rip authentication mode <md5$mode [auth-length <rfc|old-ripd>$auth_length]|text$mode>",
+ IP_STR
+ "Routing Information Protocol\n"
+ "Authentication control\n"
+ "Authentication mode\n"
+ "Keyed message digest\n"
+ "MD5 authentication data length\n"
+ "RFC compatible\n"
+ "Old ripd compatible\n"
+ "Clear text authentication\n")
{
const char *value = NULL;
@@ -837,19 +793,18 @@ DEFPY_YANG (ip_rip_authentication_mode,
return nb_cli_apply_changes(vty, "./frr-ripd:rip");
}
-DEFPY_YANG (no_ip_rip_authentication_mode,
- no_ip_rip_authentication_mode_cmd,
- "no ip rip authentication mode [<md5 [auth-length <rfc|old-ripd>]|text>]",
- NO_STR
- IP_STR
- "Routing Information Protocol\n"
- "Authentication control\n"
- "Authentication mode\n"
- "Keyed message digest\n"
- "MD5 authentication data length\n"
- "RFC compatible\n"
- "Old ripd compatible\n"
- "Clear text authentication\n")
+DEFPY_YANG(
+ no_ip_rip_authentication_mode, no_ip_rip_authentication_mode_cmd,
+ "no ip rip authentication mode [<md5 [auth-length <rfc|old-ripd>]|text>]",
+ NO_STR IP_STR
+ "Routing Information Protocol\n"
+ "Authentication control\n"
+ "Authentication mode\n"
+ "Keyed message digest\n"
+ "MD5 authentication data length\n"
+ "RFC compatible\n"
+ "Old ripd compatible\n"
+ "Clear text authentication\n")
{
nb_cli_enqueue_change(vty, "./authentication-scheme/mode", NB_OP_MODIFY,
NULL);
@@ -888,14 +843,13 @@ void cli_show_ip_rip_authentication_scheme(struct vty *vty,
/*
* XPath: /frr-interface:lib/interface/frr-ripd:rip/authentication-password
*/
-DEFPY_YANG (ip_rip_authentication_string,
- ip_rip_authentication_string_cmd,
- "ip rip authentication string LINE$password",
- IP_STR
- "Routing Information Protocol\n"
- "Authentication control\n"
- "Authentication string\n"
- "Authentication string\n")
+DEFPY_YANG(ip_rip_authentication_string, ip_rip_authentication_string_cmd,
+ "ip rip authentication string LINE$password",
+ IP_STR
+ "Routing Information Protocol\n"
+ "Authentication control\n"
+ "Authentication string\n"
+ "Authentication string\n")
{
if (strlen(password) > 16) {
vty_out(vty,
@@ -916,15 +870,13 @@ DEFPY_YANG (ip_rip_authentication_string,
return nb_cli_apply_changes(vty, "./frr-ripd:rip");
}
-DEFPY_YANG (no_ip_rip_authentication_string,
- no_ip_rip_authentication_string_cmd,
- "no ip rip authentication string [LINE]",
- NO_STR
- IP_STR
- "Routing Information Protocol\n"
- "Authentication control\n"
- "Authentication string\n"
- "Authentication string\n")
+DEFPY_YANG(no_ip_rip_authentication_string, no_ip_rip_authentication_string_cmd,
+ "no ip rip authentication string [LINE]",
+ NO_STR IP_STR
+ "Routing Information Protocol\n"
+ "Authentication control\n"
+ "Authentication string\n"
+ "Authentication string\n")
{
nb_cli_enqueue_change(vty, "./authentication-password", NB_OP_DESTROY,
NULL);
@@ -943,14 +895,13 @@ void cli_show_ip_rip_authentication_string(struct vty *vty,
/*
* XPath: /frr-interface:lib/interface/frr-ripd:rip/authentication-key-chain
*/
-DEFPY_YANG (ip_rip_authentication_key_chain,
- ip_rip_authentication_key_chain_cmd,
- "ip rip authentication key-chain LINE$keychain",
- IP_STR
- "Routing Information Protocol\n"
- "Authentication control\n"
- "Authentication key-chain\n"
- "name of key-chain\n")
+DEFPY_YANG(ip_rip_authentication_key_chain, ip_rip_authentication_key_chain_cmd,
+ "ip rip authentication key-chain LINE$keychain",
+ IP_STR
+ "Routing Information Protocol\n"
+ "Authentication control\n"
+ "Authentication key-chain\n"
+ "name of key-chain\n")
{
if (yang_dnode_exists(vty->candidate_config->dnode, "%s%s",
VTY_CURR_XPATH,
@@ -965,15 +916,14 @@ DEFPY_YANG (ip_rip_authentication_key_chain,
return nb_cli_apply_changes(vty, "./frr-ripd:rip");
}
-DEFPY_YANG (no_ip_rip_authentication_key_chain,
- no_ip_rip_authentication_key_chain_cmd,
- "no ip rip authentication key-chain [LINE]",
- NO_STR
- IP_STR
- "Routing Information Protocol\n"
- "Authentication control\n"
- "Authentication key-chain\n"
- "name of key-chain\n")
+DEFPY_YANG(no_ip_rip_authentication_key_chain,
+ no_ip_rip_authentication_key_chain_cmd,
+ "no ip rip authentication key-chain [LINE]",
+ NO_STR IP_STR
+ "Routing Information Protocol\n"
+ "Authentication control\n"
+ "Authentication key-chain\n"
+ "name of key-chain\n")
{
nb_cli_enqueue_change(vty, "./authentication-key-chain", NB_OP_DESTROY,
NULL);
@@ -992,13 +942,8 @@ void cli_show_ip_rip_authentication_key_chain(struct vty *vty,
/*
* XPath: /frr-ripd:clear-rip-route
*/
-DEFPY_YANG (clear_ip_rip,
- clear_ip_rip_cmd,
- "clear ip rip [vrf WORD]",
- CLEAR_STR
- IP_STR
- "Clear IP RIP database\n"
- VRF_CMD_HELP_STR)
+DEFPY_YANG(clear_ip_rip, clear_ip_rip_cmd, "clear ip rip [vrf WORD]",
+ CLEAR_STR IP_STR "Clear IP RIP database\n" VRF_CMD_HELP_STR)
{
struct list *input;
int ret;
diff --git a/ripngd/ripng_cli.c b/ripngd/ripng_cli.c
index f66de175f..9494f37ce 100644
--- a/ripngd/ripng_cli.c
+++ b/ripngd/ripng_cli.c
@@ -37,12 +37,9 @@
/*
* XPath: /frr-ripngd:ripngd/instance
*/
-DEFPY_YANG_NOSH (router_ripng,
- router_ripng_cmd,
- "router ripng [vrf NAME]",
- "Enable a routing process\n"
- "Make RIPng instance command\n"
- VRF_CMD_HELP_STR)
+DEFPY_YANG_NOSH(router_ripng, router_ripng_cmd, "router ripng [vrf NAME]",
+ "Enable a routing process\n"
+ "Make RIPng instance command\n" VRF_CMD_HELP_STR)
{
char xpath[XPATH_MAXLEN];
int ret;
@@ -62,13 +59,10 @@ DEFPY_YANG_NOSH (router_ripng,
return ret;
}
-DEFPY_YANG (no_router_ripng,
- no_router_ripng_cmd,
- "no router ripng [vrf NAME]",
- NO_STR
- "Enable a routing process\n"
- "Make RIPng instance command\n"
- VRF_CMD_HELP_STR)
+DEFPY_YANG(no_router_ripng, no_router_ripng_cmd, "no router ripng [vrf NAME]",
+ NO_STR
+ "Enable a routing process\n"
+ "Make RIPng instance command\n" VRF_CMD_HELP_STR)
{
char xpath[XPATH_MAXLEN];
@@ -100,11 +94,8 @@ void cli_show_router_ripng(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:ripngd/instance/allow-ecmp
*/
-DEFPY_YANG (ripng_allow_ecmp,
- ripng_allow_ecmp_cmd,
- "[no] allow-ecmp",
- NO_STR
- "Allow Equal Cost MultiPath\n")
+DEFPY_YANG(ripng_allow_ecmp, ripng_allow_ecmp_cmd, "[no] allow-ecmp",
+ NO_STR "Allow Equal Cost MultiPath\n")
{
nb_cli_enqueue_change(vty, "./allow-ecmp", NB_OP_MODIFY,
no ? "false" : "true");
@@ -124,12 +115,12 @@ void cli_show_ripng_allow_ecmp(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:ripngd/instance/default-information-originate
*/
-DEFPY_YANG (ripng_default_information_originate,
- ripng_default_information_originate_cmd,
- "[no] default-information originate",
- NO_STR
- "Default route information\n"
- "Distribute default route\n")
+DEFPY_YANG(ripng_default_information_originate,
+ ripng_default_information_originate_cmd,
+ "[no] default-information originate",
+ NO_STR
+ "Default route information\n"
+ "Distribute default route\n")
{
nb_cli_enqueue_change(vty, "./default-information-originate",
NB_OP_MODIFY, no ? "false" : "true");
@@ -150,11 +141,10 @@ void cli_show_ripng_default_information_originate(struct vty *vty,
/*
* XPath: /frr-ripngd:ripngd/instance/default-metric
*/
-DEFPY_YANG (ripng_default_metric,
- ripng_default_metric_cmd,
- "default-metric (1-16)",
- "Set a metric of redistribute routes\n"
- "Default metric\n")
+DEFPY_YANG(ripng_default_metric, ripng_default_metric_cmd,
+ "default-metric (1-16)",
+ "Set a metric of redistribute routes\n"
+ "Default metric\n")
{
nb_cli_enqueue_change(vty, "./default-metric", NB_OP_MODIFY,
default_metric_str);
@@ -162,12 +152,11 @@ DEFPY_YANG (ripng_default_metric,
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG (no_ripng_default_metric,
- no_ripng_default_metric_cmd,
- "no default-metric [(1-16)]",
- NO_STR
- "Set a metric of redistribute routes\n"
- "Default metric\n")
+DEFPY_YANG(no_ripng_default_metric, no_ripng_default_metric_cmd,
+ "no default-metric [(1-16)]",
+ NO_STR
+ "Set a metric of redistribute routes\n"
+ "Default metric\n")
{
nb_cli_enqueue_change(vty, "./default-metric", NB_OP_MODIFY, NULL);
@@ -184,12 +173,11 @@ void cli_show_ripng_default_metric(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:ripngd/instance/network
*/
-DEFPY_YANG (ripng_network_prefix,
- ripng_network_prefix_cmd,
- "[no] network X:X::X:X/M",
- NO_STR
- "RIPng enable on specified interface or network.\n"
- "IPv6 network\n")
+DEFPY_YANG(ripng_network_prefix, ripng_network_prefix_cmd,
+ "[no] network X:X::X:X/M",
+ NO_STR
+ "RIPng enable on specified interface or network.\n"
+ "IPv6 network\n")
{
nb_cli_enqueue_change(vty, "./network",
no ? NB_OP_DESTROY : NB_OP_CREATE, network_str);
@@ -206,12 +194,10 @@ void cli_show_ripng_network_prefix(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:ripngd/instance/interface
*/
-DEFPY_YANG (ripng_network_if,
- ripng_network_if_cmd,
- "[no] network WORD",
- NO_STR
- "RIPng enable on specified interface or network.\n"
- "Interface name\n")
+DEFPY_YANG(ripng_network_if, ripng_network_if_cmd, "[no] network WORD",
+ NO_STR
+ "RIPng enable on specified interface or network.\n"
+ "Interface name\n")
{
nb_cli_enqueue_change(vty, "./interface",
no ? NB_OP_DESTROY : NB_OP_CREATE, network);
@@ -228,16 +214,16 @@ void cli_show_ripng_network_interface(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:ripngd/instance/offset-list
*/
-DEFPY_YANG (ripng_offset_list,
- ripng_offset_list_cmd,
- "[no] offset-list WORD$acl <in|out>$direction (0-16)$metric [IFNAME]",
- NO_STR
- "Modify RIPng metric\n"
- "Access-list name\n"
- "For incoming updates\n"
- "For outgoing updates\n"
- "Metric value\n"
- "Interface to match\n")
+DEFPY_YANG(
+ ripng_offset_list, ripng_offset_list_cmd,
+ "[no] offset-list WORD$acl <in|out>$direction (0-16)$metric [IFNAME]",
+ NO_STR
+ "Modify RIPng metric\n"
+ "Access-list name\n"
+ "For incoming updates\n"
+ "For outgoing updates\n"
+ "Metric value\n"
+ "Interface to match\n")
{
if (!no) {
nb_cli_enqueue_change(vty, ".", NB_OP_CREATE, NULL);
@@ -271,12 +257,11 @@ void cli_show_ripng_offset_list(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:ripngd/instance/passive-interface
*/
-DEFPY_YANG (ripng_passive_interface,
- ripng_passive_interface_cmd,
- "[no] passive-interface IFNAME",
- NO_STR
- "Suppress routing updates on an interface\n"
- "Interface name\n")
+DEFPY_YANG(ripng_passive_interface, ripng_passive_interface_cmd,
+ "[no] passive-interface IFNAME",
+ NO_STR
+ "Suppress routing updates on an interface\n"
+ "Interface name\n")
{
nb_cli_enqueue_change(vty, "./passive-interface",
no ? NB_OP_DESTROY : NB_OP_CREATE, ifname);
@@ -294,16 +279,14 @@ void cli_show_ripng_passive_interface(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:ripngd/instance/redistribute
*/
-DEFPY_YANG (ripng_redistribute,
- ripng_redistribute_cmd,
- "[no] redistribute " FRR_REDIST_STR_RIPNGD "$protocol [{metric (0-16)|route-map WORD}]",
- NO_STR
- REDIST_STR
- FRR_REDIST_HELP_STR_RIPNGD
- "Metric\n"
- "Metric value\n"
- "Route map reference\n"
- "Pointer to route-map entries\n")
+DEFPY_YANG(ripng_redistribute, ripng_redistribute_cmd,
+ "[no] redistribute " FRR_REDIST_STR_RIPNGD
+ "$protocol [{metric (0-16)|route-map WORD}]",
+ NO_STR REDIST_STR FRR_REDIST_HELP_STR_RIPNGD
+ "Metric\n"
+ "Metric value\n"
+ "Route map reference\n"
+ "Pointer to route-map entries\n")
{
if (!no) {
nb_cli_enqueue_change(vty, ".", NB_OP_CREATE, NULL);
@@ -337,12 +320,10 @@ void cli_show_ripng_redistribute(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:ripngd/instance/static-route
*/
-DEFPY_YANG (ripng_route,
- ripng_route_cmd,
- "[no] route X:X::X:X/M",
- NO_STR
- "Static route setup\n"
- "Set static RIPng route announcement\n")
+DEFPY_YANG(ripng_route, ripng_route_cmd, "[no] route X:X::X:X/M",
+ NO_STR
+ "Static route setup\n"
+ "Set static RIPng route announcement\n")
{
nb_cli_enqueue_change(vty, "./static-route",
no ? NB_OP_DESTROY : NB_OP_CREATE, route_str);
@@ -359,12 +340,11 @@ void cli_show_ripng_route(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:ripngd/instance/aggregate-addres
*/
-DEFPY_YANG (ripng_aggregate_address,
- ripng_aggregate_address_cmd,
- "[no] aggregate-address X:X::X:X/M",
- NO_STR
- "Set aggregate RIPng route announcement\n"
- "Aggregate network\n")
+DEFPY_YANG(ripng_aggregate_address, ripng_aggregate_address_cmd,
+ "[no] aggregate-address X:X::X:X/M",
+ NO_STR
+ "Set aggregate RIPng route announcement\n"
+ "Aggregate network\n")
{
nb_cli_enqueue_change(vty, "./aggregate-address",
no ? NB_OP_DESTROY : NB_OP_CREATE,
@@ -383,14 +363,13 @@ void cli_show_ripng_aggregate_address(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:ripngd/instance/timers
*/
-DEFPY_YANG (ripng_timers,
- ripng_timers_cmd,
- "timers basic (1-65535)$update (1-65535)$timeout (1-65535)$garbage",
- "RIPng timers setup\n"
- "Basic timer\n"
- "Routing table update timer value in second. Default is 30.\n"
- "Routing information timeout timer. Default is 180.\n"
- "Garbage collection timer. Default is 120.\n")
+DEFPY_YANG(ripng_timers, ripng_timers_cmd,
+ "timers basic (1-65535)$update (1-65535)$timeout (1-65535)$garbage",
+ "RIPng timers setup\n"
+ "Basic timer\n"
+ "Routing table update timer value in second. Default is 30.\n"
+ "Routing information timeout timer. Default is 180.\n"
+ "Garbage collection timer. Default is 120.\n")
{
nb_cli_enqueue_change(vty, "./update-interval", NB_OP_MODIFY,
update_str);
@@ -402,15 +381,14 @@ DEFPY_YANG (ripng_timers,
return nb_cli_apply_changes(vty, "./timers");
}
-DEFPY_YANG (no_ripng_timers,
- no_ripng_timers_cmd,
- "no timers basic [(1-65535) (1-65535) (1-65535)]",
- NO_STR
- "RIPng timers setup\n"
- "Basic timer\n"
- "Routing table update timer value in second. Default is 30.\n"
- "Routing information timeout timer. Default is 180.\n"
- "Garbage collection timer. Default is 120.\n")
+DEFPY_YANG(no_ripng_timers, no_ripng_timers_cmd,
+ "no timers basic [(1-65535) (1-65535) (1-65535)]",
+ NO_STR
+ "RIPng timers setup\n"
+ "Basic timer\n"
+ "Routing table update timer value in second. Default is 30.\n"
+ "Routing information timeout timer. Default is 180.\n"
+ "Garbage collection timer. Default is 120.\n")
{
nb_cli_enqueue_change(vty, "./update-interval", NB_OP_MODIFY, NULL);
nb_cli_enqueue_change(vty, "./holddown-interval", NB_OP_MODIFY, NULL);
@@ -431,14 +409,12 @@ void cli_show_ripng_timers(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-interface:lib/interface/frr-ripngd:ripng/split-horizon
*/
-DEFPY_YANG (ipv6_ripng_split_horizon,
- ipv6_ripng_split_horizon_cmd,
- "[no] ipv6 ripng split-horizon [poisoned-reverse$poisoned_reverse]",
- NO_STR
- IPV6_STR
- "Routing Information Protocol\n"
- "Perform split horizon\n"
- "With poisoned-reverse\n")
+DEFPY_YANG(ipv6_ripng_split_horizon, ipv6_ripng_split_horizon_cmd,
+ "[no] ipv6 ripng split-horizon [poisoned-reverse$poisoned_reverse]",
+ NO_STR IPV6_STR
+ "Routing Information Protocol\n"
+ "Perform split horizon\n"
+ "With poisoned-reverse\n")
{
const char *value;
@@ -476,13 +452,8 @@ void cli_show_ipv6_ripng_split_horizon(struct vty *vty, struct lyd_node *dnode,
/*
* XPath: /frr-ripngd:clear-ripng-route
*/
-DEFPY_YANG (clear_ipv6_rip,
- clear_ipv6_rip_cmd,
- "clear ipv6 ripng [vrf WORD]",
- CLEAR_STR
- IPV6_STR
- "Clear IPv6 RIP database\n"
- VRF_CMD_HELP_STR)
+DEFPY_YANG(clear_ipv6_rip, clear_ipv6_rip_cmd, "clear ipv6 ripng [vrf WORD]",
+ CLEAR_STR IPV6_STR "Clear IPv6 RIP database\n" VRF_CMD_HELP_STR)
{
struct list *input;
int ret;
diff --git a/staticd/static_vty.c b/staticd/static_vty.c
index ac18f6adf..560fdff49 100644
--- a/staticd/static_vty.c
+++ b/staticd/static_vty.c
@@ -451,16 +451,15 @@ int static_config(struct vty *vty, struct static_vrf *svrf, afi_t afi,
}
/* Static unicast routes for multicast RPF lookup. */
-DEFPY_YANG (ip_mroute_dist,
- ip_mroute_dist_cmd,
- "[no] ip mroute A.B.C.D/M$prefix <A.B.C.D$gate|INTERFACE$ifname> [(1-255)$distance]",
- NO_STR
- IP_STR
- "Configure static unicast route into MRIB for multicast RPF lookup\n"
- "IP destination prefix (e.g. 10.0.0.0/8)\n"
- "Nexthop address\n"
- "Nexthop interface name\n"
- "Distance\n")
+DEFPY_YANG(
+ ip_mroute_dist, ip_mroute_dist_cmd,
+ "[no] ip mroute A.B.C.D/M$prefix <A.B.C.D$gate|INTERFACE$ifname> [(1-255)$distance]",
+ NO_STR IP_STR
+ "Configure static unicast route into MRIB for multicast RPF lookup\n"
+ "IP destination prefix (e.g. 10.0.0.0/8)\n"
+ "Nexthop address\n"
+ "Nexthop interface name\n"
+ "Distance\n")
{
return static_route(vty, AFI_IP, SAFI_MULTICAST, no, prefix_str,
NULL, NULL, gate_str, ifname, NULL, NULL,
@@ -468,9 +467,8 @@ DEFPY_YANG (ip_mroute_dist,
}
/* Static route configuration. */
-DEFPY_YANG(ip_route_blackhole,
- ip_route_blackhole_cmd,
- "[no] ip route\
+DEFPY_YANG(ip_route_blackhole, ip_route_blackhole_cmd,
+ "[no] ip route\
<A.B.C.D/M$prefix|A.B.C.D$prefix A.B.C.D$mask> \
<reject|blackhole>$flag \
[{ \
@@ -480,20 +478,18 @@ DEFPY_YANG(ip_route_blackhole,
|label WORD \
|table (1-4294967295) \
}]",
- NO_STR IP_STR
- "Establish static routes\n"
- "IP destination prefix (e.g. 10.0.0.0/8)\n"
- "IP destination prefix\n"
- "IP destination prefix mask\n"
- "Emit an ICMP unreachable when matched\n"
- "Silently discard pkts when matched\n"
- "Set tag for this route\n"
- "Tag value\n"
- "Distance value for this route\n"
- VRF_CMD_HELP_STR
- MPLS_LABEL_HELPSTR
- "Table to configure\n"
- "The table number to configure\n")
+ NO_STR IP_STR
+ "Establish static routes\n"
+ "IP destination prefix (e.g. 10.0.0.0/8)\n"
+ "IP destination prefix\n"
+ "IP destination prefix mask\n"
+ "Emit an ICMP unreachable when matched\n"
+ "Silently discard pkts when matched\n"
+ "Set tag for this route\n"
+ "Tag value\n"
+ "Distance value for this route\n" VRF_CMD_HELP_STR MPLS_LABEL_HELPSTR
+ "Table to configure\n"
+ "The table number to configure\n")
{
if (table_str && vrf && !vrf_is_backend_netns()) {
vty_out(vty,
@@ -506,9 +502,8 @@ DEFPY_YANG(ip_route_blackhole,
distance_str, vrf, label, table_str);
}
-DEFPY_YANG(ip_route_blackhole_vrf,
- ip_route_blackhole_vrf_cmd,
- "[no] ip route\
+DEFPY_YANG(ip_route_blackhole_vrf, ip_route_blackhole_vrf_cmd,
+ "[no] ip route\
<A.B.C.D/M$prefix|A.B.C.D$prefix A.B.C.D$mask> \
<reject|blackhole>$flag \
[{ \
@@ -517,19 +512,18 @@ DEFPY_YANG(ip_route_blackhole_vrf,
|label WORD \
|table (1-4294967295) \
}]",
- NO_STR IP_STR
- "Establish static routes\n"
- "IP destination prefix (e.g. 10.0.0.0/8)\n"
- "IP destination prefix\n"
- "IP destination prefix mask\n"
- "Emit an ICMP unreachable when matched\n"
- "Silently discard pkts when matched\n"
- "Set tag for this route\n"
- "Tag value\n"
- "Distance value for this route\n"
- MPLS_LABEL_HELPSTR
- "Table to configure\n"
- "The table number to configure\n")
+ NO_STR IP_STR
+ "Establish static routes\n"
+ "IP destination prefix (e.g. 10.0.0.0/8)\n"
+ "IP destination prefix\n"
+ "IP destination prefix mask\n"
+ "Emit an ICMP unreachable when matched\n"
+ "Silently discard pkts when matched\n"
+ "Set tag for this route\n"
+ "Tag value\n"
+ "Distance value for this route\n" MPLS_LABEL_HELPSTR
+ "Table to configure\n"
+ "The table number to configure\n")
{
const struct lyd_node *vrf_dnode;
const char *vrfname;
@@ -553,9 +547,8 @@ DEFPY_YANG(ip_route_blackhole_vrf,
false);
}
-DEFPY_YANG(ip_route_address_interface,
- ip_route_address_interface_cmd,
- "[no] ip route\
+DEFPY_YANG(ip_route_address_interface, ip_route_address_interface_cmd,
+ "[no] ip route\
<A.B.C.D/M$prefix|A.B.C.D$prefix A.B.C.D$mask> \
A.B.C.D$gate \
<INTERFACE|Null0>$ifname \
@@ -568,23 +561,20 @@ DEFPY_YANG(ip_route_address_interface,
|nexthop-vrf NAME \
|onlink$onlink \
}]",
- NO_STR IP_STR
- "Establish static routes\n"
- "IP destination prefix (e.g. 10.0.0.0/8)\n"
- "IP destination prefix\n"
- "IP destination prefix mask\n"
- "IP gateway address\n"
- "IP gateway interface name\n"
- "Null interface\n"
- "Set tag for this route\n"
- "Tag value\n"
- "Distance value for this route\n"
- VRF_CMD_HELP_STR
- MPLS_LABEL_HELPSTR
- "Table to configure\n"
- "The table number to configure\n"
- VRF_CMD_HELP_STR
- "Treat the nexthop as directly attached to the interface\n")
+ NO_STR IP_STR
+ "Establish static routes\n"
+ "IP destination prefix (e.g. 10.0.0.0/8)\n"
+ "IP destination prefix\n"
+ "IP destination prefix mask\n"
+ "IP gateway address\n"
+ "IP gateway interface name\n"
+ "Null interface\n"
+ "Set tag for this route\n"
+ "Tag value\n"
+ "Distance value for this route\n" VRF_CMD_HELP_STR MPLS_LABEL_HELPSTR
+ "Table to configure\n"
+ "The table number to configure\n" VRF_CMD_HELP_STR
+ "Treat the nexthop as directly attached to the interface\n")
{
const char *nh_vrf;
const char *flag = NULL;
@@ -607,9 +597,8 @@ DEFPY_YANG(ip_route_address_interface,
!!onlink);
}
-DEFPY_YANG(ip_route_address_interface_vrf,
- ip_route_address_interface_vrf_cmd,
- "[no] ip route\
+DEFPY_YANG(ip_route_address_interface_vrf, ip_route_address_interface_vrf_cmd,
+ "[no] ip route\
<A.B.C.D/M$prefix|A.B.C.D$prefix A.B.C.D$mask> \
A.B.C.D$gate \
<INTERFACE|Null0>$ifname \
@@ -621,22 +610,20 @@ DEFPY_YANG(ip_route_address_interface_vrf,
|nexthop-vrf NAME \
|onlink$onlink \
}]",
- NO_STR IP_STR
- "Establish static routes\n"
- "IP destination prefix (e.g. 10.0.0.0/8)\n"
- "IP destination prefix\n"
- "IP destination prefix mask\n"
- "IP gateway address\n"
- "IP gateway interface name\n"
- "Null interface\n"
- "Set tag for this route\n"
- "Tag value\n"
- "Distance value for this route\n"
- MPLS_LABEL_HELPSTR
- "Table to configure\n"
- "The table number to configure\n"
- VRF_CMD_HELP_STR
- "Treat the nexthop as directly attached to the interface\n")
+ NO_STR IP_STR
+ "Establish static routes\n"
+ "IP destination prefix (e.g. 10.0.0.0/8)\n"
+ "IP destination prefix\n"
+ "IP destination prefix mask\n"
+ "IP gateway address\n"
+ "IP gateway interface name\n"
+ "Null interface\n"
+ "Set tag for this route\n"
+ "Tag value\n"
+ "Distance value for this route\n" MPLS_LABEL_HELPSTR
+ "Table to configure\n"
+ "The table number to configure\n" VRF_CMD_HELP_STR
+ "Treat the nexthop as directly attached to the interface\n")
{
const char *nh_vrf;
const char *flag = NULL;
@@ -666,9 +653,8 @@ DEFPY_YANG(ip_route_address_interface_vrf,
!!onlink);
}
-DEFPY_YANG(ip_route,
- ip_route_cmd,
- "[no] ip route\
+DEFPY_YANG(ip_route, ip_route_cmd,
+ "[no] ip route\
<A.B.C.D/M$prefix|A.B.C.D$prefix A.B.C.D$mask> \
<A.B.C.D$gate|<INTERFACE|Null0>$ifname> \
[{ \
@@ -679,22 +665,19 @@ DEFPY_YANG(ip_route,
|table (1-4294967295) \
|nexthop-vrf NAME \
}]",
- NO_STR IP_STR
- "Establish static routes\n"
- "IP destination prefix (e.g. 10.0.0.0/8)\n"
- "IP destination prefix\n"
- "IP destination prefix mask\n"
- "IP gateway address\n"
- "IP gateway interface name\n"
- "Null interface\n"
- "Set tag for this route\n"
- "Tag value\n"
- "Distance value for this route\n"
- VRF_CMD_HELP_STR
- MPLS_LABEL_HELPSTR
- "Table to configure\n"
- "The table number to configure\n"
- VRF_CMD_HELP_STR)
+ NO_STR IP_STR
+ "Establish static routes\n"
+ "IP destination prefix (e.g. 10.0.0.0/8)\n"
+ "IP destination prefix\n"
+ "IP destination prefix mask\n"
+ "IP gateway address\n"
+ "IP gateway interface name\n"
+ "Null interface\n"
+ "Set tag for this route\n"
+ "Tag value\n"
+ "Distance value for this route\n" VRF_CMD_HELP_STR MPLS_LABEL_HELPSTR
+ "Table to configure\n"
+ "The table number to configure\n" VRF_CMD_HELP_STR)
{
const char *nh_vrf;
const char *flag = NULL;
@@ -718,9 +701,8 @@ DEFPY_YANG(ip_route,
false);
}
-DEFPY_YANG(ip_route_vrf,
- ip_route_vrf_cmd,
- "[no] ip route\
+DEFPY_YANG(ip_route_vrf, ip_route_vrf_cmd,
+ "[no] ip route\
<A.B.C.D/M$prefix|A.B.C.D$prefix A.B.C.D$mask> \
<A.B.C.D$gate|<INTERFACE|Null0>$ifname> \
[{ \
@@ -730,21 +712,19 @@ DEFPY_YANG(ip_route_vrf,
|table (1-4294967295) \
|nexthop-vrf NAME \
}]",
- NO_STR IP_STR
- "Establish static routes\n"
- "IP destination prefix (e.g. 10.0.0.0/8)\n"
- "IP destination prefix\n"
- "IP destination prefix mask\n"
- "IP gateway address\n"
- "IP gateway interface name\n"
- "Null interface\n"
- "Set tag for this route\n"
- "Tag value\n"
- "Distance value for this route\n"
- MPLS_LABEL_HELPSTR
- "Table to configure\n"
- "The table number to configure\n"
- VRF_CMD_HELP_STR)
+ NO_STR IP_STR
+ "Establish static routes\n"
+ "IP destination prefix (e.g. 10.0.0.0/8)\n"
+ "IP destination prefix\n"
+ "IP destination prefix mask\n"
+ "IP gateway address\n"
+ "IP gateway interface name\n"
+ "Null interface\n"
+ "Set tag for this route\n"
+ "Tag value\n"
+ "Distance value for this route\n" MPLS_LABEL_HELPSTR
+ "Table to configure\n"
+ "The table number to configure\n" VRF_CMD_HELP_STR)
{
const char *nh_vrf;
const char *flag = NULL;
@@ -775,9 +755,9 @@ DEFPY_YANG(ip_route_vrf,
false);
}
-DEFPY_YANG(ipv6_route_blackhole,
- ipv6_route_blackhole_cmd,
- "[no] ipv6 route X:X::X:X/M$prefix [from X:X::X:X/M] \
+DEFPY_YANG(
+ ipv6_route_blackhole, ipv6_route_blackhole_cmd,
+ "[no] ipv6 route X:X::X:X/M$prefix [from X:X::X:X/M] \
<reject|blackhole>$flag \
[{ \
tag (1-4294967295) \
@@ -786,21 +766,18 @@ DEFPY_YANG(ipv6_route_blackhole,
|label WORD \
|table (1-4294967295) \
}]",
- NO_STR
- IPV6_STR
- "Establish static routes\n"
- "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
- "IPv6 source-dest route\n"
- "IPv6 source prefix\n"
- "Emit an ICMP unreachable when matched\n"
- "Silently discard pkts when matched\n"
- "Set tag for this route\n"
- "Tag value\n"
- "Distance value for this prefix\n"
- VRF_CMD_HELP_STR
- MPLS_LABEL_HELPSTR
- "Table to configure\n"
- "The table number to configure\n")
+ NO_STR IPV6_STR
+ "Establish static routes\n"
+ "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
+ "IPv6 source-dest route\n"
+ "IPv6 source prefix\n"
+ "Emit an ICMP unreachable when matched\n"
+ "Silently discard pkts when matched\n"
+ "Set tag for this route\n"
+ "Tag value\n"
+ "Distance value for this prefix\n" VRF_CMD_HELP_STR MPLS_LABEL_HELPSTR
+ "Table to configure\n"
+ "The table number to configure\n")
{
if (table_str && vrf && !vrf_is_backend_netns()) {
vty_out(vty,
@@ -813,9 +790,8 @@ DEFPY_YANG(ipv6_route_blackhole,
distance_str, vrf, label, table_str);
}
-DEFPY_YANG(ipv6_route_blackhole_vrf,
- ipv6_route_blackhole_vrf_cmd,
- "[no] ipv6 route X:X::X:X/M$prefix [from X:X::X:X/M] \
+DEFPY_YANG(ipv6_route_blackhole_vrf, ipv6_route_blackhole_vrf_cmd,
+ "[no] ipv6 route X:X::X:X/M$prefix [from X:X::X:X/M] \
<reject|blackhole>$flag \
[{ \
tag (1-4294967295) \
@@ -823,20 +799,18 @@ DEFPY_YANG(ipv6_route_blackhole_vrf,
|label WORD \
|table (1-4294967295) \
}]",
- NO_STR
- IPV6_STR
- "Establish static routes\n"
- "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
- "IPv6 source-dest route\n"
- "IPv6 source prefix\n"
- "Emit an ICMP unreachable when matched\n"
- "Silently discard pkts when matched\n"
- "Set tag for this route\n"
- "Tag value\n"
- "Distance value for this prefix\n"
- MPLS_LABEL_HELPSTR
- "Table to configure\n"
- "The table number to configure\n")
+ NO_STR IPV6_STR
+ "Establish static routes\n"
+ "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
+ "IPv6 source-dest route\n"
+ "IPv6 source prefix\n"
+ "Emit an ICMP unreachable when matched\n"
+ "Silently discard pkts when matched\n"
+ "Set tag for this route\n"
+ "Tag value\n"
+ "Distance value for this prefix\n" MPLS_LABEL_HELPSTR
+ "Table to configure\n"
+ "The table number to configure\n")
{
const struct lyd_node *vrf_dnode;
const char *vrfname;
@@ -862,9 +836,9 @@ DEFPY_YANG(ipv6_route_blackhole_vrf,
false);
}
-DEFPY_YANG(ipv6_route_address_interface,
- ipv6_route_address_interface_cmd,
- "[no] ipv6 route X:X::X:X/M$prefix [from X:X::X:X/M] \
+DEFPY_YANG(
+ ipv6_route_address_interface, ipv6_route_address_interface_cmd,
+ "[no] ipv6 route X:X::X:X/M$prefix [from X:X::X:X/M] \
X:X::X:X$gate \
<INTERFACE|Null0>$ifname \
[{ \
@@ -876,24 +850,20 @@ DEFPY_YANG(ipv6_route_address_interface,
|nexthop-vrf NAME \
|onlink$onlink \
}]",
- NO_STR
- IPV6_STR
- "Establish static routes\n"
- "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
- "IPv6 source-dest route\n"
- "IPv6 source prefix\n"
- "IPv6 gateway address\n"
- "IPv6 gateway interface name\n"
- "Null interface\n"
- "Set tag for this route\n"
- "Tag value\n"
- "Distance value for this prefix\n"
- VRF_CMD_HELP_STR
- MPLS_LABEL_HELPSTR
- "Table to configure\n"
- "The table number to configure\n"
- VRF_CMD_HELP_STR
- "Treat the nexthop as directly attached to the interface\n")
+ NO_STR IPV6_STR
+ "Establish static routes\n"
+ "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
+ "IPv6 source-dest route\n"
+ "IPv6 source prefix\n"
+ "IPv6 gateway address\n"
+ "IPv6 gateway interface name\n"
+ "Null interface\n"
+ "Set tag for this route\n"
+ "Tag value\n"
+ "Distance value for this prefix\n" VRF_CMD_HELP_STR MPLS_LABEL_HELPSTR
+ "Table to configure\n"
+ "The table number to configure\n" VRF_CMD_HELP_STR
+ "Treat the nexthop as directly attached to the interface\n")
{
const char *nh_vrf;
const char *flag = NULL;
@@ -918,8 +888,8 @@ DEFPY_YANG(ipv6_route_address_interface,
}
DEFPY_YANG(ipv6_route_address_interface_vrf,
- ipv6_route_address_interface_vrf_cmd,
- "[no] ipv6 route X:X::X:X/M$prefix [from X:X::X:X/M] \
+ ipv6_route_address_interface_vrf_cmd,
+ "[no] ipv6 route X:X::X:X/M$prefix [from X:X::X:X/M] \
X:X::X:X$gate \
<INTERFACE|Null0>$ifname \
[{ \
@@ -930,23 +900,20 @@ DEFPY_YANG(ipv6_route_address_interface_vrf,
|nexthop-vrf NAME \
|onlink$onlink \
}]",
- NO_STR
- IPV6_STR
- "Establish static routes\n"
- "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
- "IPv6 source-dest route\n"
- "IPv6 source prefix\n"
- "IPv6 gateway address\n"
- "IPv6 gateway interface name\n"
- "Null interface\n"
- "Set tag for this route\n"
- "Tag value\n"
- "Distance value for this prefix\n"
- MPLS_LABEL_HELPSTR
- "Table to configure\n"
- "The table number to configure\n"
- VRF_CMD_HELP_STR
- "Treat the nexthop as directly attached to the interface\n")
+ NO_STR IPV6_STR
+ "Establish static routes\n"
+ "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
+ "IPv6 source-dest route\n"
+ "IPv6 source prefix\n"
+ "IPv6 gateway address\n"
+ "IPv6 gateway interface name\n"
+ "Null interface\n"
+ "Set tag for this route\n"
+ "Tag value\n"
+ "Distance value for this prefix\n" MPLS_LABEL_HELPSTR
+ "Table to configure\n"
+ "The table number to configure\n" VRF_CMD_HELP_STR
+ "Treat the nexthop as directly attached to the interface\n")
{
const char *nh_vrf;
const char *flag = NULL;
@@ -976,9 +943,9 @@ DEFPY_YANG(ipv6_route_address_interface_vrf,
table_str, !!onlink);
}
-DEFPY_YANG(ipv6_route,
- ipv6_route_cmd,
- "[no] ipv6 route X:X::X:X/M$prefix [from X:X::X:X/M] \
+DEFPY_YANG(
+ ipv6_route, ipv6_route_cmd,
+ "[no] ipv6 route X:X::X:X/M$prefix [from X:X::X:X/M] \
<X:X::X:X$gate|<INTERFACE|Null0>$ifname> \
[{ \
tag (1-4294967295) \
@@ -988,23 +955,19 @@ DEFPY_YANG(ipv6_route,
|table (1-4294967295) \
|nexthop-vrf NAME \
}]",
- NO_STR
- IPV6_STR
- "Establish static routes\n"
- "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
- "IPv6 source-dest route\n"
- "IPv6 source prefix\n"
- "IPv6 gateway address\n"
- "IPv6 gateway interface name\n"
- "Null interface\n"
- "Set tag for this route\n"
- "Tag value\n"
- "Distance value for this prefix\n"
- VRF_CMD_HELP_STR
- MPLS_LABEL_HELPSTR
- "Table to configure\n"
- "The table number to configure\n"
- VRF_CMD_HELP_STR)
+ NO_STR IPV6_STR
+ "Establish static routes\n"
+ "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
+ "IPv6 source-dest route\n"
+ "IPv6 source prefix\n"
+ "IPv6 gateway address\n"
+ "IPv6 gateway interface name\n"
+ "Null interface\n"
+ "Set tag for this route\n"
+ "Tag value\n"
+ "Distance value for this prefix\n" VRF_CMD_HELP_STR MPLS_LABEL_HELPSTR
+ "Table to configure\n"
+ "The table number to configure\n" VRF_CMD_HELP_STR)
{
const char *nh_vrf;
const char *flag = NULL;
@@ -1027,9 +990,8 @@ DEFPY_YANG(ipv6_route,
false);
}
-DEFPY_YANG(ipv6_route_vrf,
- ipv6_route_vrf_cmd,
- "[no] ipv6 route X:X::X:X/M$prefix [from X:X::X:X/M] \
+DEFPY_YANG(ipv6_route_vrf, ipv6_route_vrf_cmd,
+ "[no] ipv6 route X:X::X:X/M$prefix [from X:X::X:X/M] \
<X:X::X:X$gate|<INTERFACE|Null0>$ifname> \
[{ \
tag (1-4294967295) \
@@ -1038,22 +1000,19 @@ DEFPY_YANG(ipv6_route_vrf,
|table (1-4294967295) \
|nexthop-vrf NAME \
}]",
- NO_STR
- IPV6_STR
- "Establish static routes\n"
- "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
- "IPv6 source-dest route\n"
- "IPv6 source prefix\n"
- "IPv6 gateway address\n"
- "IPv6 gateway interface name\n"
- "Null interface\n"
- "Set tag for this route\n"
- "Tag value\n"
- "Distance value for this prefix\n"
- MPLS_LABEL_HELPSTR
- "Table to configure\n"
- "The table number to configure\n"
- VRF_CMD_HELP_STR)
+ NO_STR IPV6_STR
+ "Establish static routes\n"
+ "IPv6 destination prefix (e.g. 3ffe:506::/32)\n"
+ "IPv6 source-dest route\n"
+ "IPv6 source prefix\n"
+ "IPv6 gateway address\n"
+ "IPv6 gateway interface name\n"
+ "Null interface\n"
+ "Set tag for this route\n"
+ "Tag value\n"
+ "Distance value for this prefix\n" MPLS_LABEL_HELPSTR
+ "Table to configure\n"
+ "The table number to configure\n" VRF_CMD_HELP_STR)
{
const char *nh_vrf;
const char *flag = NULL;
@@ -1082,13 +1041,9 @@ DEFPY_YANG(ipv6_route_vrf,
ifname, flag, tag_str, distance_str, label,
table_str, false);
}
-DEFPY_YANG(debug_staticd,
- debug_staticd_cmd,
- "[no] debug static [{events$events}]",
- NO_STR
- DEBUG_STR
- STATICD_STR
- "Debug events\n")
+DEFPY_YANG(debug_staticd, debug_staticd_cmd,
+ "[no] debug static [{events$events}]",
+ NO_STR DEBUG_STR STATICD_STR "Debug events\n")
{
/* If no specific category, change all */
if (strmatch(argv[argc - 1]->text, "static"))
diff --git a/zebra/zebra_routemap.c b/zebra/zebra_routemap.c
index 8155f9acf..8dad7d15a 100644
--- a/zebra/zebra_routemap.c
+++ b/zebra/zebra_routemap.c
@@ -351,14 +351,12 @@ static int ip_nht_rm_del(struct zebra_vrf *zvrf, const char *rmap, int rtype,
return CMD_SUCCESS;
}
-DEFPY_YANG(
- match_ip_address_prefix_len, match_ip_address_prefix_len_cmd,
- "match ip address prefix-len (0-32)$length",
- MATCH_STR
- IP_STR
- "Match prefix length of IP address\n"
- "Match prefix length of IP address\n"
- "Prefix length\n")
+DEFPY_YANG(match_ip_address_prefix_len, match_ip_address_prefix_len_cmd,
+ "match ip address prefix-len (0-32)$length",
+ MATCH_STR IP_STR
+ "Match prefix length of IP address\n"
+ "Match prefix length of IP address\n"
+ "Prefix length\n")
{
const char *xpath = "./match-condition[condition='ipv4-prefix-length']";
char xpath_value[XPATH_MAXLEN];
@@ -371,15 +369,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ip_address_prefix_len, no_match_ip_address_prefix_len_cmd,
- "no match ip address prefix-len [(0-32)]",
- NO_STR
- MATCH_STR
- IP_STR
- "Match prefix length of IP address\n"
- "Match prefix length of IP address\n"
- "Prefix length\n")
+DEFPY_YANG(no_match_ip_address_prefix_len, no_match_ip_address_prefix_len_cmd,
+ "no match ip address prefix-len [(0-32)]",
+ NO_STR MATCH_STR IP_STR
+ "Match prefix length of IP address\n"
+ "Match prefix length of IP address\n"
+ "Prefix length\n")
{
const char *xpath = "./match-condition[condition='ipv4-prefix-length']";
@@ -388,14 +383,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_ipv6_address_prefix_len, match_ipv6_address_prefix_len_cmd,
- "match ipv6 address prefix-len (0-128)$length",
- MATCH_STR
- IPV6_STR
- "Match prefix length of IPv6 address\n"
- "Match prefix length of IPv6 address\n"
- "Prefix length\n")
+DEFPY_YANG(match_ipv6_address_prefix_len, match_ipv6_address_prefix_len_cmd,
+ "match ipv6 address prefix-len (0-128)$length",
+ MATCH_STR IPV6_STR
+ "Match prefix length of IPv6 address\n"
+ "Match prefix length of IPv6 address\n"
+ "Prefix length\n")
{
const char *xpath = "./match-condition[condition='ipv6-prefix-length']";
char xpath_value[XPATH_MAXLEN];
@@ -408,15 +401,13 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ipv6_address_prefix_len, no_match_ipv6_address_prefix_len_cmd,
- "no match ipv6 address prefix-len [(0-128)]",
- NO_STR
- MATCH_STR
- IPV6_STR
- "Match prefix length of IPv6 address\n"
- "Match prefix length of IPv6 address\n"
- "Prefix length\n")
+DEFPY_YANG(no_match_ipv6_address_prefix_len,
+ no_match_ipv6_address_prefix_len_cmd,
+ "no match ipv6 address prefix-len [(0-128)]",
+ NO_STR MATCH_STR IPV6_STR
+ "Match prefix length of IPv6 address\n"
+ "Match prefix length of IPv6 address\n"
+ "Prefix length\n")
{
const char *xpath = "./match-condition[condition='ipv6-prefix-length']";
@@ -425,14 +416,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_ip_nexthop_prefix_len, match_ip_nexthop_prefix_len_cmd,
- "match ip next-hop prefix-len (0-32)$length",
- MATCH_STR
- IP_STR
- "Match prefixlen of nexthop IP address\n"
- "Match prefixlen of given nexthop\n"
- "Prefix length\n")
+DEFPY_YANG(match_ip_nexthop_prefix_len, match_ip_nexthop_prefix_len_cmd,
+ "match ip next-hop prefix-len (0-32)$length",
+ MATCH_STR IP_STR
+ "Match prefixlen of nexthop IP address\n"
+ "Match prefixlen of given nexthop\n"
+ "Prefix length\n")
{
const char *xpath =
"./match-condition[condition='ipv4-next-hop-prefix-length']";
@@ -446,15 +435,12 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_ip_nexthop_prefix_len, no_match_ip_nexthop_prefix_len_cmd,
- "no match ip next-hop prefix-len [(0-32)]",
- NO_STR
- MATCH_STR
- IP_STR
- "Match prefixlen of nexthop IP address\n"
- "Match prefix length of nexthop\n"
- "Prefix length\n")
+DEFPY_YANG(no_match_ip_nexthop_prefix_len, no_match_ip_nexthop_prefix_len_cmd,
+ "no match ip next-hop prefix-len [(0-32)]",
+ NO_STR MATCH_STR IP_STR
+ "Match prefixlen of nexthop IP address\n"
+ "Match prefix length of nexthop\n"
+ "Prefix length\n")
{
const char *xpath =
"./match-condition[condition='ipv4-next-hop-prefix-length']";
@@ -468,8 +454,7 @@ DEFPY_YANG(
match_source_protocol, match_source_protocol_cmd,
"match source-protocol " FRR_REDIST_STR_ZEBRA "$proto",
MATCH_STR
- "Match protocol via which the route was learnt\n"
- FRR_REDIST_HELP_STR_ZEBRA)
+ "Match protocol via which the route was learnt\n" FRR_REDIST_HELP_STR_ZEBRA)
{
const char *xpath = "./match-condition[condition='source-protocol']";
char xpath_value[XPATH_MAXLEN];
@@ -485,10 +470,8 @@ DEFPY_YANG(
DEFPY_YANG(
no_match_source_protocol, no_match_source_protocol_cmd,
"no match source-protocol [" FRR_REDIST_STR_ZEBRA "]",
- NO_STR
- MATCH_STR
- "Match protocol via which the route was learnt\n"
- FRR_REDIST_HELP_STR_ZEBRA)
+ NO_STR MATCH_STR
+ "Match protocol via which the route was learnt\n" FRR_REDIST_HELP_STR_ZEBRA)
{
const char *xpath = "./match-condition[condition='source-protocol']";
@@ -497,12 +480,11 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- match_source_instance, match_source_instance_cmd,
- "match source-instance (0-255)$instance",
- MATCH_STR
- "Match the protocol's instance number\n"
- "The instance number\n")
+DEFPY_YANG(match_source_instance, match_source_instance_cmd,
+ "match source-instance (0-255)$instance",
+ MATCH_STR
+ "Match the protocol's instance number\n"
+ "The instance number\n")
{
const char *xpath = "./match-condition[condition='source-instance']";
char xpath_value[XPATH_MAXLEN];
@@ -515,12 +497,11 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_match_source_instance, no_match_source_instance_cmd,
- "no match source-instance [(0-255)]",
- NO_STR MATCH_STR
- "Match the protocol's instance number\n"
- "The instance number\n")
+DEFPY_YANG(no_match_source_instance, no_match_source_instance_cmd,
+ "no match source-instance [(0-255)]",
+ NO_STR MATCH_STR
+ "Match the protocol's instance number\n"
+ "The instance number\n")
{
const char *xpath = "./match-condition[condition='source-instance']";
@@ -531,13 +512,11 @@ DEFPY_YANG(
/* set functions */
-DEFPY_YANG(
- set_src, set_src_cmd,
- "set src <A.B.C.D$addrv4|X:X::X:X$addrv6>",
- SET_STR
- "src address for route\n"
- "IPv4 src address\n"
- "IPv6 src address\n")
+DEFPY_YANG(set_src, set_src_cmd, "set src <A.B.C.D$addrv4|X:X::X:X$addrv6>",
+ SET_STR
+ "src address for route\n"
+ "IPv4 src address\n"
+ "IPv6 src address\n")
{
const char *xpath = "./set-action[action='source']";
char xpath_value[XPATH_MAXLEN];
@@ -558,14 +537,11 @@ DEFPY_YANG(
return nb_cli_apply_changes(vty, NULL);
}
-DEFPY_YANG(
- no_set_src, no_set_src_cmd,
- "no set src [<A.B.C.D|X:X::X:X>]",
- NO_STR
- SET_STR
- "Source address for route\n"
- "IPv4 address\n"
- "IPv6 address\n")
+DEFPY_YANG(no_set_src, no_set_src_cmd, "no set src [<A.B.C.D|X:X::X:X>]",
+ NO_STR SET_STR
+ "Source address for route\n"
+ "IPv4 address\n"
+ "IPv6 address\n")
{
const char *xpath = "./set-action[action='source']";
@@ -605,15 +581,14 @@ DEFUN (no_zebra_route_map_timer,
return (CMD_SUCCESS);
}
-DEFPY_YANG (ip_protocol,
- ip_protocol_cmd,
- "ip protocol " FRR_IP_PROTOCOL_MAP_STR_ZEBRA
- " $proto route-map ROUTE-MAP$rmap",
- IP_STR
- "Filter routing info exchanged between zebra and protocol\n"
- FRR_IP_PROTOCOL_MAP_HELP_STR_ZEBRA
- "Specify route-map\n"
- "Route map name\n")
+DEFPY_YANG(
+ ip_protocol, ip_protocol_cmd,
+ "ip protocol " FRR_IP_PROTOCOL_MAP_STR_ZEBRA
+ " $proto route-map ROUTE-MAP$rmap",
+ IP_STR
+ "Filter routing info exchanged between zebra and protocol\n" FRR_IP_PROTOCOL_MAP_HELP_STR_ZEBRA
+ "Specify route-map\n"
+ "Route map name\n")
{
int ret, rtype;
@@ -639,16 +614,14 @@ DEFPY_YANG (ip_protocol,
return ret;
}
-DEFPY_YANG (no_ip_protocol,
- no_ip_protocol_cmd,
- "no ip protocol " FRR_IP_PROTOCOL_MAP_STR_ZEBRA
- " $proto [route-map ROUTE-MAP$rmap]",
- NO_STR
- IP_STR
- "Stop filtering routing info between zebra and protocol\n"
- FRR_IP_PROTOCOL_MAP_HELP_STR_ZEBRA
- "Specify route-map\n"
- "Route map name\n")
+DEFPY_YANG(
+ no_ip_protocol, no_ip_protocol_cmd,
+ "no ip protocol " FRR_IP_PROTOCOL_MAP_STR_ZEBRA
+ " $proto [route-map ROUTE-MAP$rmap]",
+ NO_STR IP_STR
+ "Stop filtering routing info between zebra and protocol\n" FRR_IP_PROTOCOL_MAP_HELP_STR_ZEBRA
+ "Specify route-map\n"
+ "Route map name\n")
{
int ret, rtype;
@@ -673,28 +646,24 @@ DEFPY_YANG (no_ip_protocol,
return ret;
}
-DEFPY_YANG (show_ip_protocol,
- show_ip_protocol_cmd,
- "show ip protocol [vrf <NAME$vrf_name|all$vrf_all>]",
- SHOW_STR
- IP_STR
- "IP protocol filtering status\n"
- VRF_FULL_CMD_HELP_STR)
+DEFPY_YANG(show_ip_protocol, show_ip_protocol_cmd,
+ "show ip protocol [vrf <NAME$vrf_name|all$vrf_all>]",
+ SHOW_STR IP_STR
+ "IP protocol filtering status\n" VRF_FULL_CMD_HELP_STR)
{
int ret = show_proto_rm(vty, AFI_IP, vrf_all, vrf_name);
return ret;
}
-DEFPY_YANG (ipv6_protocol,
- ipv6_protocol_cmd,
- "ipv6 protocol " FRR_IP6_PROTOCOL_MAP_STR_ZEBRA
- " $proto route-map ROUTE-MAP$rmap",
- IP6_STR
- "Filter IPv6 routing info exchanged between zebra and protocol\n"
- FRR_IP6_PROTOCOL_MAP_HELP_STR_ZEBRA
- "Specify route-map\n"
- "Route map name\n")
+DEFPY_YANG(
+ ipv6_protocol, ipv6_protocol_cmd,
+ "ipv6 protocol " FRR_IP6_PROTOCOL_MAP_STR_ZEBRA
+ " $proto route-map ROUTE-MAP$rmap",
+ IP6_STR
+ "Filter IPv6 routing info exchanged between zebra and protocol\n" FRR_IP6_PROTOCOL_MAP_HELP_STR_ZEBRA
+ "Specify route-map\n"
+ "Route map name\n")
{
int ret, rtype;
@@ -720,16 +689,14 @@ DEFPY_YANG (ipv6_protocol,
return ret;
}
-DEFPY_YANG (no_ipv6_protocol,
- no_ipv6_protocol_cmd,
- "no ipv6 protocol " FRR_IP6_PROTOCOL_MAP_STR_ZEBRA
- " $proto [route-map ROUTE-MAP$rmap]",
- NO_STR
- IP6_STR
- "Stop filtering IPv6 routing info between zebra and protocol\n"
- FRR_IP6_PROTOCOL_MAP_HELP_STR_ZEBRA
- "Specify route-map\n"
- "Route map name\n")
+DEFPY_YANG(
+ no_ipv6_protocol, no_ipv6_protocol_cmd,
+ "no ipv6 protocol " FRR_IP6_PROTOCOL_MAP_STR_ZEBRA
+ " $proto [route-map ROUTE-MAP$rmap]",
+ NO_STR IP6_STR
+ "Stop filtering IPv6 routing info between zebra and protocol\n" FRR_IP6_PROTOCOL_MAP_HELP_STR_ZEBRA
+ "Specify route-map\n"
+ "Route map name\n")
{
int ret, rtype;
@@ -754,28 +721,24 @@ DEFPY_YANG (no_ipv6_protocol,
return ret;
}
-DEFPY_YANG (show_ipv6_protocol,
- show_ipv6_protocol_cmd,
- "show ipv6 protocol [vrf <NAME$vrf_name|all$vrf_all>]",
- SHOW_STR
- IP6_STR
- "IPv6 protocol filtering status\n"
- VRF_FULL_CMD_HELP_STR)
+DEFPY_YANG(show_ipv6_protocol, show_ipv6_protocol_cmd,
+ "show ipv6 protocol [vrf <NAME$vrf_name|all$vrf_all>]",
+ SHOW_STR IP6_STR
+ "IPv6 protocol filtering status\n" VRF_FULL_CMD_HELP_STR)
{
int ret = show_proto_rm(vty, AFI_IP6, vrf_all, vrf_name);
return ret;
}
-DEFPY_YANG (ip_protocol_nht_rmap,
- ip_protocol_nht_rmap_cmd,
- "ip nht " FRR_IP_PROTOCOL_MAP_STR_ZEBRA
- " $proto route-map ROUTE-MAP$rmap",
- IP_STR
- "Filter Next Hop tracking route resolution\n"
- FRR_IP_PROTOCOL_MAP_HELP_STR_ZEBRA
- "Specify route map\n"
- "Route map name\n")
+DEFPY_YANG(
+ ip_protocol_nht_rmap, ip_protocol_nht_rmap_cmd,
+ "ip nht " FRR_IP_PROTOCOL_MAP_STR_ZEBRA
+ " $proto route-map ROUTE-MAP$rmap",
+ IP_STR
+ "Filter Next Hop tracking route resolution\n" FRR_IP_PROTOCOL_MAP_HELP_STR_ZEBRA
+ "Specify route map\n"
+ "Route map name\n")
{
int ret, rtype;
@@ -802,16 +765,14 @@ DEFPY_YANG (ip_protocol_nht_rmap,
return ret;
}
-DEFPY_YANG (no_ip_protocol_nht_rmap,
- no_ip_protocol_nht_rmap_cmd,
- "no ip nht " FRR_IP_PROTOCOL_MAP_STR_ZEBRA
- " $proto route-map [ROUTE-MAP$rmap]",
- NO_STR
- IP_STR
- "Filter Next Hop tracking route resolution\n"
- FRR_IP_PROTOCOL_MAP_HELP_STR_ZEBRA
- "Specify route map\n"
- "Route map name\n")
+DEFPY_YANG(
+ no_ip_protocol_nht_rmap, no_ip_protocol_nht_rmap_cmd,
+ "no ip nht " FRR_IP_PROTOCOL_MAP_STR_ZEBRA
+ " $proto route-map [ROUTE-MAP$rmap]",
+ NO_STR IP_STR
+ "Filter Next Hop tracking route resolution\n" FRR_IP_PROTOCOL_MAP_HELP_STR_ZEBRA
+ "Specify route map\n"
+ "Route map name\n")
{
int ret, rtype;
@@ -836,29 +797,25 @@ DEFPY_YANG (no_ip_protocol_nht_rmap,
return ret;
}
-DEFPY_YANG (show_ip_protocol_nht,
- show_ip_protocol_nht_cmd,
- "show ip nht route-map [vrf <NAME$vrf_name|all$vrf_all>]",
- SHOW_STR
- IP_STR
- "IP nexthop tracking table\n"
- "IP Next Hop tracking filtering status\n"
- VRF_FULL_CMD_HELP_STR)
+DEFPY_YANG(show_ip_protocol_nht, show_ip_protocol_nht_cmd,
+ "show ip nht route-map [vrf <NAME$vrf_name|all$vrf_all>]",
+ SHOW_STR IP_STR
+ "IP nexthop tracking table\n"
+ "IP Next Hop tracking filtering status\n" VRF_FULL_CMD_HELP_STR)
{
int ret = show_nht_rm(vty, AFI_IP, vrf_all, vrf_name);
return ret;
}
-DEFPY_YANG (ipv6_protocol_nht_rmap,
- ipv6_protocol_nht_rmap_cmd,
- "ipv6 nht " FRR_IP6_PROTOCOL_MAP_STR_ZEBRA
- " $proto route-map ROUTE-MAP$rmap",
- IP6_STR
- "Filter Next Hop tracking route resolution\n"
- FRR_IP6_PROTOCOL_MAP_HELP_STR_ZEBRA
- "Specify route map\n"
- "Route map name\n")
+DEFPY_YANG(
+ ipv6_protocol_nht_rmap, ipv6_protocol_nht_rmap_cmd,
+ "ipv6 nht " FRR_IP6_PROTOCOL_MAP_STR_ZEBRA
+ " $proto route-map ROUTE-MAP$rmap",
+ IP6_STR
+ "Filter Next Hop tracking route resolution\n" FRR_IP6_PROTOCOL_MAP_HELP_STR_ZEBRA
+ "Specify route map\n"
+ "Route map name\n")
{
int ret, rtype;
@@ -884,16 +841,14 @@ DEFPY_YANG (ipv6_protocol_nht_rmap,
return ret;
}
-DEFPY_YANG (no_ipv6_protocol_nht_rmap,
- no_ipv6_protocol_nht_rmap_cmd,
- "no ipv6 nht " FRR_IP6_PROTOCOL_MAP_STR_ZEBRA
- " $proto [route-map ROUTE-MAP$rmap]",
- NO_STR
- IP6_STR
- "Filter Next Hop tracking route resolution\n"
- FRR_IP6_PROTOCOL_MAP_HELP_STR_ZEBRA
- "Specify route map\n"
- "Route map name\n")
+DEFPY_YANG(
+ no_ipv6_protocol_nht_rmap, no_ipv6_protocol_nht_rmap_cmd,
+ "no ipv6 nht " FRR_IP6_PROTOCOL_MAP_STR_ZEBRA
+ " $proto [route-map ROUTE-MAP$rmap]",
+ NO_STR IP6_STR
+ "Filter Next Hop tracking route resolution\n" FRR_IP6_PROTOCOL_MAP_HELP_STR_ZEBRA
+ "Specify route map\n"
+ "Route map name\n")
{
int ret, rtype;
@@ -918,14 +873,11 @@ DEFPY_YANG (no_ipv6_protocol_nht_rmap,
return ret;
}
-DEFPY_YANG (show_ipv6_protocol_nht,
- show_ipv6_protocol_nht_cmd,
- "show ipv6 nht route-map [vrf <NAME$vrf_name|all$vrf_all>]",
- SHOW_STR
- IP6_STR
- "Next Hop filtering status\n"
- "Route-map\n"
- VRF_FULL_CMD_HELP_STR)
+DEFPY_YANG(show_ipv6_protocol_nht, show_ipv6_protocol_nht_cmd,
+ "show ipv6 nht route-map [vrf <NAME$vrf_name|all$vrf_all>]",
+ SHOW_STR IP6_STR
+ "Next Hop filtering status\n"
+ "Route-map\n" VRF_FULL_CMD_HELP_STR)
{
int ret = show_nht_rm(vty, AFI_IP6, vrf_all, vrf_name);
If you are a new contributor to FRR, please see our contributing guidelines.
Rebased to fix another merge conflict... |
💚 Basic BGPD CI results: SUCCESS, 0 tests failedResults table
For details, please contact louberger |
Continuous Integration Result: FAILEDContinuous Integration Result: FAILEDSee below for issues. This is a comment from an automated CI system. Get source / Pull Request: SuccessfulBuilding Stage: SuccessfulBasic Tests: FailedTopo tests part 2 on Ubuntu 18.04 arm8: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO2U18ARM8-13443/test Topology Tests failed for Topo tests part 2 on Ubuntu 18.04 arm8:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-13443/artifact/TOPO2U18ARM8/ErrorLog/log_topotests.txt Successful on other platforms/tests
Warnings Generated during build:Checkout code: Successful with additional warningsTopo tests part 2 on Ubuntu 18.04 arm8: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPO2U18ARM8-13443/test Topology Tests failed for Topo tests part 2 on Ubuntu 18.04 arm8:
see full log at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-13443/artifact/TOPO2U18ARM8/ErrorLog/log_topotests.txt
Warnings Generated during build:Debian 10 amd64 build: Successful with additional warningsDebian Package lintian failed for Debian 10 amd64 build:
|
Continuous Integration Result: SUCCESSFULCongratulations, this patch passed basic tests Tested-by: NetDEF / OpenSourceRouting.org CI System CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-13443/ This is a comment from an automated CI system. Warnings Generated during build:Checkout code: Successful with additional warnings
Warnings Generated during build:Debian 10 amd64 build: Successful with additional warningsDebian Package lintian failed for Debian 10 amd64 build:
|
When using the default CLI mode, the northbound layer needs to create a separate transaction to process each YANG-modeled command since they are supposed to be applied immediately (there's no candidate configuration nor the "commit" command like in the transactional CLI [1]). The problem is that configuration transactions have an overhead associated to them, in big part because of the use of some heavy libyang functions like
lyd_validate()
andlyd_diff()
. As of now this overhead is substantial and doesn't scale well when large numbers of transactions need to be performed in sequence.As an example, loading 50k prefix-lists using a single transaction takes about 2 seconds on a modern CPU. Loading the same 50k prefix-lists using 50k transactions can take more than an hour to complete (which is unacceptable by any standard). To fix this problem, some heavy optimization work needs to be done on libyang and on the FRR northbound itself too (e.g. perform partial configuration diffs whenever possible). This, however, should be a long term effort since these optimizations shouldn't be trivial to implement and we're far from having the performance numbers we need.
In the meanwhile, this PR proposes a simple but efficient workaround to alleviate the issue. In short, a new back-off timer was introduced in the CLI to monitor and detect when too many YANG-modeled commands are being received at the same time. When a certain threshold is reached (100 YANG-modeled commands within one second), the northbound starts to group all subsequent commands into a single large transaction, which allows them to be processed much faster (e.g. seconds and not hours). It's essentially a protection mechanism that creates dynamically-sized transactions when necessary to prevent performance issues from happening. This mechanism is enabled both when parsing configuration files and when reading commands from a terminal.
The downside of this optimization is that, if several YANG-modeled commands are grouped into the same transaction and at least one of them fails, the whole transaction is rejected. This is undesirable since users don't expect transactional behavior when that's not explicitly enabled. To minimize this issue, the CLI will log all commands that were rejected whenever that happens, to make the user aware of what happened and have enough information to fix the problem. Commands that fail due to parsing errors or CLI-level validations in general are rejected separately.
Again, this proposed workaround is intended to be temporary. The goal is to provided a quick fix to issues like #6658 while we work on better long-term solutions.
[1] https://github.com/opensourcerouting/frr/wiki/Transactional-CLI#introduction