#include <zebra.h>
-#include "lib/json.h"
#include "prefix.h"
#include "linklist.h"
#include "memory.h"
#include "workqueue.h"
#include "queue.h"
#include "memory.h"
+#include "lib/json.h"
#include "bgpd/bgpd.h"
#include "bgpd/bgp_table.h"
"Name of the route map\n")
{
return bgp_table_map_set (vty, vty->index,
- bgp_node_afi (vty), bgp_node_safi (vty), argv[0]);
+ bgp_node_afi (vty), bgp_node_safi (vty), argv[1]->arg);
}
DEFUN (no_bgp_table_map,
no_bgp_table_map_cmd,
"Name of the route map\n")
{
return bgp_table_map_unset (vty, vty->index,
- bgp_node_afi (vty), bgp_node_safi (vty), argv[0]);
+ bgp_node_afi (vty), bgp_node_safi (vty), argv[2]->arg);
}
DEFUN (bgp_network,
"Specify a network to announce via BGP\n"
"IP prefix <network>/<length>, e.g., 35.0.0.0/8\n")
{
- return bgp_static_set (vty, vty->index, argv[0],
+ return bgp_static_set (vty, vty->index, argv[1]->arg,
AFI_IP, bgp_node_safi (vty), NULL, 0);
}
"Route-map to modify the attributes\n"
"Name of the route map\n")
{
- return bgp_static_set (vty, vty->index, argv[0],
- AFI_IP, bgp_node_safi (vty), argv[1], 0);
+ return bgp_static_set (vty, vty->index, argv[1]->arg,
+ AFI_IP, bgp_node_safi (vty), argv[3]->arg, 0);
}
DEFUN (bgp_network_backdoor,
"IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
"Specify a BGP backdoor route\n")
{
- return bgp_static_set (vty, vty->index, argv[0], AFI_IP, SAFI_UNICAST,
+ return bgp_static_set (vty, vty->index, argv[1]->arg, AFI_IP, SAFI_UNICAST,
NULL, 1);
}
int ret;
char prefix_str[BUFSIZ];
- ret = netmask_str2prefix_str (argv[0], argv[1], prefix_str);
+ ret = netmask_str2prefix_str (argv[1]->arg, argv[3]->arg, prefix_str);
if (! ret)
{
vty_out (vty, "%% Inconsistent address and mask%s", VTY_NEWLINE);
int ret;
char prefix_str[BUFSIZ];
- ret = netmask_str2prefix_str (argv[0], argv[1], prefix_str);
+ ret = netmask_str2prefix_str (argv[1]->arg, argv[3]->arg, prefix_str);
if (! ret)
{
vty_out (vty, "%% Inconsistent address and mask%s", VTY_NEWLINE);
}
return bgp_static_set (vty, vty->index, prefix_str,
- AFI_IP, bgp_node_safi (vty), argv[2], 0);
+ AFI_IP, bgp_node_safi (vty), argv[5]->arg, 0);
}
DEFUN (bgp_network_mask_backdoor,
int ret;
char prefix_str[BUFSIZ];
- ret = netmask_str2prefix_str (argv[0], argv[1], prefix_str);
+ ret = netmask_str2prefix_str (argv[1]->arg, argv[3]->arg, prefix_str);
if (! ret)
{
vty_out (vty, "%% Inconsistent address and mask%s", VTY_NEWLINE);
int ret;
char prefix_str[BUFSIZ];
- ret = netmask_str2prefix_str (argv[0], NULL, prefix_str);
+ ret = netmask_str2prefix_str (argv[1]->arg, NULL, prefix_str);
if (! ret)
{
vty_out (vty, "%% Inconsistent address and mask%s", VTY_NEWLINE);
int ret;
char prefix_str[BUFSIZ];
- ret = netmask_str2prefix_str (argv[0], NULL, prefix_str);
+ ret = netmask_str2prefix_str (argv[1]->arg, NULL, prefix_str);
if (! ret)
{
vty_out (vty, "%% Inconsistent address and mask%s", VTY_NEWLINE);
}
return bgp_static_set (vty, vty->index, prefix_str,
- AFI_IP, bgp_node_safi (vty), argv[1], 0);
+ AFI_IP, bgp_node_safi (vty), argv[3]->arg, 0);
}
DEFUN (bgp_network_mask_natural_backdoor,
int ret;
char prefix_str[BUFSIZ];
- ret = netmask_str2prefix_str (argv[0], NULL, prefix_str);
+ ret = netmask_str2prefix_str (argv[1]->arg, NULL, prefix_str);
if (! ret)
{
vty_out (vty, "%% Inconsistent address and mask%s", VTY_NEWLINE);
"Specify a network to announce via BGP\n"
"IP prefix <network>/<length>, e.g., 35.0.0.0/8\n")
{
- return bgp_static_unset (vty, vty->index, argv[0], AFI_IP,
+ return bgp_static_unset (vty, vty->index, argv[2]->arg, AFI_IP,
bgp_node_safi (vty));
}
int ret;
char prefix_str[BUFSIZ];
- ret = netmask_str2prefix_str (argv[0], argv[1], prefix_str);
+ ret = netmask_str2prefix_str (argv[2]->arg, argv[4]->arg, prefix_str);
if (! ret)
{
vty_out (vty, "%% Inconsistent address and mask%s", VTY_NEWLINE);
int ret;
char prefix_str[BUFSIZ];
- ret = netmask_str2prefix_str (argv[0], NULL, prefix_str);
+ ret = netmask_str2prefix_str (argv[2]->arg, NULL, prefix_str);
if (! ret)
{
vty_out (vty, "%% Inconsistent address and mask%s", VTY_NEWLINE);
"Specify a network to announce via BGP\n"
"IPv6 prefix <network>/<length>\n")
{
- return bgp_static_set (vty, vty->index, argv[0], AFI_IP6, bgp_node_safi(vty),
+ return bgp_static_set (vty, vty->index, argv[1]->arg, AFI_IP6, bgp_node_safi(vty),
NULL, 0);
}
"Route-map to modify the attributes\n"
"Name of the route map\n")
{
- return bgp_static_set (vty, vty->index, argv[0], AFI_IP6,
- bgp_node_safi (vty), argv[1], 0);
+ return bgp_static_set (vty, vty->index, argv[1]->arg, AFI_IP6,
+ bgp_node_safi (vty), argv[3]->arg, 0);
}
DEFUN (no_ipv6_bgp_network,
"Specify a network to announce via BGP\n"
"IPv6 prefix <network>/<length>\n")
{
- return bgp_static_unset (vty, vty->index, argv[0], AFI_IP6, bgp_node_safi(vty));
+ return bgp_static_unset (vty, vty->index, argv[2]->arg, AFI_IP6, bgp_node_safi(vty));
}
ALIAS (no_ipv6_bgp_network,
"Configure BGP aggregate entries\n"
"Aggregate prefix\n")
{
- return bgp_aggregate_set (vty, argv[0], AFI_IP, bgp_node_safi (vty), 0, 0);
+ return bgp_aggregate_set (vty, argv[1]->arg, AFI_IP, bgp_node_safi (vty), 0, 0);
}
DEFUN (aggregate_address_mask,
int ret;
char prefix_str[BUFSIZ];
- ret = netmask_str2prefix_str (argv[0], argv[1], prefix_str);
+ ret = netmask_str2prefix_str (argv[1]->arg, argv[2]->arg, prefix_str);
if (! ret)
{
"Aggregate prefix\n"
"Filter more specific routes from updates\n")
{
- return bgp_aggregate_set (vty, argv[0], AFI_IP, bgp_node_safi (vty),
+ return bgp_aggregate_set (vty, argv[1]->arg, AFI_IP, bgp_node_safi (vty),
AGGREGATE_SUMMARY_ONLY, 0);
}
int ret;
char prefix_str[BUFSIZ];
- ret = netmask_str2prefix_str (argv[0], argv[1], prefix_str);
+ ret = netmask_str2prefix_str (argv[1]->arg, argv[2]->arg, prefix_str);
if (! ret)
{
"Aggregate prefix\n"
"Generate AS set path information\n")
{
- return bgp_aggregate_set (vty, argv[0], AFI_IP, bgp_node_safi (vty),
+ return bgp_aggregate_set (vty, argv[1]->arg, AFI_IP, bgp_node_safi (vty),
0, AGGREGATE_AS_SET);
}
int ret;
char prefix_str[BUFSIZ];
- ret = netmask_str2prefix_str (argv[0], argv[1], prefix_str);
+ ret = netmask_str2prefix_str (argv[1]->arg, argv[2]->arg, prefix_str);
if (! ret)
{
"Generate AS set path information\n"
"Filter more specific routes from updates\n")
{
- return bgp_aggregate_set (vty, argv[0], AFI_IP, bgp_node_safi (vty),
+ return bgp_aggregate_set (vty, argv[1]->arg, AFI_IP, bgp_node_safi (vty),
AGGREGATE_SUMMARY_ONLY, AGGREGATE_AS_SET);
}
int ret;
char prefix_str[BUFSIZ];
- ret = netmask_str2prefix_str (argv[0], argv[1], prefix_str);
+ ret = netmask_str2prefix_str (argv[1]->arg, argv[2]->arg, prefix_str);
if (! ret)
{
"Configure BGP aggregate entries\n"
"Aggregate prefix\n")
{
- return bgp_aggregate_unset (vty, argv[0], AFI_IP, bgp_node_safi (vty));
+ return bgp_aggregate_unset (vty, argv[2]->arg, AFI_IP, bgp_node_safi (vty));
}
ALIAS (no_aggregate_address,
int ret;
char prefix_str[BUFSIZ];
- ret = netmask_str2prefix_str (argv[0], argv[1], prefix_str);
+ ret = netmask_str2prefix_str (argv[2]->arg, argv[3]->arg, prefix_str);
if (! ret)
{
"Configure BGP aggregate entries\n"
"Aggregate prefix\n")
{
- return bgp_aggregate_set (vty, argv[0], AFI_IP6, SAFI_UNICAST, 0, 0);
+ return bgp_aggregate_set (vty, argv[1]->arg, AFI_IP6, SAFI_UNICAST, 0, 0);
}
DEFUN (ipv6_aggregate_address_summary_only,
"Aggregate prefix\n"
"Filter more specific routes from updates\n")
{
- return bgp_aggregate_set (vty, argv[0], AFI_IP6, SAFI_UNICAST,
+ return bgp_aggregate_set (vty, argv[1]->arg, AFI_IP6, SAFI_UNICAST,
AGGREGATE_SUMMARY_ONLY, 0);
}
"Configure BGP aggregate entries\n"
"Aggregate prefix\n")
{
- return bgp_aggregate_unset (vty, argv[0], AFI_IP6, SAFI_UNICAST);
+ return bgp_aggregate_unset (vty, argv[2]->arg, AFI_IP6, SAFI_UNICAST);
}
DEFUN (no_ipv6_aggregate_address_summary_only,
"Aggregate prefix\n"
"Filter more specific routes from updates\n")
{
- return bgp_aggregate_unset (vty, argv[0], AFI_IP6, SAFI_UNICAST);
+ return bgp_aggregate_unset (vty, argv[2]->arg, AFI_IP6, SAFI_UNICAST);
}
ALIAS (ipv6_aggregate_address,
{
u_char uj = use_json(argc, argv);
- if (strncmp (argv[0], "m", 1) == 0)
+ if (strncmp (argv[4]->arg, "m", 1) == 0)
return bgp_show (vty, NULL, AFI_IP, SAFI_MULTICAST, bgp_show_type_normal,
NULL, uj);
"Network in the BGP routing table to display\n"
"JavaScript Object Notation\n")
{
- return bgp_show_route (vty, NULL, argv[0], AFI_IP, SAFI_UNICAST, NULL, 0, BGP_PATH_ALL, use_json(argc, argv));
+ return bgp_show_route (vty, NULL, argv[3]->arg, AFI_IP, SAFI_UNICAST, NULL, 0, BGP_PATH_ALL, use_json(argc, argv));
}
DEFUN (show_ip_bgp_route_pathtype,
{
u_char uj = use_json(argc, argv);
- if (strncmp (argv[1], "b", 1) == 0)
- return bgp_show_route (vty, NULL, argv[0], AFI_IP, SAFI_UNICAST, NULL, 0, BGP_PATH_BESTPATH, uj);
+ if (strncmp (argv[4]->arg, "b", 1) == 0)
+ return bgp_show_route (vty, NULL, argv[3]->arg, AFI_IP, SAFI_UNICAST, NULL, 0, BGP_PATH_BESTPATH, uj);
else
- return bgp_show_route (vty, NULL, argv[0], AFI_IP, SAFI_UNICAST, NULL, 0, BGP_PATH_MULTIPATH, uj);
+ return bgp_show_route (vty, NULL, argv[3]->arg, AFI_IP, SAFI_UNICAST, NULL, 0, BGP_PATH_MULTIPATH, uj);
}
DEFUN (show_bgp_ipv4_safi_route_pathtype,
{
u_char uj = use_json(argc, argv);
- if (strncmp (argv[0], "m", 1) == 0)
- if (strncmp (argv[2], "b", 1) == 0)
- return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_MULTICAST, NULL, 0, BGP_PATH_BESTPATH, uj);
+ if (strncmp (argv[3]->arg, "m", 1) == 0)
+ if (strncmp (argv[5]->arg, "b", 1) == 0)
+ return bgp_show_route (vty, NULL, argv[4]->arg, AFI_IP, SAFI_MULTICAST, NULL, 0, BGP_PATH_BESTPATH, uj);
else
- return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_MULTICAST, NULL, 0, BGP_PATH_MULTIPATH, uj);
+ return bgp_show_route (vty, NULL, argv[4]->arg, AFI_IP, SAFI_MULTICAST, NULL, 0, BGP_PATH_MULTIPATH, uj);
else
- if (strncmp (argv[2], "b", 1) == 0)
- return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_UNICAST, NULL, 0, BGP_PATH_BESTPATH, uj);
+ if (strncmp (argv[5]->arg, "b", 1) == 0)
+ return bgp_show_route (vty, NULL, argv[4]->arg, AFI_IP, SAFI_UNICAST, NULL, 0, BGP_PATH_BESTPATH, uj);
else
- return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_UNICAST, NULL, 0, BGP_PATH_MULTIPATH, uj);
+ return bgp_show_route (vty, NULL, argv[4]->arg, AFI_IP, SAFI_UNICAST, NULL, 0, BGP_PATH_MULTIPATH, uj);
}
DEFUN (show_bgp_ipv4_prefix,
"IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
JSON_STR)
{
- return bgp_show_route (vty, NULL, argv[0], AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_ALL, use_json (argc, argv));
+ return bgp_show_route (vty, NULL, argv[3]->arg, AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_ALL, use_json (argc, argv));
}
DEFUN (show_bgp_ipv6_route,
"Network in the BGP routing table to display\n"
JSON_STR)
{
- return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_ALL, use_json (argc, argv));
+ return bgp_show_route (vty, NULL, argv[3]->arg, AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_ALL, use_json (argc, argv));
}
DEFUN (show_bgp_ipv6_prefix,
"IPv6 prefix <network>/<length>\n"
JSON_STR)
{
- return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_ALL, use_json (argc,argv));
+ return bgp_show_route (vty, NULL, argv[3]->arg, AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_ALL, use_json (argc,argv));
}
DEFUN (show_ip_bgp_ipv4_route,
{
u_char uj = use_json(argc, argv);
- if (strncmp (argv[0], "m", 1) == 0)
- return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_MULTICAST, NULL, 0, BGP_PATH_ALL, uj);
+ if (strncmp (argv[4]->arg, "m", 1) == 0)
+ return bgp_show_route (vty, NULL, argv[5]->arg, AFI_IP, SAFI_MULTICAST, NULL, 0, BGP_PATH_ALL, uj);
- return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_UNICAST, NULL, 0, BGP_PATH_ALL, uj);
+ return bgp_show_route (vty, NULL, argv[5]->arg, AFI_IP, SAFI_UNICAST, NULL, 0, BGP_PATH_ALL, uj);
}
ALIAS (show_ip_bgp_ipv4_route,
"Network in the BGP routing table to display\n"
"JavaScript Object Notation\n")
{
- return bgp_show_route (vty, NULL, argv[0], AFI_IP, SAFI_MPLS_VPN, NULL, 0, BGP_PATH_ALL, use_json(argc, argv));
+ return bgp_show_route (vty, NULL, argv[5]->arg, AFI_IP, SAFI_MPLS_VPN, NULL, 0, BGP_PATH_ALL, use_json(argc, argv));
}
DEFUN (show_bgp_ipv4_vpn_route,
"Network in the BGP routing table to display\n"
JSON_STR)
{
- return bgp_show_route (vty, NULL, argv[0], AFI_IP, SAFI_MPLS_VPN, NULL, 0, BGP_PATH_ALL, use_json (argc, argv));
+ return bgp_show_route (vty, NULL, argv[4]->arg, AFI_IP, SAFI_MPLS_VPN, NULL, 0, BGP_PATH_ALL, use_json (argc, argv));
}
DEFUN (show_bgp_ipv6_vpn_route,
"Network in the BGP routing table to display\n"
JSON_STR)
{
- return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_MPLS_VPN, NULL, 0, BGP_PATH_ALL, use_json (argc, argv));
+ return bgp_show_route (vty, NULL, argv[4]->arg, AFI_IP6, SAFI_MPLS_VPN, NULL, 0, BGP_PATH_ALL, use_json (argc, argv));
}
DEFUN (show_bgp_ipv4_vpn_rd_route,
int ret;
struct prefix_rd prd;
- ret = str2prefix_rd (argv[0], &prd);
+ ret = str2prefix_rd (argv[5]->arg, &prd);
if (! ret)
{
vty_out (vty, "%% Malformed Route Distinguisher%s", VTY_NEWLINE);
return CMD_WARNING;
}
- return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_MPLS_VPN, &prd, 0, BGP_PATH_ALL, use_json (argc, argv));
+ return bgp_show_route (vty, NULL, argv[6]->arg, AFI_IP, SAFI_MPLS_VPN, &prd, 0, BGP_PATH_ALL, use_json (argc, argv));
}
DEFUN (show_bgp_ipv6_vpn_rd_route,
int ret;
struct prefix_rd prd;
- ret = str2prefix_rd (argv[0], &prd);
+ ret = str2prefix_rd (argv[5]->arg, &prd);
if (! ret)
{
vty_out (vty, "%% Malformed Route Distinguisher%s", VTY_NEWLINE);
return CMD_WARNING;
}
- return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_MPLS_VPN, &prd, 0, BGP_PATH_ALL, use_json (argc, argv));
+ return bgp_show_route (vty, NULL, argv[6]->arg, AFI_IP6, SAFI_MPLS_VPN, &prd, 0, BGP_PATH_ALL, use_json (argc, argv));
}
DEFUN (show_ip_bgp_vpnv4_rd_route,
struct prefix_rd prd;
u_char uj= use_json(argc, argv);
- ret = str2prefix_rd (argv[0], &prd);
+ ret = str2prefix_rd (argv[5]->arg, &prd);
if (! ret)
{
vty_out (vty, "%% Malformed Route Distinguisher%s", VTY_NEWLINE);
return CMD_WARNING;
}
- return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_MPLS_VPN, &prd, 0, BGP_PATH_ALL, uj);
+ return bgp_show_route (vty, NULL, argv[6]->arg, AFI_IP, SAFI_MPLS_VPN, &prd, 0, BGP_PATH_ALL, uj);
}
DEFUN (show_ip_bgp_prefix,
"IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
"JavaScript Object Notation\n")
{
- return bgp_show_route (vty, NULL, argv[0], AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_ALL, use_json(argc, argv));
+ return bgp_show_route (vty, NULL, argv[3]->arg, AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_ALL, use_json(argc, argv));
}
DEFUN (show_ip_bgp_prefix_pathtype,
"JavaScript Object Notation\n")
{
u_char uj = use_json(argc, argv);
- if (strncmp (argv[1], "b", 1) == 0)
- return bgp_show_route (vty, NULL, argv[0], AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_BESTPATH, uj);
+ if (strncmp (argv[4]->arg, "b", 1) == 0)
+ return bgp_show_route (vty, NULL, argv[3]->arg, AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_BESTPATH, uj);
else
- return bgp_show_route (vty, NULL, argv[0], AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_MULTIPATH, uj);
+ return bgp_show_route (vty, NULL, argv[3]->arg, AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_MULTIPATH, uj);
}
DEFUN (show_ip_bgp_ipv4_prefix,
{
u_char uj = use_json(argc, argv);
- if (strncmp (argv[0], "m", 1) == 0)
- return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_MULTICAST, NULL, 1, BGP_PATH_ALL, uj);
+ if (strncmp (argv[4]->arg, "m", 1) == 0)
+ return bgp_show_route (vty, NULL, argv[5]->arg, AFI_IP, SAFI_MULTICAST, NULL, 1, BGP_PATH_ALL, uj);
- return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_ALL, uj);
+ return bgp_show_route (vty, NULL, argv[5]->arg, AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_ALL, uj);
}
ALIAS (show_ip_bgp_ipv4_prefix,
{
u_char uj = use_json(argc, argv);
- if (strncmp (argv[0], "m", 1) == 0)
- if (strncmp (argv[2], "b", 1) == 0)
- return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_MULTICAST, NULL, 1, BGP_PATH_BESTPATH, uj);
+ if (strncmp (argv[4]->arg, "m", 1) == 0)
+ if (strncmp (argv[6]->arg, "b", 1) == 0)
+ return bgp_show_route (vty, NULL, argv[5]->arg, AFI_IP, SAFI_MULTICAST, NULL, 1, BGP_PATH_BESTPATH, uj);
else
- return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_MULTICAST, NULL, 1, BGP_PATH_MULTIPATH, uj);
+ return bgp_show_route (vty, NULL, argv[5]->arg, AFI_IP, SAFI_MULTICAST, NULL, 1, BGP_PATH_MULTIPATH, uj);
else
- if (strncmp (argv[2], "b", 1) == 0)
- return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_BESTPATH, uj);
+ if (strncmp (argv[6]->arg, "b", 1) == 0)
+ return bgp_show_route (vty, NULL, argv[5]->arg, AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_BESTPATH, uj);
else
- return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_MULTIPATH, uj);
+ return bgp_show_route (vty, NULL, argv[5]->arg, AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_MULTIPATH, uj);
}
ALIAS (show_ip_bgp_ipv4_prefix_pathtype,
"IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
"JavaScript Object Notation\n")
{
- return bgp_show_route (vty, NULL, argv[0], AFI_IP, SAFI_MPLS_VPN, NULL, 1, BGP_PATH_ALL, use_json(argc, argv));
+ return bgp_show_route (vty, NULL, argv[5]->arg, AFI_IP, SAFI_MPLS_VPN, NULL, 1, BGP_PATH_ALL, use_json(argc, argv));
}
DEFUN (show_ip_bgp_vpnv4_rd_prefix,
int ret;
struct prefix_rd prd;
- ret = str2prefix_rd (argv[0], &prd);
+ ret = str2prefix_rd (argv[5]->arg, &prd);
if (! ret)
{
vty_out (vty, "%% Malformed Route Distinguisher%s", VTY_NEWLINE);
return CMD_WARNING;
}
- return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_MPLS_VPN, &prd, 0, BGP_PATH_ALL, use_json(argc, argv));
+ return bgp_show_route (vty, NULL, argv[6]->arg, AFI_IP, SAFI_MPLS_VPN, &prd, 0, BGP_PATH_ALL, use_json(argc, argv));
}
DEFUN (show_ip_bgp_view,
struct bgp *bgp;
/* BGP structure lookup. */
- bgp = bgp_lookup_by_name (argv[1]);
+ bgp = bgp_lookup_by_name (argv[4]->arg);
if (bgp == NULL)
{
- vty_out (vty, "Can't find BGP instance %s%s", argv[1], VTY_NEWLINE);
+ vty_out (vty, "Can't find BGP instance %s%s", argv[4]->arg, VTY_NEWLINE);
return CMD_WARNING;
}
"Network in the BGP routing table to display\n"
"JavaScript Object Notation\n")
{
- return bgp_show_route (vty, argv[1], argv[2], AFI_IP, SAFI_UNICAST, NULL, 0, BGP_PATH_ALL, use_json(argc, argv));
+ return bgp_show_route (vty, argv[4]->arg, argv[5]->arg, AFI_IP, SAFI_UNICAST, NULL, 0, BGP_PATH_ALL, use_json(argc, argv));
}
DEFUN (show_ip_bgp_instance_route_pathtype,
{
u_char uj = use_json(argc, argv);
- if (strncmp (argv[3], "b", 1) == 0)
- return bgp_show_route (vty, argv[1], argv[2], AFI_IP, SAFI_UNICAST, NULL, 0, BGP_PATH_BESTPATH, uj);
+ if (strncmp (argv[6]->arg, "b", 1) == 0)
+ return bgp_show_route (vty, argv[4]->arg, argv[5]->arg, AFI_IP, SAFI_UNICAST, NULL, 0, BGP_PATH_BESTPATH, uj);
else
- return bgp_show_route (vty, argv[1], argv[2], AFI_IP, SAFI_UNICAST, NULL, 0, BGP_PATH_MULTIPATH, uj);
+ return bgp_show_route (vty, argv[4]->arg, argv[5]->arg, AFI_IP, SAFI_UNICAST, NULL, 0, BGP_PATH_MULTIPATH, uj);
}
DEFUN (show_ip_bgp_instance_prefix,
"IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
"JavaScript Object Notation\n")
{
- return bgp_show_route (vty, argv[1], argv[2], AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_ALL, use_json(argc, argv));
+ return bgp_show_route (vty, argv[4]->arg, argv[5]->arg, AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_ALL, use_json(argc, argv));
}
DEFUN (show_ip_bgp_instance_prefix_pathtype,
"JavaScript Object Notation\n")
{
u_char uj = use_json(argc, argv);
- if (strncmp (argv[3], "b", 1) == 0)
- return bgp_show_route (vty, argv[1], argv[2], AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_BESTPATH, uj);
+ if (strncmp (argv[6]->arg, "b", 1) == 0)
+ return bgp_show_route (vty, argv[4]->arg, argv[5]->arg, AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_BESTPATH, uj);
else
- return bgp_show_route (vty, argv[1], argv[2], AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_MULTIPATH, uj);
+ return bgp_show_route (vty, argv[4]->arg, argv[5]->arg, AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_MULTIPATH, uj);
}
#ifdef HAVE_IPV6
"JavaScript Object Notation\n")
{
u_char uj = use_json(argc, argv);
- if (strncmp (argv[0], "m", 1) == 0)
+ if (strncmp (argv[3]->arg, "m", 1) == 0)
return bgp_show (vty, NULL, AFI_IP6, SAFI_MULTICAST, bgp_show_type_normal,
NULL, uj);
"Network in the BGP routing table to display\n"
"JavaScript Object Notation\n")
{
- return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_ALL, use_json(argc, argv));
+ return bgp_show_route (vty, NULL, argv[2]->arg, AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_ALL, use_json(argc, argv));
}
DEFUN (show_bgp_ipv6_safi_route,
"JavaScript Object Notation\n")
{
u_char uj = use_json(argc, argv);
- if (strncmp (argv[0], "m", 1) == 0)
- return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_MULTICAST, NULL, 0, BGP_PATH_ALL, uj);
+ if (strncmp (argv[3]->arg, "m", 1) == 0)
+ return bgp_show_route (vty, NULL, argv[4]->arg, AFI_IP6, SAFI_MULTICAST, NULL, 0, BGP_PATH_ALL, uj);
- return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_ALL, uj);
+ return bgp_show_route (vty, NULL, argv[4]->arg, AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_ALL, uj);
}
DEFUN (show_bgp_route_pathtype,
"JavaScript Object Notation\n")
{
u_char uj = use_json(argc, argv);
- if (strncmp (argv[1], "b", 1) == 0)
- return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_BESTPATH, uj);
+ if (strncmp (argv[3]->arg, "b", 1) == 0)
+ return bgp_show_route (vty, NULL, argv[2]->arg, AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_BESTPATH, uj);
else
- return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_MULTIPATH, uj);
+ return bgp_show_route (vty, NULL, argv[2]->arg, AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_MULTIPATH, uj);
}
ALIAS (show_bgp_route_pathtype,
"JavaScript Object Notation\n")
{
u_char uj = use_json(argc, argv);
- if (strncmp (argv[0], "m", 1) == 0)
- if (strncmp (argv[2], "b", 1) == 0)
- return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_MULTICAST, NULL, 0, BGP_PATH_BESTPATH, uj);
+ if (strncmp (argv[3]->arg, "m", 1) == 0)
+ if (strncmp (argv[5]->arg, "b", 1) == 0)
+ return bgp_show_route (vty, NULL, argv[4]->arg, AFI_IP6, SAFI_MULTICAST, NULL, 0, BGP_PATH_BESTPATH, uj);
else
- return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_MULTICAST, NULL, 0, BGP_PATH_MULTIPATH, uj);
+ return bgp_show_route (vty, NULL, argv[4]->arg, AFI_IP6, SAFI_MULTICAST, NULL, 0, BGP_PATH_MULTIPATH, uj);
else
- if (strncmp (argv[2], "b", 1) == 0)
- return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_BESTPATH, uj);
+ if (strncmp (argv[5]->arg, "b", 1) == 0)
+ return bgp_show_route (vty, NULL, argv[4]->arg, AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_BESTPATH, uj);
else
- return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_MULTIPATH, uj);
+ return bgp_show_route (vty, NULL, argv[4]->arg, AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_MULTIPATH, uj);
}
/* old command */
"JavaScript Object Notation\n")
{
bgp_show_ipv6_bgp_deprecate_warning(vty);
- return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_ALL, use_json(argc, argv));
+ return bgp_show_route (vty, NULL, argv[3]->arg, AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_ALL, use_json(argc, argv));
}
DEFUN (show_bgp_prefix,
"IPv6 prefix <network>/<length>\n"
"JavaScript Object Notation\n")
{
- return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_ALL, use_json(argc, argv));
+ return bgp_show_route (vty, NULL, argv[2]->arg, AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_ALL, use_json(argc, argv));
}
DEFUN (show_bgp_ipv6_safi_prefix,
"JavaScript Object Notation\n")
{
u_char uj = use_json(argc, argv);
- if (strncmp (argv[0], "m", 1) == 0)
- return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_MULTICAST, NULL, 1, BGP_PATH_ALL, uj);
+ if (strncmp (argv[3]->arg, "m", 1) == 0)
+ return bgp_show_route (vty, NULL, argv[4]->arg, AFI_IP6, SAFI_MULTICAST, NULL, 1, BGP_PATH_ALL, uj);
- return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_ALL, uj);
+ return bgp_show_route (vty, NULL, argv[4]->arg, AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_ALL, uj);
}
DEFUN (show_bgp_prefix_pathtype,
"JavaScript Object Notation\n")
{
u_char uj = use_json(argc, argv);
- if (strncmp (argv[1], "b", 1) == 0)
- return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_BESTPATH, uj);
+ if (strncmp (argv[3]->arg, "b", 1) == 0)
+ return bgp_show_route (vty, NULL, argv[2]->arg, AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_BESTPATH, uj);
else
- return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_MULTIPATH, uj);
+ return bgp_show_route (vty, NULL, argv[2]->arg, AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_MULTIPATH, uj);
}
ALIAS (show_bgp_prefix_pathtype,
"JavaScript Object Notation\n")
{
u_char uj = use_json(argc, argv);
- if (strncmp (argv[0], "m", 1) == 0)
- if (strncmp (argv[2], "b", 1) == 0)
- return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_MULTICAST, NULL, 1, BGP_PATH_BESTPATH, uj);
+ if (strncmp (argv[3]->arg, "m", 1) == 0)
+ if (strncmp (argv[5]->arg, "b", 1) == 0)
+ return bgp_show_route (vty, NULL, argv[4]->arg, AFI_IP6, SAFI_MULTICAST, NULL, 1, BGP_PATH_BESTPATH, uj);
else
- return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_MULTICAST, NULL, 1, BGP_PATH_MULTIPATH, uj);
+ return bgp_show_route (vty, NULL, argv[4]->arg, AFI_IP6, SAFI_MULTICAST, NULL, 1, BGP_PATH_MULTIPATH, uj);
else
- if (strncmp (argv[2], "b", 1) == 0)
- return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_BESTPATH, uj);
+ if (strncmp (argv[5]->arg, "b", 1) == 0)
+ return bgp_show_route (vty, NULL, argv[4]->arg, AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_BESTPATH, uj);
else
- return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_MULTIPATH, uj);
+ return bgp_show_route (vty, NULL, argv[4]->arg, AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_MULTIPATH, uj);
}
/* old command */
"JavaScript Object Notation\n")
{
bgp_show_ipv6_bgp_deprecate_warning(vty);
- return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_ALL, use_json(argc, argv));
+ return bgp_show_route (vty, NULL, argv[3]->arg, AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_ALL, use_json(argc, argv));
}
DEFUN (show_bgp_view,
struct bgp *bgp;
/* BGP structure lookup. */
- bgp = bgp_lookup_by_name (argv[1]);
+ bgp = bgp_lookup_by_name (argv[3]->arg);
if (bgp == NULL)
{
- vty_out (vty, "Can't find BGP instance %s%s", argv[1], VTY_NEWLINE);
+ vty_out (vty, "Can't find BGP instance %s%s", argv[3]->arg, VTY_NEWLINE);
return CMD_WARNING;
}
"Network in the BGP routing table to display\n"
"JavaScript Object Notation\n")
{
- return bgp_show_route (vty, argv[1], argv[2], AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_ALL, use_json(argc, argv));
+ return bgp_show_route (vty, argv[3]->arg, argv[4]->arg, AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_ALL, use_json(argc, argv));
}
ALIAS (show_bgp_instance_route,
"JavaScript Object Notation\n")
{
u_char uj = use_json(argc, argv);
- if (strncmp (argv[3], "b", 1) == 0)
- return bgp_show_route (vty, argv[1], argv[2], AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_BESTPATH, uj);
+ if (strncmp (argv[5]->arg, "b", 1) == 0)
+ return bgp_show_route (vty, argv[3]->arg, argv[4]->arg, AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_BESTPATH, uj);
else
- return bgp_show_route (vty, argv[1], argv[2], AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_MULTIPATH, uj);
+ return bgp_show_route (vty, argv[3]->arg, argv[4]->arg, AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_MULTIPATH, uj);
}
ALIAS (show_bgp_instance_route_pathtype,
"IPv6 prefix <network>/<length>\n"
"JavaScript Object Notation\n")
{
- return bgp_show_route (vty, argv[1], argv[2], AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_ALL, use_json(argc, argv));
+ return bgp_show_route (vty, argv[3]->arg, argv[4]->arg, AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_ALL, use_json(argc, argv));
}
ALIAS (show_bgp_instance_prefix,
"JavaScript Object Notation\n")
{
u_char uj = use_json(argc, argv);
- if (strncmp (argv[3], "b", 1) == 0)
- return bgp_show_route (vty, argv[1], argv[2], AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_BESTPATH, uj);
+ if (strncmp (argv[5]->arg, "b", 1) == 0)
+ return bgp_show_route (vty, argv[3]->arg, argv[4]->arg, AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_BESTPATH, uj);
else
- return bgp_show_route (vty, argv[1], argv[2], AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_MULTIPATH, uj);
+ return bgp_show_route (vty, argv[3]->arg, argv[4]->arg, AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_MULTIPATH, uj);
}
ALIAS (show_bgp_instance_prefix_pathtype,
"Display routes conforming to the prefix-list\n"
"IPv6 prefix-list name\n")
{
- return bgp_show_prefix_list (vty, argv[1], argv[2], AFI_IP6, SAFI_UNICAST,
+ return bgp_show_prefix_list (vty, argv[3]->arg, argv[5]->arg, AFI_IP6, SAFI_UNICAST,
bgp_show_type_prefix_list);
}
"Display routes conforming to the filter-list\n"
"Regular expression access list name\n")
{
- return bgp_show_filter_list (vty, argv[1], argv[2], AFI_IP6, SAFI_UNICAST,
+ return bgp_show_filter_list (vty, argv[3]->arg, argv[5]->arg, AFI_IP6, SAFI_UNICAST,
bgp_show_type_filter_list);
}
"Display routes matching the route-map\n"
"A route-map to match on\n")
{
- return bgp_show_route_map (vty, argv[1], argv[2], AFI_IP6, SAFI_UNICAST,
+ return bgp_show_route_map (vty, argv[3]->arg, argv[5]->arg, AFI_IP6, SAFI_UNICAST,
bgp_show_type_route_map);
}
"community-list number\n"
"community-list name\n")
{
- return bgp_show_community_list (vty, argv[1], argv[2], 0, AFI_IP6, SAFI_UNICAST);
+ return bgp_show_community_list (vty, argv[3]->arg, argv[5]->arg, 0, AFI_IP6, SAFI_UNICAST);
}
ALIAS (show_bgp_instance_community_list,
"IPv6 prefix <network>/<length>\n"
"Display route and more specific routes\n")
{
- return bgp_show_prefix_longer (vty, argv[1], argv[2], AFI_IP6, SAFI_UNICAST,
+ return bgp_show_prefix_longer (vty, argv[3]->arg, argv[4]->arg, AFI_IP6, SAFI_UNICAST,
bgp_show_type_prefix_longer);
}
"JavaScript Object Notation\n")
{
bgp_show_ipv6_bgp_deprecate_warning(vty);
- return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_MULTICAST, NULL, 0, BGP_PATH_ALL, use_json(argc, argv));
+ return bgp_show_route (vty, NULL, argv[3]->arg, AFI_IP6, SAFI_MULTICAST, NULL, 0, BGP_PATH_ALL, use_json(argc, argv));
}
/* old command */
"JavaScript Object Notation\n")
{
bgp_show_ipv6_bgp_deprecate_warning(vty);
- return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_MULTICAST, NULL, 1, BGP_PATH_ALL, use_json(argc, argv));
+ return bgp_show_route (vty, NULL, argv[3]->arg, AFI_IP6, SAFI_MULTICAST, NULL, 1, BGP_PATH_ALL, use_json(argc, argv));
}
#endif
static int
-bgp_show_regexp (struct vty *vty, int argc, const char **argv, afi_t afi,
+bgp_show_regexp (struct vty *vty, int argc, struct cmd_token **argv, afi_t afi,
safi_t safi, enum bgp_show_type type)
{
int i;
buffer_putc (b, ' ');
else
{
- if ((strcmp (argv[i], "unicast") == 0) || (strcmp (argv[i], "multicast") == 0))
+ if ((strcmp (argv[i]->arg, "unicast") == 0) || (strcmp (argv[i]->arg, "multicast") == 0))
continue;
first = 1;
}
- buffer_putstr (b, argv[i]);
+ buffer_putstr (b, argv[i]->arg);
}
buffer_putc (b, '\0');
XFREE(MTYPE_TMP, regstr);
if (! regex)
{
- vty_out (vty, "Can't compile regexp %s%s", argv[0],
+ vty_out (vty, "Can't compile regexp %s%s", argv[0]->arg,
VTY_NEWLINE);
return CMD_WARNING;
}
"Display routes matching the AS path regular expression\n"
"A regular-expression to match the BGP AS paths\n")
{
- if (strncmp (argv[0], "m", 1) == 0)
+ if (strncmp (argv[4]->arg, "m", 1) == 0)
return bgp_show_regexp (vty, argc, argv, AFI_IP, SAFI_MULTICAST,
bgp_show_type_regexp);
"Display routes conforming to the prefix-list\n"
"IP prefix-list name\n")
{
- return bgp_show_prefix_list (vty, NULL, argv[0], AFI_IP, SAFI_UNICAST,
+ return bgp_show_prefix_list (vty, NULL, argv[4]->arg, AFI_IP, SAFI_UNICAST,
bgp_show_type_prefix_list);
}
"Display routes conforming to the prefix-list\n"
"IP prefix-list name\n")
{
- return bgp_show_prefix_list (vty, argv[1], argv[2], AFI_IP, SAFI_UNICAST,
+ return bgp_show_prefix_list (vty, argv[4]->arg, argv[6]->arg, AFI_IP, SAFI_UNICAST,
bgp_show_type_prefix_list);
}
"Display routes conforming to the prefix-list\n"
"IP prefix-list name\n")
{
- return bgp_show_prefix_list (vty, NULL, argv[0], AFI_IP, SAFI_UNICAST,
+ return bgp_show_prefix_list (vty, NULL, argv[5]->arg, AFI_IP, SAFI_UNICAST,
bgp_show_type_flap_prefix_list);
}
"Display routes conforming to the prefix-list\n"
"IP prefix-list name\n")
{
- if (strncmp (argv[0], "m", 1) == 0)
- return bgp_show_prefix_list (vty, NULL, argv[1], AFI_IP, SAFI_MULTICAST,
+ if (strncmp (argv[4]->arg, "m", 1) == 0)
+ return bgp_show_prefix_list (vty, NULL, argv[6]->arg, AFI_IP, SAFI_MULTICAST,
bgp_show_type_prefix_list);
- return bgp_show_prefix_list (vty, NULL, argv[1], AFI_IP, SAFI_UNICAST,
+ return bgp_show_prefix_list (vty, NULL, argv[6]->arg, AFI_IP, SAFI_UNICAST,
bgp_show_type_prefix_list);
}
"Display routes conforming to the prefix-list\n"
"IPv6 prefix-list name\n")
{
- return bgp_show_prefix_list (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST,
+ return bgp_show_prefix_list (vty, NULL, argv[3]->arg, AFI_IP6, SAFI_UNICAST,
bgp_show_type_prefix_list);
}
"IPv6 prefix-list name\n")
{
bgp_show_ipv6_bgp_deprecate_warning(vty);
- return bgp_show_prefix_list (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST,
+ return bgp_show_prefix_list (vty, NULL, argv[4]->arg, AFI_IP6, SAFI_UNICAST,
bgp_show_type_prefix_list);
}
"IPv6 prefix-list name\n")
{
bgp_show_ipv6_bgp_deprecate_warning(vty);
- return bgp_show_prefix_list (vty, NULL, argv[0], AFI_IP6, SAFI_MULTICAST,
+ return bgp_show_prefix_list (vty, NULL, argv[4]->arg, AFI_IP6, SAFI_MULTICAST,
bgp_show_type_prefix_list);
}
#endif /* HAVE_IPV6 */
"Display routes conforming to the filter-list\n"
"Regular expression access list name\n")
{
- return bgp_show_filter_list (vty, NULL, argv[0], AFI_IP, SAFI_UNICAST,
+ return bgp_show_filter_list (vty, NULL, argv[4]->arg, AFI_IP, SAFI_UNICAST,
bgp_show_type_filter_list);
}
"Display routes conforming to the filter-list\n"
"Regular expression access list name\n")
{
- return bgp_show_filter_list (vty, argv[1], argv[2], AFI_IP, SAFI_UNICAST,
+ return bgp_show_filter_list (vty, argv[4]->arg, argv[6]->arg, AFI_IP, SAFI_UNICAST,
bgp_show_type_filter_list);
}
"Display routes conforming to the filter-list\n"
"Regular expression access list name\n")
{
- return bgp_show_filter_list (vty, NULL, argv[0], AFI_IP, SAFI_UNICAST,
+ return bgp_show_filter_list (vty, NULL, argv[5]->arg, AFI_IP, SAFI_UNICAST,
bgp_show_type_flap_filter_list);
}
"Display routes conforming to the filter-list\n"
"Regular expression access list name\n")
{
- if (strncmp (argv[0], "m", 1) == 0)
- return bgp_show_filter_list (vty, NULL, argv[1], AFI_IP, SAFI_MULTICAST,
+ if (strncmp (argv[4]->arg, "m", 1) == 0)
+ return bgp_show_filter_list (vty, NULL, argv[6]->arg, AFI_IP, SAFI_MULTICAST,
bgp_show_type_filter_list);
- return bgp_show_filter_list (vty, NULL, argv[1], AFI_IP, SAFI_UNICAST,
+ return bgp_show_filter_list (vty, NULL, argv[6]->arg, AFI_IP, SAFI_UNICAST,
bgp_show_type_filter_list);
}
"Display routes conforming to the filter-list\n"
"Regular expression access list name\n")
{
- return bgp_show_filter_list (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST,
+ return bgp_show_filter_list (vty, NULL, argv[3]->arg, AFI_IP6, SAFI_UNICAST,
bgp_show_type_filter_list);
}
"Regular expression access list name\n")
{
bgp_show_ipv6_bgp_deprecate_warning(vty);
- return bgp_show_filter_list (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST,
+ return bgp_show_filter_list (vty, NULL, argv[4]->arg, AFI_IP6, SAFI_UNICAST,
bgp_show_type_filter_list);
}
"Regular expression access list name\n")
{
bgp_show_ipv6_bgp_deprecate_warning(vty);
- return bgp_show_filter_list (vty, NULL, argv[0], AFI_IP6, SAFI_MULTICAST,
+ return bgp_show_filter_list (vty, NULL, argv[4]->arg, AFI_IP6, SAFI_MULTICAST,
bgp_show_type_filter_list);
}
#endif /* HAVE_IPV6 */
"Display detailed information about dampening\n"
"Display detail of configured dampening parameters\n")
{
- if (strncmp(argv[0], "m", 1) == 0)
+ if (strncmp(argv[4]->arg, "m", 1) == 0)
return bgp_show_dampening_parameters (vty, AFI_IP, SAFI_MULTICAST);
return bgp_show_dampening_parameters (vty, AFI_IP, SAFI_UNICAST);
"Display detailed information about dampening\n"
"Display flap statistics of routes\n")
{
- if (strncmp(argv[0], "m", 1) == 0)
+ if (strncmp(argv[4]->arg, "m", 1) == 0)
return bgp_show (vty, NULL, AFI_IP, SAFI_MULTICAST,
bgp_show_type_flap_statistics, NULL, 0);
"Display detailed information about dampening\n"
"Display paths suppressed due to dampening\n")
{
- if (strncmp(argv[0], "m", 1) == 0)
+ if (strncmp(argv[4]->arg, "m", 1) == 0)
return bgp_show (vty, NULL, AFI_IP, SAFI_MULTICAST,
bgp_show_type_dampend_paths, NULL, 0);
"Display routes matching the route-map\n"
"A route-map to match on\n")
{
- return bgp_show_route_map (vty, NULL, argv[0], AFI_IP, SAFI_UNICAST,
+ return bgp_show_route_map (vty, NULL, argv[4]->arg, AFI_IP, SAFI_UNICAST,
bgp_show_type_route_map);
}
"Display routes matching the route-map\n"
"A route-map to match on\n")
{
- return bgp_show_route_map (vty, argv[1], argv[2], AFI_IP, SAFI_UNICAST,
+ return bgp_show_route_map (vty, argv[4]->arg, argv[6]->arg, AFI_IP, SAFI_UNICAST,
bgp_show_type_route_map);
}
"Display routes matching the route-map\n"
"A route-map to match on\n")
{
- return bgp_show_route_map (vty, NULL, argv[0], AFI_IP, SAFI_UNICAST,
+ return bgp_show_route_map (vty, NULL, argv[5]->arg, AFI_IP, SAFI_UNICAST,
bgp_show_type_flap_route_map);
}
"Display routes matching the route-map\n"
"A route-map to match on\n")
{
- if (strncmp (argv[0], "m", 1) == 0)
- return bgp_show_route_map (vty, NULL, argv[1], AFI_IP, SAFI_MULTICAST,
+ if (strncmp (argv[4]->arg, "m", 1) == 0)
+ return bgp_show_route_map (vty, NULL, argv[6]->arg, AFI_IP, SAFI_MULTICAST,
bgp_show_type_route_map);
- return bgp_show_route_map (vty, NULL, argv[1], AFI_IP, SAFI_UNICAST,
+ return bgp_show_route_map (vty, NULL, argv[6]->arg, AFI_IP, SAFI_UNICAST,
bgp_show_type_route_map);
}
"Display routes matching the route-map\n"
"A route-map to match on\n")
{
- return bgp_show_route_map (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST,
+ return bgp_show_route_map (vty, NULL, argv[3]->arg, AFI_IP6, SAFI_UNICAST,
bgp_show_type_route_map);
}
"Address Family modifier\n"
"Display only routes with non-natural netmasks\n")
{
- if (strncmp (argv[0], "m", 1) == 0)
+ if (strncmp (argv[4]->arg, "m", 1) == 0)
return bgp_show (vty, NULL, AFI_IP, SAFI_MULTICAST,
bgp_show_type_cidr_only, NULL, 0);
"Address Family modifier\n"
"Display routes matching the communities\n")
{
- if (strncmp (argv[0], "m", 1) == 0)
+ if (strncmp (argv[4]->arg, "m", 1) == 0)
return bgp_show (vty, NULL, AFI_IP, SAFI_MULTICAST,
bgp_show_type_community_all, NULL, 0);
static int
bgp_show_community (struct vty *vty, const char *view_name, int argc,
- const char **argv, int exact, afi_t afi, safi_t safi)
+ struct cmd_token **argv, int exact, afi_t afi, safi_t safi)
{
struct community *com;
struct buffer *b;
buffer_putc (b, ' ');
else
{
- if ((strcmp (argv[i], "unicast") == 0) || (strcmp (argv[i], "multicast") == 0))
+ if ((strcmp (argv[i]->arg, "unicast") == 0) || (strcmp (argv[i]->arg, "multicast") == 0))
continue;
first = 1;
}
- buffer_putstr (b, argv[i]);
+ buffer_putstr (b, argv[i]->arg);
}
buffer_putc (b, '\0');
"Do not advertise to any peer (well-known community)\n"
"Do not export to next AS (well-known community)\n")
{
- if (strncmp (argv[0], "m", 1) == 0)
+ if (strncmp (argv[4]->arg, "m", 1) == 0)
return bgp_show_community (vty, NULL, argc, argv, 0, AFI_IP, SAFI_MULTICAST);
return bgp_show_community (vty, NULL, argc, argv, 0, AFI_IP, SAFI_UNICAST);
struct bgp *bgp;
/* BGP structure lookup. */
- bgp = bgp_lookup_by_name (argv[1]);
+ bgp = bgp_lookup_by_name (argv[3]->arg);
if (bgp == NULL)
{
- vty_out (vty, "Can't find BGP instance %s%s", argv[1], VTY_NEWLINE);
+ vty_out (vty, "Can't find BGP instance %s%s", argv[3]->arg, VTY_NEWLINE);
return CMD_WARNING;
}
- afi = (strncmp (argv[2], "ipv6", 4) == 0) ? AFI_IP6 : AFI_IP;
- safi = (strncmp (argv[3], "m", 1) == 0) ? SAFI_MULTICAST : SAFI_UNICAST;
+ afi = (strncmp (argv[4]->arg, "ipv6", 4) == 0) ? AFI_IP6 : AFI_IP;
+ safi = (strncmp (argv[5]->arg, "m", 1) == 0) ? SAFI_MULTICAST : SAFI_UNICAST;
return bgp_show (vty, bgp, afi, safi, bgp_show_type_community_all, NULL, 0);
}
int afi;
int safi;
- afi = (strncmp (argv[2], "ipv6", 4) == 0) ? AFI_IP6 : AFI_IP;
- safi = (strncmp (argv[3], "m", 1) == 0) ? SAFI_MULTICAST : SAFI_UNICAST;
- return bgp_show_community (vty, argv[1], argc-4, &argv[4], 0, afi, safi);
+ afi = (strncmp (argv[4]->arg, "ipv6", 4) == 0) ? AFI_IP6 : AFI_IP;
+ safi = (strncmp (argv[5]->arg, "m", 1) == 0) ? SAFI_MULTICAST : SAFI_UNICAST;
+ return bgp_show_community (vty, argv[3]->arg, argc, argv, 0, afi, safi);
}
ALIAS (show_bgp_instance_afi_safi_community,
"Do not export to next AS (well-known community)\n"
"Exact match of the communities")
{
- if (strncmp (argv[0], "m", 1) == 0)
+ if (strncmp (argv[4]->arg, "m", 1) == 0)
return bgp_show_community (vty, NULL, argc, argv, 1, AFI_IP, SAFI_MULTICAST);
return bgp_show_community (vty, NULL, argc, argv, 1, AFI_IP, SAFI_UNICAST);
"community-list number\n"
"community-list name\n")
{
- return bgp_show_community_list (vty, NULL, argv[0], 0, AFI_IP, SAFI_UNICAST);
+ return bgp_show_community_list (vty, NULL, argv[4]->arg, 0, AFI_IP, SAFI_UNICAST);
}
DEFUN (show_ip_bgp_instance_community_list,
"community-list number\n"
"community-list name\n")
{
- return bgp_show_community_list (vty, argv[1], argv[2], 0, AFI_IP, SAFI_UNICAST);
+ return bgp_show_community_list (vty, argv[4]->arg, argv[6]->arg, 0, AFI_IP, SAFI_UNICAST);
}
DEFUN (show_ip_bgp_ipv4_community_list,
"community-list number\n"
"community-list name\n")
{
- if (strncmp (argv[0], "m", 1) == 0)
- return bgp_show_community_list (vty, NULL, argv[1], 0, AFI_IP, SAFI_MULTICAST);
+ if (strncmp (argv[4]->arg, "m", 1) == 0)
+ return bgp_show_community_list (vty, NULL, argv[6]->arg, 0, AFI_IP, SAFI_MULTICAST);
- return bgp_show_community_list (vty, NULL, argv[1], 0, AFI_IP, SAFI_UNICAST);
+ return bgp_show_community_list (vty, NULL, argv[6]->arg, 0, AFI_IP, SAFI_UNICAST);
}
DEFUN (show_ip_bgp_community_list_exact,
"community-list name\n"
"Exact match of the communities\n")
{
- return bgp_show_community_list (vty, NULL, argv[0], 1, AFI_IP, SAFI_UNICAST);
+ return bgp_show_community_list (vty, NULL, argv[4]->arg, 1, AFI_IP, SAFI_UNICAST);
}
DEFUN (show_ip_bgp_ipv4_community_list_exact,
"community-list name\n"
"Exact match of the communities\n")
{
- if (strncmp (argv[0], "m", 1) == 0)
- return bgp_show_community_list (vty, NULL, argv[1], 1, AFI_IP, SAFI_MULTICAST);
+ if (strncmp (argv[4]->arg, "m", 1) == 0)
+ return bgp_show_community_list (vty, NULL, argv[6]->arg, 1, AFI_IP, SAFI_MULTICAST);
- return bgp_show_community_list (vty, NULL, argv[1], 1, AFI_IP, SAFI_UNICAST);
+ return bgp_show_community_list (vty, NULL, argv[6]->arg, 1, AFI_IP, SAFI_UNICAST);
}
#ifdef HAVE_IPV6
"community-list number\n"
"community-list name\n")
{
- return bgp_show_community_list (vty, NULL, argv[0], 0, AFI_IP6, SAFI_UNICAST);
+ return bgp_show_community_list (vty, NULL, argv[3]->arg, 0, AFI_IP6, SAFI_UNICAST);
}
ALIAS (show_bgp_community_list,
"community-list name\n")
{
bgp_show_ipv6_bgp_deprecate_warning(vty);
- return bgp_show_community_list (vty, NULL, argv[0], 0, AFI_IP6, SAFI_UNICAST);
+ return bgp_show_community_list (vty, NULL, argv[4]->arg, 0, AFI_IP6, SAFI_UNICAST);
}
/* old command */
"community-list name\n")
{
bgp_show_ipv6_bgp_deprecate_warning(vty);
- return bgp_show_community_list (vty, NULL, argv[0], 0, AFI_IP6, SAFI_MULTICAST);
+ return bgp_show_community_list (vty, NULL, argv[4]->arg, 0, AFI_IP6, SAFI_MULTICAST);
}
DEFUN (show_bgp_community_list_exact,
"community-list name\n"
"Exact match of the communities\n")
{
- return bgp_show_community_list (vty, NULL, argv[0], 1, AFI_IP6, SAFI_UNICAST);
+ return bgp_show_community_list (vty, NULL, argv[3]->arg, 1, AFI_IP6, SAFI_UNICAST);
}
ALIAS (show_bgp_community_list_exact,
"Exact match of the communities\n")
{
bgp_show_ipv6_bgp_deprecate_warning(vty);
- return bgp_show_community_list (vty, NULL, argv[0], 1, AFI_IP6, SAFI_UNICAST);
+ return bgp_show_community_list (vty, NULL, argv[4]->arg, 1, AFI_IP6, SAFI_UNICAST);
}
/* old command */
"Exact match of the communities\n")
{
bgp_show_ipv6_bgp_deprecate_warning(vty);
- return bgp_show_community_list (vty, NULL, argv[0], 1, AFI_IP6, SAFI_MULTICAST);
+ return bgp_show_community_list (vty, NULL, argv[4]->arg, 1, AFI_IP6, SAFI_MULTICAST);
}
#endif /* HAVE_IPV6 */
"IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
"Display route and more specific routes\n")
{
- return bgp_show_prefix_longer (vty, NULL, argv[0], AFI_IP, SAFI_UNICAST,
+ return bgp_show_prefix_longer (vty, NULL, argv[3]->arg, AFI_IP, SAFI_UNICAST,
bgp_show_type_prefix_longer);
}
"IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
"Display route and more specific routes\n")
{
- return bgp_show_prefix_longer (vty, argv[1], argv[2], AFI_IP, SAFI_UNICAST,
+ return bgp_show_prefix_longer (vty, argv[4]->arg, argv[5]->arg, AFI_IP, SAFI_UNICAST,
bgp_show_type_prefix_longer);
}
"IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
"Display route and more specific routes\n")
{
- return bgp_show_prefix_longer (vty, NULL, argv[0], AFI_IP, SAFI_UNICAST,
+ return bgp_show_prefix_longer (vty, NULL, argv[4]->arg, AFI_IP, SAFI_UNICAST,
bgp_show_type_flap_prefix_longer);
}
"IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
"Display route and more specific routes\n")
{
- if (strncmp (argv[0], "m", 1) == 0)
- return bgp_show_prefix_longer (vty, NULL, argv[1], AFI_IP, SAFI_MULTICAST,
+ if (strncmp (argv[4]->arg, "m", 1) == 0)
+ return bgp_show_prefix_longer (vty, NULL, argv[5]->arg, AFI_IP, SAFI_MULTICAST,
bgp_show_type_prefix_longer);
- return bgp_show_prefix_longer (vty, NULL, argv[1], AFI_IP, SAFI_UNICAST,
+ return bgp_show_prefix_longer (vty, NULL, argv[5]->arg, AFI_IP, SAFI_UNICAST,
bgp_show_type_prefix_longer);
}
"Display flap statistics of routes\n"
"Network in the BGP routing table to display\n")
{
- return bgp_show_prefix_longer (vty, NULL, argv[0], AFI_IP, SAFI_UNICAST,
+ return bgp_show_prefix_longer (vty, NULL, argv[4]->arg, AFI_IP, SAFI_UNICAST,
bgp_show_type_flap_address);
}
"Display flap statistics of routes\n"
"IP prefix <network>/<length>, e.g., 35.0.0.0/8\n")
{
- return bgp_show_prefix_longer (vty, NULL, argv[0], AFI_IP, SAFI_UNICAST,
+ return bgp_show_prefix_longer (vty, NULL, argv[4]->arg, AFI_IP, SAFI_UNICAST,
bgp_show_type_flap_prefix);
}
"IPv6 prefix <network>/<length>\n"
"Display route and more specific routes\n")
{
- return bgp_show_prefix_longer (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST,
+ return bgp_show_prefix_longer (vty, NULL, argv[2]->arg, AFI_IP6, SAFI_UNICAST,
bgp_show_type_prefix_longer);
}
"Display route and more specific routes\n")
{
bgp_show_ipv6_bgp_deprecate_warning(vty);
- return bgp_show_prefix_longer (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST,
+ return bgp_show_prefix_longer (vty, NULL, argv[3]->arg, AFI_IP6, SAFI_UNICAST,
bgp_show_type_prefix_longer);
}
"Display route and more specific routes\n")
{
bgp_show_ipv6_bgp_deprecate_warning(vty);
- return bgp_show_prefix_longer (vty, NULL, argv[0], AFI_IP6, SAFI_MULTICAST,
+ return bgp_show_prefix_longer (vty, NULL, argv[3]->arg, AFI_IP6, SAFI_MULTICAST,
bgp_show_type_prefix_longer);
}
#endif /* HAVE_IPV6 */
"Address Family modifier\n"
"BGP RIB advertisement statistics\n")
{
- return bgp_table_stats_vty (vty, NULL, argv[0], argv[1]);
+ return bgp_table_stats_vty (vty, NULL, argv[2]->arg, argv[3]->arg);
}
DEFUN (show_bgp_statistics_view,
"Address Family modifier\n"
"BGP RIB advertisement statistics\n")
{
- return bgp_table_stats_vty (vty, NULL, argv[1], argv[2]);
+ return bgp_table_stats_vty (vty, NULL, argv[3]->arg, argv[4]->arg);
}
enum bgp_pcounts
struct peer *peer;
u_char uj = use_json(argc, argv);
- peer = peer_lookup_in_view (vty, NULL, argv[0], uj);
+ peer = peer_lookup_in_view (vty, NULL, argv[4]->arg, uj);
if (! peer)
return CMD_WARNING;
struct peer *peer;
u_char uj = use_json(argc, argv);
- peer = peer_lookup_in_view (vty, argv[1], argv[2], uj);
+ peer = peer_lookup_in_view (vty, argv[4]->arg, argv[6]->arg, uj);
if (! peer)
return CMD_WARNING;
struct peer *peer;
u_char uj = use_json(argc, argv);
- peer = peer_lookup_in_view (vty, NULL, argv[0], uj);
+ peer = peer_lookup_in_view (vty, NULL, argv[4]->arg, uj);
if (! peer)
return CMD_WARNING;
struct peer *peer;
u_char uj = use_json(argc, argv);
- peer = peer_lookup_in_view (vty, argv[1], argv[2], uj);
+ peer = peer_lookup_in_view (vty, argv[3]->arg, argv[6]->arg, uj);
if (! peer)
return CMD_WARNING;
struct peer *peer;
u_char uj = use_json(argc, argv);
- peer = peer_lookup_in_view (vty, NULL, argv[1], uj);
+ peer = peer_lookup_in_view (vty, NULL, argv[6]->arg, uj);
if (! peer)
return CMD_WARNING;
- if (strncmp (argv[0], "m", 1) == 0)
+ if (strncmp (argv[4]->arg, "m", 1) == 0)
return bgp_peer_counts (vty, peer, AFI_IP, SAFI_MULTICAST, uj);
return bgp_peer_counts (vty, peer, AFI_IP, SAFI_UNICAST, uj);
struct peer *peer;
u_char uj = use_json(argc, argv);
- peer = peer_lookup_in_view (vty, NULL, argv[0], uj);
+ peer = peer_lookup_in_view (vty, NULL, argv[6]->arg, uj);
if (! peer)
return CMD_WARNING;
struct peer *peer;
u_char uj = use_json(argc, argv);
- if (argc == 4 || (argc == 3 && argv[2] && strcmp(argv[2], "json") != 0))
- peer = peer_lookup_in_view (vty, argv[1], argv[2], uj);
+ if (argc == 4 || (argc == 3 && argv[6]->arg && strcmp(argv[6]->arg, "json") != 0))
+ peer = peer_lookup_in_view (vty, argv[4]->arg, argv[6]->arg, uj);
else
- peer = peer_lookup_in_view (vty, NULL, argv[1], uj);
+ peer = peer_lookup_in_view (vty, NULL, argv[4]->arg, uj);
if (! peer)
return CMD_WARNING;
const char *rmap_name = NULL;
u_char uj = use_json(argc, argv);
- peer = peer_lookup_in_view (vty, NULL, argv[0], uj);
+ peer = peer_lookup_in_view (vty, NULL, argv[4]->arg, uj);
if (! peer)
return CMD_WARNING;
- if ((argc == 2 && argv[1] && strcmp(argv[1], "json") != 0)
+ if ((argc == 2 && argv[6]->arg && strcmp(argv[6]->arg, "json") != 0)
|| (argc == 3))
- rmap_name = argv[1];
+ rmap_name = argv[6]->arg;
return peer_adj_routes (vty, peer, AFI_IP, SAFI_UNICAST, 0, rmap_name, uj);
}
const char *rmap_name = NULL;
u_char uj = use_json(argc, argv);
- peer = peer_lookup_in_view (vty, NULL, argv[1], uj);
+ peer = peer_lookup_in_view (vty, NULL, argv[6]->arg, uj);
if (! peer)
return CMD_WARNING;
- if ((argc == 4) || (argc == 3 && argv[2] && strcmp(argv[2], "json") != 0))
- rmap_name = argv[2];
+ if ((argc == 4) || (argc == 3 && argv[8]->arg && strcmp(argv[8]->arg, "json") != 0))
+ rmap_name = argv[8]->arg;
- if (strncmp (argv[0], "m", 1) == 0)
+ if (strncmp (argv[4]->arg, "m", 1) == 0)
return peer_adj_routes (vty, peer, AFI_IP, SAFI_MULTICAST, 0, rmap_name, uj);
else
return peer_adj_routes (vty, peer, AFI_IP, SAFI_UNICAST, 0, rmap_name, uj);
struct peer *peer;
u_char uj = use_json(argc, argv);
- if (argc == 4 || (argc == 3 && argv[2] && strcmp(argv[2], "json") != 0))
- peer = peer_lookup_in_view (vty, argv[1], argv[2], uj);
+ if (argc == 4 || (argc == 3 && argv[5]->arg && strcmp(argv[5]->arg, "json") != 0))
+ peer = peer_lookup_in_view (vty, argv[3]->arg, argv[5]->arg, uj);
else
- peer = peer_lookup_in_view (vty, NULL, argv[1], uj);
+ peer = peer_lookup_in_view (vty, NULL, argv[3]->arg, uj);
if (! peer)
return CMD_WARNING;
const char *rmap_name = NULL;
u_char uj = use_json(argc, argv);
- peer = peer_lookup_in_view (vty, NULL, argv[0], uj);
+ peer = peer_lookup_in_view (vty, NULL, argv[3]->arg, uj);
if (!peer)
return CMD_WARNING;
- if (argc == 3 || (argc == 2 && argv[1] && strcmp(argv[1], "json") != 0))
- rmap_name = argv[1];
+ if (argc == 3 || (argc == 2 && argv[5]->arg && strcmp(argv[5]->arg, "json") != 0))
+ rmap_name = argv[5]->arg;
return peer_adj_routes (vty, peer, AFI_IP6, SAFI_UNICAST, 0, rmap_name, uj);
}
struct peer *peer;
u_char uj = use_json(argc, argv);
- peer = peer_lookup_in_view (vty, NULL, argv[0], uj);
+ peer = peer_lookup_in_view (vty, NULL, argv[4]->arg, uj);
if (! peer)
return CMD_WARNING;
struct peer *peer;
u_char uj = use_json(argc, argv);
- peer = peer_lookup_in_view (vty, argv[1], argv[2], uj);
+ peer = peer_lookup_in_view (vty, argv[3]->arg, argv[5]->arg, uj);
if (! peer)
return CMD_WARNING;
struct peer *peer;
u_char uj = use_json(argc, argv);
- peer = peer_lookup_in_view (vty, argv[1], argv[2], uj);
+ peer = peer_lookup_in_view (vty, argv[4]->arg, argv[6]->arg, uj);
if (! peer)
return CMD_WARNING;
const char *rmap_name = NULL;
u_char uj = use_json(argc, argv);
- peer = peer_lookup_in_view (vty, NULL, argv[0], uj);
+ peer = peer_lookup_in_view (vty, NULL, argv[4]->arg, uj);
if (! peer)
return CMD_WARNING;
- if (argc == 3 || (argc == 2 && argv[1] && strcmp(argv[1], "json") != 0))
- rmap_name = argv[1];
+ if (argc == 3 || (argc == 2 && argv[6]->arg && strcmp(argv[6]->arg, "json") != 0))
+ rmap_name = argv[6]->arg;
return peer_adj_routes (vty, peer, AFI_IP, SAFI_UNICAST, 1, rmap_name, uj);
}
const char *rmap_name = NULL;
u_char uj = use_json(argc, argv);
- peer = peer_lookup_in_view (vty, NULL, argv[1], uj);
+ peer = peer_lookup_in_view (vty, NULL, argv[6]->arg, uj);
if (! peer)
return CMD_WARNING;
- if (argc == 4 || (argc == 3 && argv[2] && strcmp(argv[2], "json") != 0))
- rmap_name = argv[2];
+ if (argc == 4 || (argc == 3 && argv[8]->arg && strcmp(argv[8]->arg, "json") != 0))
+ rmap_name = argv[8]->arg;
- if (strncmp (argv[0], "m", 1) == 0)
+ if (strncmp (argv[4]->arg, "m", 1) == 0)
return peer_adj_routes (vty, peer, AFI_IP, SAFI_MULTICAST, 1, rmap_name, uj);
else
return peer_adj_routes (vty, peer, AFI_IP, SAFI_UNICAST, 1, rmap_name, uj);
struct peer *peer;
u_char uj = use_json(argc, argv);
- peer = peer_lookup_in_view (vty, argv[1], argv[4], uj);
+ peer = peer_lookup_in_view (vty, argv[3]->arg, argv[7]->arg, uj);
if (! peer)
return CMD_WARNING;
- afi = (strncmp (argv[2], "ipv6", 4) == 0) ? AFI_IP6 : AFI_IP;
- safi = (strncmp (argv[3], "m", 1) == 0) ? SAFI_MULTICAST : SAFI_UNICAST;
- in = (strncmp (argv[5], "r", 1) == 0) ? 1 : 0;
+ afi = (strncmp (argv[4]->arg, "ipv6", 4) == 0) ? AFI_IP6 : AFI_IP;
+ safi = (strncmp (argv[5]->arg, "m", 1) == 0) ? SAFI_MULTICAST : SAFI_UNICAST;
+ in = (strncmp (argv[8]->arg, "r", 1) == 0) ? 1 : 0;
return peer_adj_routes (vty, peer, afi, safi, in, NULL, uj);
}
int count, ret;
u_char uj = use_json(argc, argv);
- ret = str2sockunion (argv[0], &su);
+ ret = str2sockunion (argv[4]->arg, &su);
if (ret < 0)
{
- peer = peer_lookup_by_conf_if (NULL, argv[0]);
+ peer = peer_lookup_by_conf_if (NULL, argv[4]->arg);
if (! peer)
{
if (uj)
json_no = json_object_new_object();
json_sub = json_object_new_object();
json_object_string_add(json_no, "warning", "Malformed address or name");
- json_object_string_add(json_sub, "warningCause", argv[0]);
+ json_object_string_add(json_sub, "warningCause", argv[4]->arg);
json_object_object_add(json_no, "detail", json_sub);
vty_out (vty, "%s%s", json_object_to_json_string(json_no), VTY_NEWLINE);
json_object_free(json_no);
}
else
- vty_out (vty, "%% Malformed address or name: %s%s", argv[0], VTY_NEWLINE);
+ vty_out (vty, "%% Malformed address or name: %s%s", argv[4]->arg, VTY_NEWLINE);
return CMD_WARNING;
}
}
int count, ret;
u_char uj = use_json(argc, argv);
- ret = str2sockunion (argv[1], &su);
+ ret = str2sockunion (argv[6]->arg, &su);
if (ret < 0)
{
- peer = peer_lookup_by_conf_if (NULL, argv[1]);
+ peer = peer_lookup_by_conf_if (NULL, argv[6]->arg);
if (! peer)
{
if (uj)
json_no = json_object_new_object();
json_sub = json_object_new_object();
json_object_string_add(json_no, "warning", "Malformed address or name");
- json_object_string_add(json_sub, "warningCause", argv[1]);
+ json_object_string_add(json_sub, "warningCause", argv[6]->arg);
json_object_object_add(json_no, "detail", json_sub);
vty_out (vty, "%s%s", json_object_to_json_string(json_no), VTY_NEWLINE);
json_object_free(json_no);
}
else
- vty_out (vty, "%% Malformed address or name: %s%s", argv[1], VTY_NEWLINE);
+ vty_out (vty, "%% Malformed address or name: %s%s", argv[6]->arg, VTY_NEWLINE);
return CMD_WARNING;
}
}
}
}
- if (strncmp (argv[0], "m", 1) == 0)
+ if (strncmp (argv[4]->arg, "m", 1) == 0)
{
sprintf (name, "%s.%d.%d", peer->host, AFI_IP, SAFI_MULTICAST);
count = prefix_bgp_show_prefix_list (NULL, AFI_IP, name, uj);
const char *rmap_name = NULL;
u_char uj = use_json(argc, argv);
- peer = peer_lookup_in_view (vty, NULL, argv[0], uj);
+ peer = peer_lookup_in_view (vty, NULL, argv[3]->arg, uj);
if (! peer)
return CMD_WARNING;
- if (argc == 3 || (argc == 2 && argv[1] && strcmp(argv[1], "json") != 0))
- rmap_name = argv[1];
+ if (argc == 3 || (argc == 2 && argv[5]->arg && strcmp(argv[5]->arg, "json") != 0))
+ rmap_name = argv[5]->arg;
return peer_adj_routes (vty, peer, AFI_IP6, SAFI_UNICAST, 1, rmap_name, uj);
}
int count, ret;
u_char uj = use_json(argc, argv);
- ret = str2sockunion (argv[0], &su);
+ ret = str2sockunion (argv[3]->arg, &su);
if (ret < 0)
{
- peer = peer_lookup_by_conf_if (NULL, argv[0]);
+ peer = peer_lookup_by_conf_if (NULL, argv[3]->arg);
if (! peer)
{
if (uj)
json_no = json_object_new_object();
json_sub = json_object_new_object();
json_object_string_add(json_no, "warning", "Malformed address or name");
- json_object_string_add(json_sub, "warningCause", argv[0]);
+ json_object_string_add(json_sub, "warningCause", argv[3]->arg);
json_object_object_add(json_no, "detail", json_sub);
vty_out (vty, "%s%s", json_object_to_json_string(json_no), VTY_NEWLINE);
json_object_free(json_no);
}
else
- vty_out (vty, "%% Malformed address or name: %s%s", argv[0], VTY_NEWLINE);
+ vty_out (vty, "%% Malformed address or name: %s%s", argv[3]->arg, VTY_NEWLINE);
return CMD_WARNING;
}
}
struct peer *peer;
u_char uj = use_json(argc, argv);
- peer = peer_lookup_in_view (vty, NULL, argv[0], uj);
+ peer = peer_lookup_in_view (vty, NULL, argv[4]->arg, uj);
if (! peer)
return CMD_WARNING;
u_char uj = use_json(argc, argv);
/* BGP structure lookup. */
- bgp = bgp_lookup_by_name (argv[1]);
+ bgp = bgp_lookup_by_name (argv[3]->arg);
if (bgp == NULL)
{
if (uj)
json_object_free(json_no);
}
else
- vty_out (vty, "Can't find BGP instance %s%s", argv[1], VTY_NEWLINE);
+ vty_out (vty, "Can't find BGP instance %s%s", argv[3]->arg, VTY_NEWLINE);
return CMD_WARNING;
}
- ret = str2sockunion (argv[2], &su);
+ ret = str2sockunion (argv[5]->arg, &su);
if (ret < 0)
{
- peer = peer_lookup_by_conf_if (bgp, argv[2]);
+ peer = peer_lookup_by_conf_if (bgp, argv[5]->arg);
if (! peer)
{
if (uj)
json_no = json_object_new_object();
json_sub = json_object_new_object();
json_object_string_add(json_no, "warning", "Malformed address or name");
- json_object_string_add(json_sub, "warningCause", argv[2]);
+ json_object_string_add(json_sub, "warningCause", argv[5]->arg);
json_object_object_add(json_no, "detail", json_sub);
vty_out (vty, "%s%s", json_object_to_json_string(json_no), VTY_NEWLINE);
json_object_free(json_no);
}
else
- vty_out (vty, "%% Malformed address or name: %s%s", argv[2], VTY_NEWLINE);
+ vty_out (vty, "%% Malformed address or name: %s%s", argv[5]->arg, VTY_NEWLINE);
return CMD_WARNING;
}
}
struct peer *peer;
u_char uj = use_json(argc, argv);
- peer = peer_lookup_in_view (vty, NULL, argv[0], uj);
+ peer = peer_lookup_in_view (vty, NULL, argv[4]->arg, uj);
if (! peer)
return CMD_WARNING;
struct peer *peer;
u_char uj = use_json(argc, argv);
- peer = peer_lookup_in_view (vty, argv[1], argv[2], uj);
+ peer = peer_lookup_in_view (vty, argv[4]->arg, argv[6]->arg, uj);
if (! peer)
return CMD_WARNING;
struct peer *peer;
u_char uj = use_json(argc, argv);
- peer = peer_lookup_in_view (vty, NULL, argv[0], uj);
+ peer = peer_lookup_in_view (vty, NULL, argv[4]->arg, uj);
if (! peer)
return CMD_WARNING;
struct peer *peer;
u_char uj = use_json(argc, argv);
- peer = peer_lookup_in_view (vty, NULL, argv[0], uj);
+ peer = peer_lookup_in_view (vty, NULL, argv[4]->arg, uj);
if (! peer)
return CMD_WARNING;
struct peer *peer;
u_char uj = use_json(argc, argv);
- peer = peer_lookup_in_view (vty, NULL, argv[1], uj);
+ peer = peer_lookup_in_view (vty, NULL, argv[6]->arg, uj);
if (! peer)
return CMD_WARNING;
- if (strncmp (argv[0], "m", 1) == 0)
+ if (strncmp (argv[4]->arg, "m", 1) == 0)
return bgp_show_neighbor_route (vty, peer, AFI_IP, SAFI_MULTICAST,
bgp_show_type_neighbor, uj);
struct peer *peer;
u_char uj = use_json(argc, argv);
- peer = peer_lookup_in_view (vty, argv[1], argv[2], uj);
+ peer = peer_lookup_in_view (vty, argv[3]->arg, argv[5]->arg, uj);
if (! peer)
return CMD_WARNING;
struct peer *peer;
u_char uj = use_json(argc, argv);
- if ((argc == 4 && argv[3] && strcmp(argv[3], "json") == 0)
- || (argc == 3 && argv[2] && strcmp(argv[2], "json") != 0))
- peer = peer_lookup_in_view (vty, argv[1], argv[2], uj);
+ if ((argc == 4 && argv[7]->arg && strcmp(argv[7]->arg, "json") == 0)
+ || (argc == 3 && argv[5]->arg && strcmp(argv[5]->arg, "json") != 0))
+ peer = peer_lookup_in_view (vty, argv[3]->arg, argv[5]->arg, uj);
else
- peer = peer_lookup_in_view (vty, NULL, argv[1], uj);
+ peer = peer_lookup_in_view (vty, NULL, argv[3]->arg, uj);
if (! peer)
return CMD_WARNING;
struct peer *peer;
u_char uj = use_json(argc, argv);
- if ((argc == 4 && argv[3] && strcmp(argv[3], "json") == 0)
- || (argc == 3 && argv[2] && strcmp(argv[2], "json") != 0))
- peer = peer_lookup_in_view (vty, argv[1], argv[2], uj);
+ if ((argc == 4 && argv[7]->arg && strcmp(argv[7]->arg, "json") == 0)
+ || (argc == 3 && argv[5]->arg && strcmp(argv[5]->arg, "json") != 0))
+ peer = peer_lookup_in_view (vty, argv[3]->arg, argv[5]->arg, uj);
else
- peer = peer_lookup_in_view (vty, NULL, argv[1], uj);
+ peer = peer_lookup_in_view (vty, NULL, argv[3]->arg, uj);
if (! peer)
return CMD_WARNING;
struct peer *peer;
u_char uj = use_json(argc, argv);
- peer = peer_lookup_in_view (vty, NULL, argv[0], uj);
+ peer = peer_lookup_in_view (vty, NULL, argv[3]->arg, uj);
if (! peer)
return CMD_WARNING;
struct peer *peer;
u_char uj = use_json(argc, argv);
- peer = peer_lookup_in_view (vty, NULL, argv[0], uj);
+ peer = peer_lookup_in_view (vty, NULL, argv[4]->arg, uj);
if (! peer)
return CMD_WARNING;
bgp = vty->index;
- bgp->distance_ebgp = atoi (argv[0]);
- bgp->distance_ibgp = atoi (argv[1]);
- bgp->distance_local = atoi (argv[2]);
+ bgp->distance_ebgp = atoi (argv[2]->arg);
+ bgp->distance_ibgp = atoi (argv[3]->arg);
+ bgp->distance_local = atoi (argv[4]->arg);
return CMD_SUCCESS;
}
"Administrative distance\n"
"IP source prefix\n")
{
- bgp_distance_set (vty, argv[0], argv[1], NULL);
+ bgp_distance_set (vty, argv[1]->arg, argv[2]->arg, NULL);
return CMD_SUCCESS;
}
"Administrative distance\n"
"IP source prefix\n")
{
- bgp_distance_unset (vty, argv[0], argv[1], NULL);
+ bgp_distance_unset (vty, argv[2]->arg, argv[3]->arg, NULL);
return CMD_SUCCESS;
}
"IP source prefix\n"
"Access list name\n")
{
- bgp_distance_set (vty, argv[0], argv[1], argv[2]);
+ bgp_distance_set (vty, argv[1]->arg, argv[2]->arg, argv[3]->arg);
return CMD_SUCCESS;
}
"IP source prefix\n"
"Access list name\n")
{
- bgp_distance_unset (vty, argv[0], argv[1], argv[2]);
+ bgp_distance_unset (vty, argv[2]->arg, argv[3]->arg, argv[4]->arg);
return CMD_SUCCESS;
}
if (argc == 4)
{
- half = atoi (argv[0]) * 60;
- reuse = atoi (argv[1]);
- suppress = atoi (argv[2]);
- max = atoi (argv[3]) * 60;
+ half = atoi (argv[2]->arg) * 60;
+ reuse = atoi (argv[3]->arg);
+ suppress = atoi (argv[4]->arg);
+ max = atoi (argv[5]->arg) * 60;
}
else if (argc == 1)
{
- half = atoi (argv[0]) * 60;
+ half = atoi (argv[2]->arg) * 60;
max = 4 * half;
}
"Clear route flap dampening information\n"
"IP prefix <network>/<length>, e.g., 35.0.0.0/8\n")
{
- return bgp_clear_damp_route (vty, NULL, argv[0], AFI_IP,
+ return bgp_clear_damp_route (vty, NULL, argv[4]->arg, AFI_IP,
SAFI_UNICAST, NULL, 1);
}
"Clear route flap dampening information\n"
"Network to clear damping information\n")
{
- return bgp_clear_damp_route (vty, NULL, argv[0], AFI_IP,
+ return bgp_clear_damp_route (vty, NULL, argv[4]->arg, AFI_IP,
SAFI_UNICAST, NULL, 0);
}
int ret;
char prefix_str[BUFSIZ];
- ret = netmask_str2prefix_str (argv[0], argv[1], prefix_str);
+ ret = netmask_str2prefix_str (argv[4]->arg, argv[5]->arg, prefix_str);
if (! ret)
{
vty_out (vty, "%% Inconsistent address and mask%s", VTY_NEWLINE);
"IP address of peer\n"
"IPv6 address of peer\n")
{
- return bgp_route_match_add (vty, vty->index, "peer", argv[0],
+ return bgp_route_match_add (vty, vty->index, "peer", argv[2]->arg,
RMAP_EVENT_MATCH_ADDED);
}
MATCH_STR
"Match peer address\n")
{
- if (argc == 0)
- return bgp_route_match_delete (vty, vty->index, "peer", NULL,
- RMAP_EVENT_MATCH_DELETED);
-
- return bgp_route_match_delete (vty, vty->index, "peer", argv[0],
+ return bgp_route_match_delete (vty, vty->index, "peer", argv[3]->arg,
RMAP_EVENT_MATCH_DELETED);
}
"IP access-list number (expanded range)\n"
"IP Access-list name\n")
{
- return bgp_route_match_add (vty, vty->index, "ip address", argv[0],
+ return bgp_route_match_add (vty, vty->index, "ip address", argv[3]->arg,
RMAP_EVENT_FILTER_ADDED);
}
IP_STR
"Match address of route\n")
{
- if (argc == 0)
- return bgp_route_match_delete (vty, vty->index, "ip address", NULL,
- RMAP_EVENT_FILTER_DELETED);
-
- return bgp_route_match_delete (vty, vty->index, "ip address", argv[0],
+ return bgp_route_match_delete (vty, vty->index, "ip address", argv[4]->arg,
RMAP_EVENT_FILTER_DELETED);
}
"IP access-list number (expanded range)\n"
"IP Access-list name\n")
{
- return bgp_route_match_add (vty, vty->index, "ip next-hop", argv[0],
+ return bgp_route_match_add (vty, vty->index, "ip next-hop", argv[3]->arg,
RMAP_EVENT_FILTER_ADDED);
}
IP_STR
"Match next-hop address of route\n")
{
- if (argc == 0)
- return bgp_route_match_delete (vty, vty->index, "ip next-hop", NULL,
- RMAP_EVENT_FILTER_DELETED);
-
- return bgp_route_match_delete (vty, vty->index, "ip next-hop", argv[0],
+ return bgp_route_match_delete (vty, vty->index, "ip next-hop", argv[4]->arg,
RMAP_EVENT_FILTER_DELETED);
}
"Match portion of routes defined by percentage value\n"
"Percentage of routes\n")
{
- return bgp_route_match_add (vty, vty->index, "probability", argv[0],
+ return bgp_route_match_add (vty, vty->index, "probability", argv[2]->arg,
RMAP_EVENT_MATCH_ADDED);
}
MATCH_STR
"Match portion of routes defined by percentage value\n")
{
- return bgp_route_match_delete (vty, vty->index, "probability", argc ? argv[0] : NULL,
+ return bgp_route_match_delete (vty, vty->index, "probability", argv[2]->arg,
RMAP_EVENT_MATCH_DELETED);
}
"IP access-list number (expanded range)\n"
"IP standard access-list name\n")
{
- return bgp_route_match_add (vty, vty->index, "ip route-source", argv[0],
+ return bgp_route_match_add (vty, vty->index, "ip route-source", argv[3]->arg,
RMAP_EVENT_FILTER_ADDED);
}
IP_STR
"Match advertising source address of route\n")
{
- if (argc == 0)
- return bgp_route_match_delete (vty, vty->index, "ip route-source", NULL,
- RMAP_EVENT_FILTER_DELETED);
-
return bgp_route_match_delete (vty, vty->index, "ip route-source",
- argv[0], RMAP_EVENT_FILTER_DELETED);
+ argv[4]->arg, RMAP_EVENT_FILTER_DELETED);
}
ALIAS (no_match_ip_route_source,
"IP prefix-list name\n")
{
return bgp_route_match_add (vty, vty->index, "ip address prefix-list",
- argv[0], RMAP_EVENT_PLIST_ADDED);
+ argv[4]->arg, RMAP_EVENT_PLIST_ADDED);
}
DEFUN (no_match_ip_address_prefix_list,
"Match entries of prefix-lists\n")
{
return bgp_route_match_delete (vty, vty->index, "ip address prefix-list",
- argc == 0 ? NULL : argv[0],
- RMAP_EVENT_PLIST_DELETED);
+ argv[5]->arg, RMAP_EVENT_PLIST_DELETED);
}
ALIAS (no_match_ip_address_prefix_list,
"IP prefix-list name\n")
{
return bgp_route_match_add (vty, vty->index, "ip next-hop prefix-list",
- argv[0], RMAP_EVENT_PLIST_ADDED);
+ argv[4]->arg, RMAP_EVENT_PLIST_ADDED);
}
DEFUN (no_match_ip_next_hop_prefix_list,
"Match entries of prefix-lists\n")
{
return bgp_route_match_delete (vty, vty->index, "ip next-hop prefix-list",
- argc == 0 ? NULL : argv[0],
- RMAP_EVENT_PLIST_DELETED);
+ argv[5]->arg, RMAP_EVENT_PLIST_DELETED);
}
ALIAS (no_match_ip_next_hop_prefix_list,
"IP prefix-list name\n")
{
return bgp_route_match_add (vty, vty->index, "ip route-source prefix-list",
- argv[0], RMAP_EVENT_PLIST_ADDED);
+ argv[4]->arg, RMAP_EVENT_PLIST_ADDED);
}
DEFUN (no_match_ip_route_source_prefix_list,
"Match entries of prefix-lists\n")
{
return bgp_route_match_delete (vty, vty->index, "ip route-source prefix-list",
- argc == 0 ? NULL : argv[0],
- RMAP_EVENT_PLIST_DELETED);
+ argv[5]->arg, RMAP_EVENT_PLIST_DELETED);
}
ALIAS (no_match_ip_route_source_prefix_list,
"Match metric of route\n"
"Metric value\n")
{
- return bgp_route_match_add (vty, vty->index, "metric", argv[0],
+ return bgp_route_match_add (vty, vty->index, "metric", argv[2]->arg,
RMAP_EVENT_MATCH_ADDED);
}
"Match metric of route\n")
{
return bgp_route_match_delete (vty, vty->index, "metric",
- argc == 0 ? NULL : argv[0],
+ argv[3]->arg,
RMAP_EVENT_MATCH_DELETED);
}
"Match local-preference of route\n"
"Metric value\n")
{
- return bgp_route_match_add (vty, vty->index, "local-preference", argv[0],
+ return bgp_route_match_add (vty, vty->index, "local-preference", argv[2]->arg,
RMAP_EVENT_MATCH_ADDED);
}
"Match local preference of route\n")
{
return bgp_route_match_delete (vty, vty->index, "local-preference",
- argc == 0 ? NULL : argv[0],
- RMAP_EVENT_MATCH_DELETED);
-
- return bgp_route_match_delete (vty, vty->index, "local-preference", argv[0],
+ argv[3]->arg,
RMAP_EVENT_MATCH_DELETED);
}
"Community-list number (expanded)\n"
"Community-list name\n")
{
- return bgp_route_match_add (vty, vty->index, "community", argv[0],
+ return bgp_route_match_add (vty, vty->index, "community", argv[2]->arg,
RMAP_EVENT_CLIST_ADDED);
}
char *argstr;
argstr = XMALLOC (MTYPE_ROUTE_MAP_COMPILED,
- strlen (argv[0]) + strlen ("exact-match") + 2);
+ strlen (argv[2]->arg) + strlen ("exact-match") + 2);
- sprintf (argstr, "%s exact-match", argv[0]);
+ sprintf (argstr, "%s exact-match", argv[2]->arg);
ret = bgp_route_match_add (vty, vty->index, "community", argstr,
RMAP_EVENT_CLIST_ADDED);
"Extended community-list number (expanded)\n"
"Extended community-list name\n")
{
- return bgp_route_match_add (vty, vty->index, "extcommunity", argv[0],
+ return bgp_route_match_add (vty, vty->index, "extcommunity", argv[2]->arg,
RMAP_EVENT_ECLIST_ADDED);
}
"Match BGP AS path list\n"
"AS path access-list name\n")
{
- return bgp_route_match_add (vty, vty->index, "as-path", argv[0],
+ return bgp_route_match_add (vty, vty->index, "as-path", argv[2]->arg,
RMAP_EVENT_ASLIST_ADDED);
}
"local IGP\n"
"unknown heritage\n")
{
- if (strncmp (argv[0], "igp", 2) == 0)
+ if (strncmp (argv[2]->arg, "igp", 2) == 0)
return bgp_route_match_add (vty, vty->index, "origin", "igp",
RMAP_EVENT_MATCH_ADDED);
- if (strncmp (argv[0], "egp", 1) == 0)
+ if (strncmp (argv[2]->arg, "egp", 1) == 0)
return bgp_route_match_add (vty, vty->index, "origin", "egp",
RMAP_EVENT_MATCH_ADDED);
- if (strncmp (argv[0], "incomplete", 2) == 0)
+ if (strncmp (argv[2]->arg, "incomplete", 2) == 0)
return bgp_route_match_add (vty, vty->index, "origin", "incomplete",
RMAP_EVENT_MATCH_ADDED);
"Match first hop interface of route\n"
"Interface name\n")
{
- return bgp_route_match_add (vty, vty->index, "interface", argv[0],
+ return bgp_route_match_add (vty, vty->index, "interface", argv[2]->arg,
RMAP_EVENT_MATCH_ADDED);
}
MATCH_STR
"Match first hop interface of route\n")
{
- if (argc == 0)
- return bgp_route_match_delete (vty, vty->index, "interface", NULL,
- RMAP_EVENT_MATCH_DELETED);
-
- return bgp_route_match_delete (vty, vty->index, "interface", argv[0],
+ return bgp_route_match_delete (vty, vty->index, "interface", argv[3]->arg,
RMAP_EVENT_MATCH_DELETED);
}
"Match tag of route\n"
"Tag value\n")
{
- return bgp_route_match_add (vty, vty->index, "tag", argv[0],
+ return bgp_route_match_add (vty, vty->index, "tag", argv[2]->arg,
RMAP_EVENT_MATCH_ADDED);
}
MATCH_STR
"Match tag of route\n")
{
- if (argc == 0)
- return bgp_route_match_delete (vty, vty->index, "tag", NULL,
- RMAP_EVENT_MATCH_DELETED);
-
- return bgp_route_match_delete (vty, vty->index, "tag", argv[0],
+ return bgp_route_match_delete (vty, vty->index, "tag", argv[3]->arg,
RMAP_EVENT_MATCH_DELETED);
}
union sockunion su;
int ret;
- ret = str2sockunion (argv[0], &su);
+ ret = str2sockunion (argv[3]->arg, &su);
if (ret < 0)
{
vty_out (vty, "%% Malformed nexthop address%s", VTY_NEWLINE);
return CMD_WARNING;
}
- return bgp_route_set_add (vty, vty->index, "ip next-hop", argv[0]);
+ return bgp_route_set_add (vty, vty->index, "ip next-hop", argv[3]->arg);
}
DEFUN (set_ip_nexthop_peer,
SET_STR
"Next hop address\n")
{
- if (argc == 0)
- return bgp_route_set_delete (vty, vty->index, "ip next-hop", NULL);
-
- return bgp_route_set_delete (vty, vty->index, "ip next-hop", argv[0]);
+ return bgp_route_set_delete (vty, vty->index, "ip next-hop", argv[4]->arg);
}
ALIAS (no_set_ip_nexthop,
"Metric value for destination routing protocol\n"
"Metric value\n")
{
- return bgp_route_set_add (vty, vty->index, "metric", argv[0]);
+ return bgp_route_set_add (vty, vty->index, "metric", argv[2]->arg);
}
ALIAS (set_metric,
SET_STR
"Metric value for destination routing protocol\n")
{
- if (argc == 0)
- return bgp_route_set_delete (vty, vty->index, "metric", NULL);
-
- return bgp_route_set_delete (vty, vty->index, "metric", argv[0]);
+ return bgp_route_set_delete (vty, vty->index, "metric", argv[3]->arg);
}
ALIAS (no_set_metric,
"BGP local preference path attribute\n"
"Preference value\n")
{
- return bgp_route_set_add (vty, vty->index, "local-preference", argv[0]);
+ return bgp_route_set_add (vty, vty->index, "local-preference", argv[2]->arg);
}
DEFUN (no_set_local_pref,
SET_STR
"BGP local preference path attribute\n")
{
- if (argc == 0)
- return bgp_route_set_delete (vty, vty->index, "local-preference", NULL);
-
- return bgp_route_set_delete (vty, vty->index, "local-preference", argv[0]);
+ return bgp_route_set_delete (vty, vty->index, "local-preference", argv[3]->arg);
}
ALIAS (no_set_local_pref,
"BGP weight for routing table\n"
"Weight value\n")
{
- return bgp_route_set_add (vty, vty->index, "weight", argv[0]);
+ return bgp_route_set_add (vty, vty->index, "weight", argv[2]->arg);
}
DEFUN (no_set_weight,
SET_STR
"BGP weight for routing table\n")
{
- if (argc == 0)
- return bgp_route_set_delete (vty, vty->index, "weight", NULL);
-
- return bgp_route_set_delete (vty, vty->index, "weight", argv[0]);
+ return bgp_route_set_delete (vty, vty->index, "weight", argv[3]->arg);
}
ALIAS (no_set_weight,
int ret;
char *str;
- if (argc == 0)
- return bgp_route_set_delete (vty, vty->index, "as-path prepend", NULL);
-
str = argv_concat (argv, argc, 0);
ret = bgp_route_set_delete (vty, vty->index, "as-path prepend", str);
XFREE (MTYPE_TMP, str);
int ret;
char *str;
- if (argc == 0)
- return bgp_route_set_delete (vty, vty->index, "as-path exclude", NULL);
-
str = argv_concat (argv, argc, 0);
ret = bgp_route_set_delete (vty, vty->index, "as-path exclude", str);
XFREE (MTYPE_TMP, str);
for (i = 0; i < argc; i++)
{
- if (strncmp (argv[i], "additive", strlen (argv[i])) == 0)
+ if (strncmp (argv[i]->arg, "additive", strlen (argv[i]->arg)) == 0)
{
additive = 1;
continue;
else
first = 1;
- if (strncmp (argv[i], "internet", strlen (argv[i])) == 0)
+ if (strncmp (argv[i]->arg, "internet", strlen (argv[i]->arg)) == 0)
{
buffer_putstr (b, "internet");
continue;
}
- if (strncmp (argv[i], "local-AS", strlen (argv[i])) == 0)
+ if (strncmp (argv[i]->arg, "local-AS", strlen (argv[i]->arg)) == 0)
{
buffer_putstr (b, "local-AS");
continue;
}
- if (strncmp (argv[i], "no-a", strlen ("no-a")) == 0
- && strncmp (argv[i], "no-advertise", strlen (argv[i])) == 0)
+ if (strncmp (argv[i]->arg, "no-a", strlen ("no-a")) == 0
+ && strncmp (argv[i]->arg, "no-advertise", strlen (argv[i]->arg)) == 0)
{
buffer_putstr (b, "no-advertise");
continue;
}
- if (strncmp (argv[i], "no-e", strlen ("no-e"))== 0
- && strncmp (argv[i], "no-export", strlen (argv[i])) == 0)
+ if (strncmp (argv[i]->arg, "no-e", strlen ("no-e"))== 0
+ && strncmp (argv[i]->arg, "no-export", strlen (argv[i]->arg)) == 0)
{
buffer_putstr (b, "no-export");
continue;
}
- buffer_putstr (b, argv[i]);
+ buffer_putstr (b, argv[i]->arg);
}
buffer_putc (b, '\0');
{
char *str;
- str = XCALLOC (MTYPE_TMP, strlen (argv[0]) + strlen (" delete") + 1);
- strcpy (str, argv[0]);
- strcpy (str + strlen (argv[0]), " delete");
+ str = XCALLOC (MTYPE_TMP, strlen (argv[2]->arg) + strlen (" delete") + 1);
+ strcpy (str, argv[2]->arg);
+ strcpy (str + strlen (argv[2]->arg), " delete");
bgp_route_set_add (vty, vty->index, "comm-list", str);
"local IGP\n"
"unknown heritage\n")
{
- if (strncmp (argv[0], "igp", 2) == 0)
+ if (strncmp (argv[2]->arg, "igp", 2) == 0)
return bgp_route_set_add (vty, vty->index, "origin", "igp");
- if (strncmp (argv[0], "egp", 1) == 0)
+ if (strncmp (argv[2]->arg, "egp", 1) == 0)
return bgp_route_set_add (vty, vty->index, "origin", "egp");
- if (strncmp (argv[0], "incomplete", 2) == 0)
+ if (strncmp (argv[2]->arg, "incomplete", 2) == 0)
return bgp_route_set_add (vty, vty->index, "origin", "incomplete");
return CMD_WARNING;
struct in_addr address;
char *argstr;
- ret = inet_aton (argv[1], &address);
+ ret = inet_aton (argv[4]->arg, &address);
if (ret == 0)
{
vty_out (vty, "Aggregator IP address is invalid%s", VTY_NEWLINE);
}
argstr = XMALLOC (MTYPE_ROUTE_MAP_COMPILED,
- strlen (argv[0]) + strlen (argv[1]) + 2);
+ strlen (argv[3]->arg) + strlen (argv[4]->arg) + 2);
- sprintf (argstr, "%s %s", argv[0], argv[1]);
+ sprintf (argstr, "%s %s", argv[3]->arg, argv[4]->arg);
ret = bgp_route_set_add (vty, vty->index, "aggregator as", argstr);
if (argv == 0)
return bgp_route_set_delete (vty, vty->index, "aggregator as", NULL);
- ret = inet_aton (argv[1], &address);
+ ret = inet_aton (argv[5]->arg, &address);
if (ret == 0)
{
vty_out (vty, "Aggregator IP address is invalid%s", VTY_NEWLINE);
}
argstr = XMALLOC (MTYPE_ROUTE_MAP_COMPILED,
- strlen (argv[0]) + strlen (argv[1]) + 2);
+ strlen (argv[4]->arg) + strlen (argv[5]->arg) + 2);
- sprintf (argstr, "%s %s", argv[0], argv[1]);
+ sprintf (argstr, "%s %s", argv[4]->arg, argv[5]->arg);
ret = bgp_route_set_delete (vty, vty->index, "aggregator as", argstr);
"Tag value for routing protocol\n"
"Tag value\n")
{
- return bgp_route_set_add (vty, vty->index, "tag", argv[0]);
+ return bgp_route_set_add (vty, vty->index, "tag", argv[2]->arg);
}
DEFUN (no_set_tag,
SET_STR
"Tag value for routing protocol\n")
{
- if (argc == 0)
- bgp_route_set_delete(vty, vty->index, "tag", NULL);
-
- return bgp_route_set_delete (vty, vty->index, "tag", argv[0]);
+ return bgp_route_set_delete (vty, vty->index, "tag", argv[3]->arg);
}
ALIAS (no_set_tag,
"Match IPv6 address of route\n"
"IPv6 access-list name\n")
{
- return bgp_route_match_add (vty, vty->index, "ipv6 address", argv[0],
+ return bgp_route_match_add (vty, vty->index, "ipv6 address", argv[3]->arg,
RMAP_EVENT_FILTER_ADDED);
}
"Match IPv6 address of route\n"
"IPv6 access-list name\n")
{
- return bgp_route_match_delete (vty, vty->index, "ipv6 address", argv[0],
+ return bgp_route_match_delete (vty, vty->index, "ipv6 address", argv[4]->arg,
RMAP_EVENT_FILTER_DELETED);
}
"Match IPv6 next-hop address of route\n"
"IPv6 address of next hop\n")
{
- return bgp_route_match_add (vty, vty->index, "ipv6 next-hop", argv[0],
+ return bgp_route_match_add (vty, vty->index, "ipv6 next-hop", argv[3]->arg,
RMAP_EVENT_MATCH_ADDED);
}
"Match IPv6 next-hop address of route\n"
"IPv6 address of next hop\n")
{
- return bgp_route_match_delete (vty, vty->index, "ipv6 next-hop", argv[0],
+ return bgp_route_match_delete (vty, vty->index, "ipv6 next-hop", argv[4]->arg,
RMAP_EVENT_MATCH_DELETED);
}
"IP prefix-list name\n")
{
return bgp_route_match_add (vty, vty->index, "ipv6 address prefix-list",
- argv[0], RMAP_EVENT_PLIST_ADDED);
+ argv[4]->arg, RMAP_EVENT_PLIST_ADDED);
}
DEFUN (no_match_ipv6_address_prefix_list,
"IP prefix-list name\n")
{
return bgp_route_match_delete (vty, vty->index, "ipv6 address prefix-list",
- argv[0], RMAP_EVENT_PLIST_DELETED);
+ argv[5]->arg, RMAP_EVENT_PLIST_DELETED);
}
DEFUN (set_ipv6_nexthop_peer,
struct in6_addr addr;
int ret;
- ret = inet_pton (AF_INET6, argv[0], &addr);
+ ret = inet_pton (AF_INET6, argv[4]->arg, &addr);
if (!ret)
{
vty_out (vty, "%% Malformed nexthop address%s", VTY_NEWLINE);
return CMD_WARNING;
}
- return bgp_route_set_add (vty, vty->index, "ipv6 next-hop global", argv[0]);
+ return bgp_route_set_add (vty, vty->index, "ipv6 next-hop global", argv[4]->arg);
}
DEFUN (no_set_ipv6_nexthop_global,
"IPv6 next-hop address\n"
"IPv6 global address\n")
{
- if (argc == 0)
- return bgp_route_set_delete (vty, vty->index, "ipv6 next-hop global", NULL);
-
- return bgp_route_set_delete (vty, vty->index, "ipv6 next-hop global", argv[0]);
+ return bgp_route_set_delete (vty, vty->index, "ipv6 next-hop global", argv[5]->arg);
}
ALIAS (no_set_ipv6_nexthop_global,
struct in6_addr addr;
int ret;
- ret = inet_pton (AF_INET6, argv[0], &addr);
+ ret = inet_pton (AF_INET6, argv[4]->arg, &addr);
if (!ret)
{
vty_out (vty, "%% Malformed nexthop address%s", VTY_NEWLINE);
return CMD_WARNING;
}
- return bgp_route_set_add (vty, vty->index, "ipv6 next-hop local", argv[0]);
+ return bgp_route_set_add (vty, vty->index, "ipv6 next-hop local", argv[4]->arg);
}
DEFUN (no_set_ipv6_nexthop_local,
"IPv6 next-hop address\n"
"IPv6 local address\n")
{
- if (argc == 0)
- return bgp_route_set_delete (vty, vty->index, "ipv6 next-hop local", NULL);
-
- return bgp_route_set_delete (vty, vty->index, "ipv6 next-hop local", argv[0]);
+ return bgp_route_set_delete (vty, vty->index, "ipv6 next-hop local", argv[5]->arg);
}
ALIAS (no_set_ipv6_nexthop_local,
"VPNv4 next-hop address\n"
"IP address of next hop\n")
{
- return bgp_route_set_add (vty, vty->index, "vpnv4 next-hop", argv[0]);
+ return bgp_route_set_add (vty, vty->index, "vpnv4 next-hop", argv[3]->arg);
}
DEFUN (no_set_vpnv4_nexthop,
"VPNv4 information\n"
"VPNv4 next-hop address\n")
{
- if (argc == 0)
- return bgp_route_set_delete (vty, vty->index, "vpnv4 next-hop", NULL);
-
- return bgp_route_set_delete (vty, vty->index, "vpnv4 next-hop", argv[0]);
+ return bgp_route_set_delete (vty, vty->index, "vpnv4 next-hop", argv[4]->arg);
}
ALIAS (no_set_vpnv4_nexthop,
"BGP originator ID attribute\n"
"IP address of originator\n")
{
- return bgp_route_set_add (vty, vty->index, "originator-id", argv[0]);
+ return bgp_route_set_add (vty, vty->index, "originator-id", argv[2]->arg);
}
DEFUN (no_set_originator_id,
SET_STR
"BGP originator ID attribute\n")
{
- if (argc == 0)
- return bgp_route_set_delete (vty, vty->index, "originator-id", NULL);
-
- return bgp_route_set_delete (vty, vty->index, "originator-id", argv[0]);
+ return bgp_route_set_delete (vty, vty->index, "originator-id", argv[3]->arg);
}
ALIAS (no_set_originator_id,