int bgp_vty_find_and_parse_afi_safi_bgp(struct vty *vty,
struct cmd_token **argv, int argc,
int *idx, afi_t *afi, safi_t *safi,
- struct bgp **bgp)
+ struct bgp **bgp, bool use_json)
{
char *vrf_name = NULL;
if (argv_find(argv, argc, "ip", idx))
*afi = AFI_IP;
- if (argv_find(argv, argc, "view", idx)
- || argv_find(argv, argc, "vrf", idx)) {
+ if (argv_find(argv, argc, "view", idx))
vrf_name = argv[*idx + 1]->arg;
-
+ else if (argv_find(argv, argc, "vrf", idx)) {
+ vrf_name = argv[*idx + 1]->arg;
+ if (strmatch(vrf_name, VRF_DEFAULT_NAME))
+ vrf_name = NULL;
+ }
+ if (vrf_name) {
if (strmatch(vrf_name, "all"))
*bgp = NULL;
else {
*bgp = bgp_lookup_by_name(vrf_name);
if (!*bgp) {
- vty_out(vty,
- "View/Vrf specified is unknown: %s\n",
- vrf_name);
+ if (use_json)
+ vty_out(vty, "{}\n");
+ else
+ vty_out(vty, "View/Vrf %s is unknown\n",
+ vrf_name);
*idx = 0;
return 0;
}
} else {
*bgp = bgp_get_default();
if (!*bgp) {
- vty_out(vty, "Unable to find default BGP instance\n");
+ if (use_json)
+ vty_out(vty, "{}\n");
+ else
+ vty_out(vty,
+ "Default BGP instance not found\n");
*idx = 0;
return 0;
}
if (argc > 3) {
name = argv[idx_vrf]->arg;
- if (!strcmp(argv[idx_view_vrf]->text, "vrf"))
- inst_type = BGP_INSTANCE_TYPE_VRF;
- else if (!strcmp(argv[idx_view_vrf]->text, "view"))
+ if (!strcmp(argv[idx_view_vrf]->text, "vrf")) {
+ if (strmatch(name, VRF_DEFAULT_NAME))
+ name = NULL;
+ else
+ inst_type = BGP_INSTANCE_TYPE_VRF;
+ } else if (!strcmp(argv[idx_view_vrf]->text, "view"))
inst_type = BGP_INSTANCE_TYPE_VIEW;
}
if (argv_find(argv, argc, "ip", &idx))
afi = AFI_IP;
- /* [<view|vrf> VIEWVRFNAME] */
- if (argv_find(argv, argc, "view", &idx)
- || argv_find(argv, argc, "vrf", &idx)) {
+ /* [<vrf> VIEWVRFNAME] */
+ if (argv_find(argv, argc, "vrf", &idx)) {
+ vrf = argv[idx + 1]->arg;
+ idx += 2;
+ if (vrf && strmatch(vrf, VRF_DEFAULT_NAME))
+ vrf = NULL;
+ } else if (argv_find(argv, argc, "view", &idx)) {
+ /* [<view> VIEWVRFNAME] */
vrf = argv[idx + 1]->arg;
idx += 2;
}
-
/* ["BGP_AFI_CMD_STR" ["BGP_SAFI_CMD_STR"]] */
if (argv_find_and_parse_afi(argv, argc, &idx, &afi))
argv_find_and_parse_safi(argv, argc, &idx, &safi);
int idx = 0;
/* [<view|vrf> VIEWVRFNAME] */
- if (argv_find(argv, argc, "VIEWVRFNAME", &idx))
- vrf = argv[idx]->arg;
+ if (argv_find(argv, argc, "vrf", &idx)) {
+ vrf = argv[idx + 1]->arg;
+ idx += 2;
+ if (vrf && strmatch(vrf, VRF_DEFAULT_NAME))
+ vrf = NULL;
+ } else if (argv_find(argv, argc, "view", &idx)) {
+ /* [<view> VIEWVRFNAME] */
+ vrf = argv[idx + 1]->arg;
+ idx += 2;
+ }
prefix = argv[argc - 1]->arg;
"Clear bestpath and re-advertise\n"
"IPv6 prefix\n")
{
- int idx_word = 3;
int idx_safi = 0;
+ int idx_vrfview = 0;
int idx_ipv6_prefix = 0;
safi_t safi = SAFI_UNICAST;
char *prefix = argv_find(argv, argc, "X:X::X:X/M", &idx_ipv6_prefix) ?
argv[idx_ipv6_prefix]->arg : NULL;
- /* [<view|vrf> VIEWVRFNAME] */
- char *vrfview = argv_find(argv, argc, "VIEWVRFNAME", &idx_word) ?
- argv[idx_word]->arg : NULL;
+ char *vrfview = NULL;
+ /* [<view|vrf> VIEWVRFNAME] */
+ if (argv_find(argv, argc, "vrf", &idx_vrfview)) {
+ vrfview = argv[idx_vrfview + 1]->arg;
+ if (vrfview && strmatch(vrfview, VRF_DEFAULT_NAME))
+ vrfview = NULL;
+ } else if (argv_find(argv, argc, "view", &idx_vrfview)) {
+ /* [<view> VIEWVRFNAME] */
+ vrfview = argv[idx_vrfview + 1]->arg;
+ }
argv_find_and_parse_safi(argv, argc, &idx_safi, &safi);
return bgp_clear_prefix(
struct list *inst = bm->bgp;
struct listnode *node;
struct bgp *bgp;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
json_object *json = NULL;
json_object *json_vrfs = NULL;
int count = 0;
for (ALL_LIST_ELEMENTS_RO(inst, node, bgp)) {
const char *name, *type;
struct peer *peer;
- struct listnode *node, *nnode;
+ struct listnode *node2, *nnode2;
int peers_cfg, peers_estb;
json_object *json_vrf = NULL;
json_vrf = json_object_new_object();
- for (ALL_LIST_ELEMENTS(bgp->peer, node, nnode, peer)) {
+ for (ALL_LIST_ELEMENTS(bgp->peer, node2, nnode2, peer)) {
if (!CHECK_FLAG(peer->flags, PEER_FLAG_CONFIG_NODE))
continue;
peers_cfg++;
return CMD_SUCCESS;
}
-static void show_address_entry(struct hash_backet *backet, void *args)
-{
- struct vty *vty = (struct vty *)args;
- struct bgp_addr *addr = (struct bgp_addr *)backet->data;
-
- vty_out(vty, "addr: %s, count: %d\n", inet_ntoa(addr->addr),
- addr->refcnt);
-}
static void show_tip_entry(struct hash_backet *backet, void *args)
{
static void bgp_show_martian_nexthops(struct vty *vty, struct bgp *bgp)
{
vty_out(vty, "self nexthop database:\n");
- hash_iterate(bgp->address_hash,
- (void (*)(struct hash_backet *, void *))show_address_entry,
- vty);
+ bgp_nexthop_show_address_hash(vty, bgp);
vty_out(vty, "Tunnel-ip database:\n");
hash_iterate(bgp->tip_hash,
{
struct bgp *bgp = NULL;
int idx = 0;
-
- if (argv_find(argv, argc, "view", &idx)
- || argv_find(argv, argc, "vrf", &idx))
- bgp = bgp_lookup_by_name(argv[idx + 1]->arg);
+ char *name = NULL;
+
+ /* [<vrf> VIEWVRFNAME] */
+ if (argv_find(argv, argc, "vrf", &idx)) {
+ name = argv[idx + 1]->arg;
+ if (name && strmatch(name, VRF_DEFAULT_NAME))
+ name = NULL;
+ } else if (argv_find(argv, argc, "view", &idx))
+ /* [<view> VIEWVRFNAME] */
+ name = argv[idx + 1]->arg;
+ if (name)
+ bgp = bgp_lookup_by_name(name);
else
bgp = bgp_get_default();
count = mtype_stats_alloc(MTYPE_BGP_ROUTE);
vty_out(vty, "%ld BGP routes, using %s of memory\n", count,
mtype_memstr(memstrbuf, sizeof(memstrbuf),
- count * sizeof(struct bgp_info)));
+ count * sizeof(struct bgp_path_info)));
if ((count = mtype_stats_alloc(MTYPE_BGP_ROUTE_EXTRA)))
vty_out(vty, "%ld BGP route ancillaries, using %s of memory\n",
count,
- mtype_memstr(memstrbuf, sizeof(memstrbuf),
- count * sizeof(struct bgp_info_extra)));
+ mtype_memstr(
+ memstrbuf, sizeof(memstrbuf),
+ count * sizeof(struct bgp_path_info_extra)));
if ((count = mtype_stats_alloc(MTYPE_BGP_STATIC)))
vty_out(vty, "%ld Static routes, using %s of memory\n", count,
/* Show BGP peer's summary information. */
static int bgp_show_summary(struct vty *vty, struct bgp *bgp, int afi, int safi,
- uint8_t use_json, json_object *json)
+ bool use_json, json_object *json)
{
struct peer *peer;
struct listnode *node, *nnode;
}
static void bgp_show_summary_afi_safi(struct vty *vty, struct bgp *bgp, int afi,
- int safi, uint8_t use_json,
+ int safi, bool use_json,
json_object *json)
{
int is_first = 1;
int afi_wildcard = (afi == AFI_MAX);
int safi_wildcard = (safi == SAFI_MAX);
int is_wildcard = (afi_wildcard || safi_wildcard);
- bool json_output = false;
+ bool nbr_output = false;
if (use_json && is_wildcard)
vty_out(vty, "{\n");
safi = 1; /* SAFI_UNICAST */
while (safi < SAFI_MAX) {
if (bgp_afi_safi_peer_exists(bgp, afi, safi)) {
- json_output = true;
+ nbr_output = true;
if (is_wildcard) {
/*
* So limit output to those afi/safi
if (use_json && is_wildcard)
vty_out(vty, "}\n");
- else if (use_json && !json_output)
- vty_out(vty, "{}\n");
+ else if (!nbr_output) {
+ if (use_json)
+ vty_out(vty, "{}\n");
+ else
+ vty_out(vty, "%% No BGP neighbors found\n");
+ }
}
static void bgp_show_all_instances_summary_vty(struct vty *vty, afi_t afi,
- safi_t safi, uint8_t use_json)
+ safi_t safi, bool use_json)
{
struct listnode *node, *nnode;
struct bgp *bgp;
json_object *json = NULL;
int is_first = 1;
+ bool nbr_output = false;
if (use_json)
vty_out(vty, "{\n");
for (ALL_LIST_ELEMENTS(bm->bgp, node, nnode, bgp)) {
+ nbr_output = true;
if (use_json) {
json = json_object_new_object();
if (use_json)
vty_out(vty, "}\n");
+ else if (!nbr_output)
+ vty_out(vty, "%% BGP instance not found\n");
}
int bgp_show_summary_vty(struct vty *vty, const char *name, afi_t afi,
- safi_t safi, uint8_t use_json)
+ safi_t safi, bool use_json)
{
struct bgp *bgp;
vty_out(vty, "{}\n");
else
vty_out(vty,
- "%% No such BGP instance exist\n");
+ "%% BGP instance not found\n");
return CMD_WARNING;
}
if (bgp)
bgp_show_summary_afi_safi(vty, bgp, afi, safi, use_json, NULL);
+ else {
+ if (use_json)
+ vty_out(vty, "{}\n");
+ else
+ vty_out(vty, "%% BGP instance not found\n");
+ return CMD_WARNING;
+ }
return CMD_SUCCESS;
}
/* show [ip] bgp */
if (argv_find(argv, argc, "ip", &idx))
afi = AFI_IP;
- /* [<view|vrf> VIEWVRFNAME] */
- if (argv_find(argv, argc, "view", &idx)
- || argv_find(argv, argc, "vrf", &idx))
- vrf = argv[++idx]->arg;
+ /* [<vrf> VIEWVRFNAME] */
+ if (argv_find(argv, argc, "vrf", &idx)) {
+ vrf = argv[idx + 1]->arg;
+ if (vrf && strmatch(vrf, VRF_DEFAULT_NAME))
+ vrf = NULL;
+ } else if (argv_find(argv, argc, "view", &idx))
+ /* [<view> VIEWVRFNAME] */
+ vrf = argv[idx + 1]->arg;
/* ["BGP_AFI_CMD_STR" ["BGP_SAFI_CMD_STR"]] */
if (argv_find_and_parse_afi(argv, argc, &idx, &afi)) {
argv_find_and_parse_safi(argv, argc, &idx, &safi);
}
- int uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
return bgp_show_summary_vty(vty, vrf, afi, safi, uj);
}
afi_t afi, safi_t safi,
uint16_t adv_smcap, uint16_t adv_rmcap,
uint16_t rcv_smcap, uint16_t rcv_rmcap,
- uint8_t use_json, json_object *json_pref)
+ bool use_json, json_object *json_pref)
{
/* Send-Mode */
if (CHECK_FLAG(p->af_cap[afi][safi], adv_smcap)
}
static void bgp_show_peer_afi(struct vty *vty, struct peer *p, afi_t afi,
- safi_t safi, uint8_t use_json,
+ safi_t safi, bool use_json,
json_object *json_neigh)
{
struct bgp_filter *filter;
}
}
-static void bgp_show_peer(struct vty *vty, struct peer *p, uint8_t use_json,
+static void bgp_show_peer(struct vty *vty, struct peer *p, bool use_json,
json_object *json)
{
struct bgp *bgp;
static int bgp_show_neighbor(struct vty *vty, struct bgp *bgp,
enum show_type type, union sockunion *su,
- const char *conf_if, uint8_t use_json,
+ const char *conf_if, bool use_json,
json_object *json)
{
struct listnode *node, *nnode;
struct peer *peer;
int find = 0;
+ bool nbr_output = false;
for (ALL_LIST_ELEMENTS(bgp->peer, node, nnode, peer)) {
if (!CHECK_FLAG(peer->flags, PEER_FLAG_CONFIG_NODE))
switch (type) {
case show_all:
bgp_show_peer(vty, peer, use_json, json);
+ nbr_output = true;
break;
case show_peer:
if (conf_if) {
vty_out(vty, "%% No such neighbor in this view/vrf\n");
}
+ if (type != show_peer && !nbr_output && !use_json)
+ vty_out(vty, "%% No BGP neighbors found\n");
+
if (use_json) {
vty_out(vty, "%s\n", json_object_to_json_string_ext(
json, JSON_C_TO_STRING_PRETTY));
static void bgp_show_all_instances_neighbors_vty(struct vty *vty,
enum show_type type,
const char *ip_str,
- uint8_t use_json)
+ bool use_json)
{
struct listnode *node, *nnode;
struct bgp *bgp;
union sockunion su;
json_object *json = NULL;
int ret, is_first = 1;
+ bool nbr_output = false;
if (use_json)
vty_out(vty, "{\n");
for (ALL_LIST_ELEMENTS(bm->bgp, node, nnode, bgp)) {
+ nbr_output = true;
if (use_json) {
if (!(json = json_object_new_object())) {
flog_err(
- BGP_ERR_JSON_MEM_ERROR,
+ EC_BGP_JSON_MEM_ERROR,
"Unable to allocate memory for JSON object");
vty_out(vty,
"{\"error\": {\"message:\": \"Unable to allocate memory for JSON object\"}}}\n");
if (use_json)
vty_out(vty, "}\n");
+ else if (!nbr_output)
+ vty_out(vty, "%% BGP instance not found\n");
}
static int bgp_show_neighbor_vty(struct vty *vty, const char *name,
enum show_type type, const char *ip_str,
- uint8_t use_json)
+ bool use_json)
{
int ret;
struct bgp *bgp;
if (!bgp) {
if (use_json) {
json = json_object_new_object();
- json_object_boolean_true_add(
- json, "bgpNoSuchInstance");
vty_out(vty, "%s\n",
json_object_to_json_string_ext(
json,
json_object_free(json);
} else
vty_out(vty,
- "%% No such BGP instance exist\n");
+ "%% BGP instance not found\n");
return CMD_WARNING;
}
json);
}
json_object_free(json);
+ } else {
+ if (use_json)
+ vty_out(vty, "{}\n");
+ else
+ vty_out(vty, "%% BGP instance not found\n");
}
return CMD_SUCCESS;
char *sh_arg = NULL;
enum show_type sh_type;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
int idx = 0;
- if (argv_find(argv, argc, "view", &idx)
- || argv_find(argv, argc, "vrf", &idx))
+ /* [<vrf> VIEWVRFNAME] */
+ if (argv_find(argv, argc, "vrf", &idx)) {
+ vrf = argv[idx + 1]->arg;
+ if (vrf && strmatch(vrf, VRF_DEFAULT_NAME))
+ vrf = NULL;
+ } else if (argv_find(argv, argc, "view", &idx))
+ /* [<view> VIEWVRFNAME] */
vrf = argv[idx + 1]->arg;
idx++;
return CMD_SUCCESS;
}
-static int bgp_show_route_leak_vty(struct vty *vty, const char *name,
- afi_t afi, safi_t safi, uint8_t use_json)
+static int bgp_show_route_leak_vty(struct vty *vty, const char *name, afi_t afi,
+ safi_t safi, bool use_json)
{
struct bgp *bgp;
struct listnode *node;
json = json_object_new_object();
- /* Provide context for the block */
- json_object_string_add(json, "vrf", name ? name : "default");
- json_object_string_add(json, "afiSafi",
- afi_safi_print(afi, safi));
-
bgp = name ? bgp_lookup_by_name(name) : bgp_get_default();
if (!bgp) {
- json_object_boolean_true_add(json,
- "bgpNoSuchInstance");
vty_out(vty, "%s\n",
json_object_to_json_string_ext(
json,
return CMD_WARNING;
}
+ /* Provide context for the block */
+ json_object_string_add(json, "vrf", name ? name : "default");
+ json_object_string_add(json, "afiSafi",
+ afi_safi_print(afi, safi));
+
if (!CHECK_FLAG(bgp->af_flags[afi][safi],
BGP_CONFIG_VRF_TO_VRF_IMPORT)) {
json_object_string_add(json, "importFromVrfs", "none");
afi_t afi = AFI_MAX;
safi_t safi = SAFI_MAX;
- uint8_t uj = use_json(argc, argv);
+ bool uj = use_json(argc, argv);
int idx = 0;
/* show [ip] bgp */
return CMD_WARNING;
}
- if (argv_find(argv, argc, "vrf", &idx))
- vrf = argv[++idx]->arg;
+ if (argv_find(argv, argc, "vrf", &idx)) {
+ vrf = argv[idx + 1]->arg;
+ if (vrf && strmatch(vrf, VRF_DEFAULT_NAME))
+ vrf = NULL;
+ }
/* ["BGP_AFI_CMD_STR" ["BGP_SAFI_CMD_STR"]] */
if (argv_find_and_parse_afi(argv, argc, &idx, &afi)) {
argv_find_and_parse_safi(argv, argc, &idx, &safi);
/* show [ip] bgp */
if (argv_find(argv, argc, "ip", &idx))
afi = AFI_IP;
- /* [<view|vrf> VIEWVRFNAME] */
- if (argv_find(argv, argc, "view", &idx)
- || argv_find(argv, argc, "vrf", &idx))
- vrf = argv[++idx]->arg;
+ /* [<vrf> VIEWVRFNAME] */
+ if (argv_find(argv, argc, "vrf", &idx)) {
+ vrf = argv[idx + 1]->arg;
+ if (vrf && strmatch(vrf, VRF_DEFAULT_NAME))
+ vrf = NULL;
+ } else if (argv_find(argv, argc, "view", &idx))
+ /* [<view> VIEWVRFNAME] */
+ vrf = argv[idx + 1]->arg;
/* ["BGP_AFI_CMD_STR" ["BGP_SAFI_CMD_STR"]] */
if (argv_find_and_parse_afi(argv, argc, &idx, &afi)) {
argv_find_and_parse_safi(argv, argc, &idx, &safi);
bgp = name ? bgp_lookup_by_name(name) : bgp_get_default();
if (!bgp) {
- vty_out(vty, "%% No such BGP instance exists\n");
+ vty_out(vty, "%% BGP instance not found\n");
return CMD_WARNING;
}
/* "community-list" keyword help string. */
#define COMMUNITY_LIST_STR "Add a community list entry\n"
-/* ip community-list standard */
-DEFUN (ip_community_list_standard,
- ip_community_list_standard_cmd,
- "ip community-list <(1-99)|standard WORD> <deny|permit> AA:NN...",
- IP_STR
+/*community-list standard */
+DEFUN (community_list_standard,
+ bgp_community_list_standard_cmd,
+ "bgp community-list <(1-99)|standard WORD> <deny|permit> AA:NN...",
+ BGP_STR
COMMUNITY_LIST_STR
"Community list number (standard)\n"
"Add an standard community-list entry\n"
int style = COMMUNITY_LIST_STANDARD;
int idx = 0;
+
+ if (argv_find(argv, argc, "ip", &idx)) {
+ vty_out(vty, "This config option is deprecated, and is scheduled for removal.\n");
+ vty_out(vty, "if you are using this please migrate to the below command.\n");
+ vty_out(vty, "'bgp community-list <(1-99)|(100-500)|standard|expanded> <deny|permit> AA:NN'\n");
+ zlog_warn("Deprecated option: 'ip community-list <(1-99)|(100-500)|standard|expanded> <deny|permit> AA:NN' being used");
+ }
+
argv_find(argv, argc, "(1-99)", &idx);
argv_find(argv, argc, "WORD", &idx);
cl_name_or_number = argv[idx]->arg;
return CMD_SUCCESS;
}
-DEFUN (no_ip_community_list_standard_all,
- no_ip_community_list_standard_all_cmd,
- "no ip community-list <(1-99)|standard WORD> <deny|permit> AA:NN...",
- NO_STR
+#if CONFDATE > 20191005
+CPP_NOTICE("bgpd: remove deprecated 'ip community-list <(1-99)|(100-500)|standard|expanded> <deny|permit> AA:NN' command")
+#endif
+ALIAS (community_list_standard,
+ ip_community_list_standard_cmd,
+ "ip community-list <(1-99)|standard WORD> <deny|permit> AA:NN...",
IP_STR
COMMUNITY_LIST_STR
"Community list number (standard)\n"
"Specify community to reject\n"
"Specify community to accept\n"
COMMUNITY_VAL_STR)
+
+DEFUN (no_community_list_standard_all,
+ no_bgp_community_list_standard_all_cmd,
+ "no bgp community-list <(1-99)|standard WORD> <deny|permit> AA:NN...",
+ NO_STR
+ BGP_STR
+ COMMUNITY_LIST_STR
+ "Community list number (standard)\n"
+ "Add an standard community-list entry\n"
+ "Community list name\n"
+ "Specify community to reject\n"
+ "Specify community to accept\n"
+ COMMUNITY_VAL_STR)
{
char *cl_name_or_number = NULL;
int direct = 0;
int style = COMMUNITY_LIST_STANDARD;
int idx = 0;
+
+ if (argv_find(argv, argc, "ip", &idx)) {
+ vty_out(vty, "This config option is deprecated, and is scheduled for removal\n");
+ vty_out(vty, "if you are using this please migrate to the below command.\n");
+ vty_out(vty, "'no bgp community-list <(1-99)|(100-500)|standard|expanded> <deny|permit> AA:NN'\n");
+ zlog_warn("Deprecated option: 'no ip community-list <(1-99)|(100-500)|standard|expanded> <deny|permit> |AA:NN' being used");
+ }
+
argv_find(argv, argc, "(1-99)", &idx);
argv_find(argv, argc, "WORD", &idx);
cl_name_or_number = argv[idx]->arg;
return CMD_SUCCESS;
}
-
-/* ip community-list expanded */
-DEFUN (ip_community_list_expanded_all,
- ip_community_list_expanded_all_cmd,
- "ip community-list <(100-500)|expanded WORD> <deny|permit> AA:NN...",
+ALIAS (no_community_list_standard_all,
+ no_ip_community_list_standard_all_cmd,
+ "no ip community-list <(1-99)|standard WORD> <deny|permit> AA:NN...",
+ NO_STR
IP_STR
COMMUNITY_LIST_STR
+ "Community list number (standard)\n"
+ "Add an standard community-list entry\n"
+ "Community list name\n"
+ "Specify community to reject\n"
+ "Specify community to accept\n"
+ COMMUNITY_VAL_STR)
+
+/*community-list expanded */
+DEFUN (community_list_expanded_all,
+ bgp_community_list_expanded_all_cmd,
+ "bgp community-list <(100-500)|expanded WORD> <deny|permit> AA:NN...",
+ BGP_STR
+ COMMUNITY_LIST_STR
"Community list number (expanded)\n"
"Add an expanded community-list entry\n"
"Community list name\n"
int style = COMMUNITY_LIST_EXPANDED;
int idx = 0;
+ if (argv_find(argv, argc, "ip", &idx)) {
+ vty_out(vty, "This config option is deprecated, and is scheduled for removal.\n");
+ vty_out(vty, "if you are using this please migrate to the below command.\n");
+ vty_out(vty, "'bgp community-list <(1-99)|(100-500)|standard|expanded> <deny|permit> AA:NN'\n");
+ zlog_warn("Deprecated option: 'ip community-list <(1-99)|(100-500)|standard|expanded> <deny|permit> AA:NN' being used");
+ }
argv_find(argv, argc, "(100-500)", &idx);
argv_find(argv, argc, "WORD", &idx);
cl_name_or_number = argv[idx]->arg;
return CMD_SUCCESS;
}
-DEFUN (no_ip_community_list_expanded_all,
- no_ip_community_list_expanded_all_cmd,
- "no ip community-list <(100-500)|expanded WORD> <deny|permit> AA:NN...",
- NO_STR
+ALIAS (community_list_expanded_all,
+ ip_community_list_expanded_all_cmd,
+ "ip community-list <(100-500)|expanded WORD> <deny|permit> AA:NN...",
IP_STR
COMMUNITY_LIST_STR
"Community list number (expanded)\n"
"Specify community to reject\n"
"Specify community to accept\n"
COMMUNITY_VAL_STR)
+
+DEFUN (no_community_list_expanded_all,
+ no_bgp_community_list_expanded_all_cmd,
+ "no bgp community-list <(100-500)|expanded WORD> <deny|permit> AA:NN...",
+ NO_STR
+ BGP_STR
+ COMMUNITY_LIST_STR
+ "Community list number (expanded)\n"
+ "Add an expanded community-list entry\n"
+ "Community list name\n"
+ "Specify community to reject\n"
+ "Specify community to accept\n"
+ COMMUNITY_VAL_STR)
{
char *cl_name_or_number = NULL;
int direct = 0;
int style = COMMUNITY_LIST_EXPANDED;
int idx = 0;
+ if (argv_find(argv, argc, "ip", &idx)) {
+ vty_out(vty, "This config option is deprecated, and is scheduled for removal.\n");
+ vty_out(vty, "if you are using this please migrate to the below command.\n");
+ vty_out(vty, "'no community-list <(1-99)|(100-500)|standard|expanded> <deny|permit> AA:NN'\n");
+ zlog_warn("Deprecated option: 'no community-list <(1-99)|(100-500)|standard|expanded> <deny|permit> AA:NN' being used");
+ }
argv_find(argv, argc, "(100-500)", &idx);
argv_find(argv, argc, "WORD", &idx);
cl_name_or_number = argv[idx]->arg;
return CMD_SUCCESS;
}
+ALIAS (no_community_list_expanded_all,
+ no_ip_community_list_expanded_all_cmd,
+ "no ip community-list <(100-500)|expanded WORD> <deny|permit> AA:NN...",
+ NO_STR
+ IP_STR
+ COMMUNITY_LIST_STR
+ "Community list number (expanded)\n"
+ "Add an expanded community-list entry\n"
+ "Community list name\n"
+ "Specify community to reject\n"
+ "Specify community to accept\n"
+ COMMUNITY_VAL_STR)
+
/* Return configuration string of community-list entry. */
static const char *community_list_config_str(struct community_entry *entry)
{
}
}
-DEFUN (show_ip_community_list,
- show_ip_community_list_cmd,
- "show ip community-list",
+DEFUN (show_community_list,
+ show_bgp_community_list_cmd,
+ "show bgp community-list",
SHOW_STR
- IP_STR
+ BGP_STR
"List community-list\n")
{
struct community_list *list;
struct community_list_master *cm;
+ int idx = 0;
+ if (argv_find(argv, argc, "ip", &idx)) {
+ vty_out(vty, "This config option is deprecated, and is scheduled for removal.\n");
+ vty_out(vty, "if you are using this please migrate to the below command.\n");
+ vty_out(vty, "'show bgp community-list <(1-500)|WORD>'\n");
+ zlog_warn("Deprecated option: 'ip show community-list <(1-500)|WORD>' being used");
+ }
cm = community_list_master_lookup(bgp_clist, COMMUNITY_LIST_MASTER);
if (!cm)
return CMD_SUCCESS;
return CMD_SUCCESS;
}
-DEFUN (show_ip_community_list_arg,
- show_ip_community_list_arg_cmd,
- "show ip community-list <(1-500)|WORD>",
+ALIAS (show_community_list,
+ show_ip_community_list_cmd,
+ "show ip community-list",
SHOW_STR
IP_STR
+ "List community-list\n")
+
+DEFUN (show_community_list_arg,
+ show_bgp_community_list_arg_cmd,
+ "show bgp community-list <(1-500)|WORD>",
+ SHOW_STR
+ BGP_STR
"List community-list\n"
"Community-list number\n"
"Community-list name\n")
int idx_comm_list = 3;
struct community_list *list;
+ int idx = 0;
+ if (argv_find(argv, argc, "ip", &idx)) {
+ vty_out(vty, "This config option is deprecated, and is scheduled for removal.\n");
+ vty_out(vty, "if you are using this please migrate to the below command.\n");
+ vty_out(vty, "'show bgp community-list <(1-500)|WORD>'\n");
+ zlog_warn("Deprecated option: 'ip show community-list <(1-500)|WORD>' being used");
+ }
list = community_list_lookup(bgp_clist, argv[idx_comm_list]->arg,
COMMUNITY_LIST_MASTER);
if (!list) {
return CMD_SUCCESS;
}
+ALIAS (show_community_list_arg,
+ show_ip_community_list_arg_cmd,
+ "show ip community-list <(1-500)|WORD>",
+ SHOW_STR
+ IP_STR
+ "List community-list\n"
+ "Community-list number\n"
+ "Community-list name\n")
+
/*
* Large Community code.
*/
int idx = 0;
char *cl_name;
+ if (argv_find(argv, argc, "ip", &idx)) {
+ vty_out(vty, "This config option is deprecated, and is scheduled for removal.\n");
+ vty_out(vty, "if you are using this please migrate to the below command.\n");
+ vty_out(vty, "'bgp large-community-list <(1-99)|(100-500)|standard|expanded> <deny|permit> <LINE|AA:BB:CC>'\n");
+ zlog_warn("Deprecated option: 'large-community-list <(1-99)|(100-500)|standard|expanded> <deny|permit> <LINE|AA:BB:CC>' being used");
+ }
direct = argv_find(argv, argc, "permit", &idx) ? COMMUNITY_PERMIT
: COMMUNITY_DENY;
char *str = NULL;
int idx = 0;
+ if (argv_find(argv, argc, "ip", &idx)) {
+ vty_out(vty, "This config option is deprecated, and is scheduled for removal.\n");
+ vty_out(vty, "if you are using this please migrate to the below command.\n");
+ vty_out(vty, "'no bgp large-community-list <(1-99)|(100-500)|standard|expanded> <deny|permit> <LINE|AA:BB:CC>'\n");
+ zlog_warn("Deprecated option: 'no ip large-community-list <(1-99)|(100-500)|standard|expanded> <deny|permit> <LINE|AA:BB:CC>' being used");
+ }
argv_find(argv, argc, "permit", &idx);
argv_find(argv, argc, "deny", &idx);
#define LCOMMUNITY_LIST_STR "Add a large community list entry\n"
#define LCOMMUNITY_VAL_STR "large community in 'aa:bb:cc' format\n"
-DEFUN (ip_lcommunity_list_standard,
+#if CONFDATE > 20191005
+CPP_NOTICE("bgpd: remove deprecated 'ip large-community-list <(1-99)|(100-500)|standard|expanded> <deny|permit> <LINE|AA:BB:CC>' command")
+#endif
+DEFUN (lcommunity_list_standard,
+ bgp_lcommunity_list_standard_cmd,
+ "bgp large-community-list (1-99) <deny|permit>",
+ BGP_STR
+ LCOMMUNITY_LIST_STR
+ "Large Community list number (standard)\n"
+ "Specify large community to reject\n"
+ "Specify large community to accept\n")
+{
+ return lcommunity_list_set_vty(vty, argc, argv,
+ LARGE_COMMUNITY_LIST_STANDARD, 0);
+}
+
+ALIAS (lcommunity_list_standard,
ip_lcommunity_list_standard_cmd,
"ip large-community-list (1-99) <deny|permit>",
IP_STR
"Large Community list number (standard)\n"
"Specify large community to reject\n"
"Specify large community to accept\n")
+
+DEFUN (lcommunity_list_standard1,
+ bgp_lcommunity_list_standard1_cmd,
+ "bgp large-community-list (1-99) <deny|permit> AA:BB:CC...",
+ BGP_STR
+ LCOMMUNITY_LIST_STR
+ "Large Community list number (standard)\n"
+ "Specify large community to reject\n"
+ "Specify large community to accept\n"
+ LCOMMUNITY_VAL_STR)
{
return lcommunity_list_set_vty(vty, argc, argv,
LARGE_COMMUNITY_LIST_STANDARD, 0);
}
-DEFUN (ip_lcommunity_list_standard1,
+ALIAS (lcommunity_list_standard1,
ip_lcommunity_list_standard1_cmd,
"ip large-community-list (1-99) <deny|permit> AA:BB:CC...",
IP_STR
"Specify large community to reject\n"
"Specify large community to accept\n"
LCOMMUNITY_VAL_STR)
+
+DEFUN (lcommunity_list_expanded,
+ bgp_lcommunity_list_expanded_cmd,
+ "bgp large-community-list (100-500) <deny|permit> LINE...",
+ BGP_STR
+ LCOMMUNITY_LIST_STR
+ "Large Community list number (expanded)\n"
+ "Specify large community to reject\n"
+ "Specify large community to accept\n"
+ "An ordered list as a regular-expression\n")
{
return lcommunity_list_set_vty(vty, argc, argv,
- LARGE_COMMUNITY_LIST_STANDARD, 0);
+ LARGE_COMMUNITY_LIST_EXPANDED, 0);
}
-DEFUN (ip_lcommunity_list_expanded,
+ALIAS (lcommunity_list_expanded,
ip_lcommunity_list_expanded_cmd,
"ip large-community-list (100-500) <deny|permit> LINE...",
IP_STR
"Specify large community to reject\n"
"Specify large community to accept\n"
"An ordered list as a regular-expression\n")
+
+DEFUN (lcommunity_list_name_standard,
+ bgp_lcommunity_list_name_standard_cmd,
+ "bgp large-community-list standard WORD <deny|permit>",
+ BGP_STR
+ LCOMMUNITY_LIST_STR
+ "Specify standard large-community-list\n"
+ "Large Community list name\n"
+ "Specify large community to reject\n"
+ "Specify large community to accept\n")
{
return lcommunity_list_set_vty(vty, argc, argv,
- LARGE_COMMUNITY_LIST_EXPANDED, 0);
+ LARGE_COMMUNITY_LIST_STANDARD, 1);
}
-DEFUN (ip_lcommunity_list_name_standard,
+ALIAS (lcommunity_list_name_standard,
ip_lcommunity_list_name_standard_cmd,
"ip large-community-list standard WORD <deny|permit>",
IP_STR
"Large Community list name\n"
"Specify large community to reject\n"
"Specify large community to accept\n")
+
+DEFUN (lcommunity_list_name_standard1,
+ bgp_lcommunity_list_name_standard1_cmd,
+ "bgp large-community-list standard WORD <deny|permit> AA:BB:CC...",
+ BGP_STR
+ LCOMMUNITY_LIST_STR
+ "Specify standard large-community-list\n"
+ "Large Community list name\n"
+ "Specify large community to reject\n"
+ "Specify large community to accept\n"
+ LCOMMUNITY_VAL_STR)
{
return lcommunity_list_set_vty(vty, argc, argv,
LARGE_COMMUNITY_LIST_STANDARD, 1);
}
-DEFUN (ip_lcommunity_list_name_standard1,
+ALIAS (lcommunity_list_name_standard1,
ip_lcommunity_list_name_standard1_cmd,
"ip large-community-list standard WORD <deny|permit> AA:BB:CC...",
IP_STR
"Specify large community to reject\n"
"Specify large community to accept\n"
LCOMMUNITY_VAL_STR)
+
+DEFUN (lcommunity_list_name_expanded,
+ bgp_lcommunity_list_name_expanded_cmd,
+ "bgp large-community-list expanded WORD <deny|permit> LINE...",
+ BGP_STR
+ LCOMMUNITY_LIST_STR
+ "Specify expanded large-community-list\n"
+ "Large Community list name\n"
+ "Specify large community to reject\n"
+ "Specify large community to accept\n"
+ "An ordered list as a regular-expression\n")
{
return lcommunity_list_set_vty(vty, argc, argv,
- LARGE_COMMUNITY_LIST_STANDARD, 1);
+ LARGE_COMMUNITY_LIST_EXPANDED, 1);
}
-DEFUN (ip_lcommunity_list_name_expanded,
+ALIAS (lcommunity_list_name_expanded,
ip_lcommunity_list_name_expanded_cmd,
"ip large-community-list expanded WORD <deny|permit> LINE...",
IP_STR
"Specify large community to reject\n"
"Specify large community to accept\n"
"An ordered list as a regular-expression\n")
+
+DEFUN (no_lcommunity_list_standard_all,
+ no_bgp_lcommunity_list_standard_all_cmd,
+ "no bgp large-community-list <(1-99)|(100-500)|WORD>",
+ NO_STR
+ BGP_STR
+ LCOMMUNITY_LIST_STR
+ "Large Community list number (standard)\n"
+ "Large Community list number (expanded)\n"
+ "Large Community list name\n")
{
- return lcommunity_list_set_vty(vty, argc, argv,
- LARGE_COMMUNITY_LIST_EXPANDED, 1);
+ return lcommunity_list_unset_vty(vty, argc, argv,
+ LARGE_COMMUNITY_LIST_STANDARD);
}
-DEFUN (no_ip_lcommunity_list_standard_all,
+ALIAS (no_lcommunity_list_standard_all,
no_ip_lcommunity_list_standard_all_cmd,
"no ip large-community-list <(1-99)|(100-500)|WORD>",
NO_STR
"Large Community list number (standard)\n"
"Large Community list number (expanded)\n"
"Large Community list name\n")
+
+DEFUN (no_lcommunity_list_name_expanded_all,
+ no_bgp_lcommunity_list_name_expanded_all_cmd,
+ "no bgp large-community-list expanded WORD",
+ NO_STR
+ BGP_STR
+ LCOMMUNITY_LIST_STR
+ "Specify expanded large-community-list\n"
+ "Large Community list name\n")
{
return lcommunity_list_unset_vty(vty, argc, argv,
- LARGE_COMMUNITY_LIST_STANDARD);
+ LARGE_COMMUNITY_LIST_EXPANDED);
}
-DEFUN (no_ip_lcommunity_list_name_expanded_all,
+ALIAS (no_lcommunity_list_name_expanded_all,
no_ip_lcommunity_list_name_expanded_all_cmd,
"no ip large-community-list expanded WORD",
NO_STR
LCOMMUNITY_LIST_STR
"Specify expanded large-community-list\n"
"Large Community list name\n")
+
+DEFUN (no_lcommunity_list_standard,
+ no_bgp_lcommunity_list_standard_cmd,
+ "no bgp large-community-list (1-99) <deny|permit> AA:AA:NN...",
+ NO_STR
+ BGP_STR
+ LCOMMUNITY_LIST_STR
+ "Large Community list number (standard)\n"
+ "Specify large community to reject\n"
+ "Specify large community to accept\n"
+ LCOMMUNITY_VAL_STR)
{
return lcommunity_list_unset_vty(vty, argc, argv,
- LARGE_COMMUNITY_LIST_EXPANDED);
+ LARGE_COMMUNITY_LIST_STANDARD);
}
-DEFUN (no_ip_lcommunity_list_standard,
+ALIAS (no_lcommunity_list_standard,
no_ip_lcommunity_list_standard_cmd,
"no ip large-community-list (1-99) <deny|permit> AA:AA:NN...",
NO_STR
"Specify large community to reject\n"
"Specify large community to accept\n"
LCOMMUNITY_VAL_STR)
+
+DEFUN (no_lcommunity_list_expanded,
+ no_bgp_lcommunity_list_expanded_cmd,
+ "no bgp large-community-list (100-500) <deny|permit> LINE...",
+ NO_STR
+ BGP_STR
+ LCOMMUNITY_LIST_STR
+ "Large Community list number (expanded)\n"
+ "Specify large community to reject\n"
+ "Specify large community to accept\n"
+ "An ordered list as a regular-expression\n")
{
return lcommunity_list_unset_vty(vty, argc, argv,
- LARGE_COMMUNITY_LIST_STANDARD);
+ LARGE_COMMUNITY_LIST_EXPANDED);
}
-DEFUN (no_ip_lcommunity_list_expanded,
+ALIAS (no_lcommunity_list_expanded,
no_ip_lcommunity_list_expanded_cmd,
"no ip large-community-list (100-500) <deny|permit> LINE...",
NO_STR
"Specify large community to reject\n"
"Specify large community to accept\n"
"An ordered list as a regular-expression\n")
+
+DEFUN (no_lcommunity_list_name_standard,
+ no_bgp_lcommunity_list_name_standard_cmd,
+ "no bgp large-community-list standard WORD <deny|permit> AA:AA:NN...",
+ NO_STR
+ BGP_STR
+ LCOMMUNITY_LIST_STR
+ "Specify standard large-community-list\n"
+ "Large Community list name\n"
+ "Specify large community to reject\n"
+ "Specify large community to accept\n"
+ LCOMMUNITY_VAL_STR)
{
return lcommunity_list_unset_vty(vty, argc, argv,
- LARGE_COMMUNITY_LIST_EXPANDED);
+ LARGE_COMMUNITY_LIST_STANDARD);
}
-DEFUN (no_ip_lcommunity_list_name_standard,
+ALIAS (no_lcommunity_list_name_standard,
no_ip_lcommunity_list_name_standard_cmd,
"no ip large-community-list standard WORD <deny|permit> AA:AA:NN...",
NO_STR
"Specify large community to reject\n"
"Specify large community to accept\n"
LCOMMUNITY_VAL_STR)
+
+DEFUN (no_lcommunity_list_name_expanded,
+ no_bgp_lcommunity_list_name_expanded_cmd,
+ "no bgp large-community-list expanded WORD <deny|permit> LINE...",
+ NO_STR
+ BGP_STR
+ LCOMMUNITY_LIST_STR
+ "Specify expanded large-community-list\n"
+ "Large community list name\n"
+ "Specify large community to reject\n"
+ "Specify large community to accept\n"
+ "An ordered list as a regular-expression\n")
{
return lcommunity_list_unset_vty(vty, argc, argv,
- LARGE_COMMUNITY_LIST_STANDARD);
+ LARGE_COMMUNITY_LIST_EXPANDED);
}
-DEFUN (no_ip_lcommunity_list_name_expanded,
+ALIAS (no_lcommunity_list_name_expanded,
no_ip_lcommunity_list_name_expanded_cmd,
"no ip large-community-list expanded WORD <deny|permit> LINE...",
NO_STR
"Specify large community to reject\n"
"Specify large community to accept\n"
"An ordered list as a regular-expression\n")
-{
- return lcommunity_list_unset_vty(vty, argc, argv,
- LARGE_COMMUNITY_LIST_EXPANDED);
-}
static void lcommunity_list_show(struct vty *vty, struct community_list *list)
{
}
}
-DEFUN (show_ip_lcommunity_list,
- show_ip_lcommunity_list_cmd,
- "show ip large-community-list",
+DEFUN (show_lcommunity_list,
+ show_bgp_lcommunity_list_cmd,
+ "show bgp large-community-list",
SHOW_STR
- IP_STR
+ BGP_STR
"List large-community list\n")
{
struct community_list *list;
struct community_list_master *cm;
+ int idx = 0;
+
+ if (argv_find(argv, argc, "ip", &idx)) {
+ vty_out(vty, "This config option is deprecated, and is scheduled for removal.\n");
+ vty_out(vty, "if you are using this please migrate to the below command.\n");
+ vty_out(vty, "'show bgp large-community-list <(1-500)|WORD>'\n");
+ zlog_warn("Deprecated option: 'ip show large-community-list <(1-500)|WORD>' being used");
+ }
cm = community_list_master_lookup(bgp_clist,
LARGE_COMMUNITY_LIST_MASTER);
return CMD_SUCCESS;
}
-DEFUN (show_ip_lcommunity_list_arg,
- show_ip_lcommunity_list_arg_cmd,
- "show ip large-community-list <(1-500)|WORD>",
+ALIAS (show_lcommunity_list,
+ show_ip_lcommunity_list_cmd,
+ "show ip large-community-list",
SHOW_STR
IP_STR
+ "List large-community list\n")
+
+DEFUN (show_lcommunity_list_arg,
+ show_bgp_lcommunity_list_arg_cmd,
+ "show bgp large-community-list <(1-500)|WORD>",
+ SHOW_STR
+ BGP_STR
"List large-community list\n"
"large-community-list number\n"
"large-community-list name\n")
{
struct community_list *list;
+ int idx = 0;
+
+ if (argv_find(argv, argc, "ip", &idx)) {
+ vty_out(vty, "This config option is deprecated, and is scheduled for removal.\n");
+ vty_out(vty, "if you are using this please migrate to the below command.\n");
+ vty_out(vty, "'show bgp large-community-list <(1-500)|WORD>'\n");
+ zlog_warn("Deprecated option: 'ip show large-community-list <(1-500)|WORD>' being used");
+ }
list = community_list_lookup(bgp_clist, argv[3]->arg,
LARGE_COMMUNITY_LIST_MASTER);
return CMD_SUCCESS;
}
+ALIAS (show_lcommunity_list_arg,
+ show_ip_lcommunity_list_arg_cmd,
+ "show ip large-community-list <(1-500)|WORD>",
+ SHOW_STR
+ IP_STR
+ "List large-community list\n"
+ "large-community-list number\n"
+ "large-community-list name\n")
+
/* "extcommunity-list" keyword help string. */
#define EXTCOMMUNITY_LIST_STR "Add a extended community list entry\n"
#define EXTCOMMUNITY_VAL_STR "Extended community attribute in 'rt aa:nn_or_IPaddr:nn' OR 'soo aa:nn_or_IPaddr:nn' format\n"
-DEFUN (ip_extcommunity_list_standard,
- ip_extcommunity_list_standard_cmd,
- "ip extcommunity-list <(1-99)|standard WORD> <deny|permit> AA:NN...",
- IP_STR
+DEFUN (extcommunity_list_standard,
+ bgp_extcommunity_list_standard_cmd,
+ "bgp extcommunity-list <(1-99)|standard WORD> <deny|permit> AA:NN...",
+ BGP_STR
EXTCOMMUNITY_LIST_STR
"Extended Community list number (standard)\n"
"Specify standard extcommunity-list\n"
char *cl_number_or_name = NULL;
int idx = 0;
+ if (argv_find(argv, argc, "ip", &idx)) {
+ vty_out(vty, "This config option is deprecated, and is scheduled for removal.\n");
+ vty_out(vty, "if you are using this please migrate to the below command.\n");
+ vty_out(vty, "'bgp extcommunity-list <(1-99)|(100-500)|standard|expanded> <deny|permit> <LINE|AA:NN>'\n");
+ zlog_warn("Deprecated option: 'ip extcommunity-list <(1-99)|(100-500)|standard|expanded> <deny|permit> <LINE|AA:NN>' being used");
+ }
argv_find(argv, argc, "(1-99)", &idx);
argv_find(argv, argc, "WORD", &idx);
cl_number_or_name = argv[idx]->arg;
return CMD_SUCCESS;
}
-DEFUN (ip_extcommunity_list_name_expanded,
- ip_extcommunity_list_name_expanded_cmd,
- "ip extcommunity-list <(100-500)|expanded WORD> <deny|permit> LINE...",
+#if CONFDATE > 20191005
+CPP_NOTICE("bgpd: remove deprecated 'ip extcommunity-list <(1-99)|(100-500)|standard|expanded> <deny|permit> <LINE|AA:NN>' command")
+#endif
+ALIAS (extcommunity_list_standard,
+ ip_extcommunity_list_standard_cmd,
+ "ip extcommunity-list <(1-99)|standard WORD> <deny|permit> AA:NN...",
IP_STR
EXTCOMMUNITY_LIST_STR
+ "Extended Community list number (standard)\n"
+ "Specify standard extcommunity-list\n"
+ "Community list name\n"
+ "Specify community to reject\n"
+ "Specify community to accept\n"
+ EXTCOMMUNITY_VAL_STR)
+
+DEFUN (extcommunity_list_name_expanded,
+ bgp_extcommunity_list_name_expanded_cmd,
+ "bgp extcommunity-list <(100-500)|expanded WORD> <deny|permit> LINE...",
+ BGP_STR
+ EXTCOMMUNITY_LIST_STR
"Extended Community list number (expanded)\n"
"Specify expanded extcommunity-list\n"
"Extended Community list name\n"
char *cl_number_or_name = NULL;
int idx = 0;
+ if (argv_find(argv, argc, "ip", &idx)) {
+ vty_out(vty, "This config option is deprecated, and is scheduled for removal.\n");
+ vty_out(vty, "if you are using this please migrate to the below command.\n");
+ vty_out(vty, "'extcommunity-list <(1-99)|(100-500)|standard|expanded> <deny|permit> <LINE|AA:NN>'\n");
+ zlog_warn("Deprecated option: ‘ip extcommunity-list <(1-99)|(100-500)|standard|expanded> <deny|permit> <LINE|AA:NN>' being used");
+ }
+
argv_find(argv, argc, "(100-500)", &idx);
argv_find(argv, argc, "WORD", &idx);
cl_number_or_name = argv[idx]->arg;
return CMD_SUCCESS;
}
-DEFUN (no_ip_extcommunity_list_standard_all,
- no_ip_extcommunity_list_standard_all_cmd,
- "no ip extcommunity-list <(1-99)|standard WORD> <deny|permit> AA:NN...",
- NO_STR
+ALIAS (extcommunity_list_name_expanded,
+ ip_extcommunity_list_name_expanded_cmd,
+ "ip extcommunity-list <(100-500)|expanded WORD> <deny|permit> LINE...",
IP_STR
EXTCOMMUNITY_LIST_STR
+ "Extended Community list number (expanded)\n"
+ "Specify expanded extcommunity-list\n"
+ "Extended Community list name\n"
+ "Specify community to reject\n"
+ "Specify community to accept\n"
+ "An ordered list as a regular-expression\n")
+
+DEFUN (no_extcommunity_list_standard_all,
+ no_bgp_extcommunity_list_standard_all_cmd,
+ "no bgp extcommunity-list <(1-99)|standard WORD> <deny|permit> AA:NN...",
+ NO_STR
+ BGP_STR
+ EXTCOMMUNITY_LIST_STR
"Extended Community list number (standard)\n"
"Specify standard extcommunity-list\n"
"Community list name\n"
char *cl_number_or_name = NULL;
int idx = 0;
+ if (argv_find(argv, argc, "ip", &idx)) {
+ vty_out(vty, "This config option is deprecated, and is scheduled for removal\n");
+ vty_out(vty, "if you are using this please migrate to the below command.\n");
+ vty_out(vty, "'no bgp extcommunity-list <(1-99)|(100-500)|standard|expanded> <deny|permit> <LINE|AA:NN>'\n");
+ zlog_warn("Deprecated option: ‘no ip extcommunity-list <(1-99)|(100-500)|standard|expanded> <deny|permit> <LINE|AA:NN>' being used");
+ }
argv_find(argv, argc, "(1-99)", &idx);
argv_find(argv, argc, "WORD", &idx);
cl_number_or_name = argv[idx]->arg;
return CMD_SUCCESS;
}
-DEFUN (no_ip_extcommunity_list_expanded_all,
- no_ip_extcommunity_list_expanded_all_cmd,
- "no ip extcommunity-list <(100-500)|expanded WORD> <deny|permit> LINE...",
+ALIAS (no_extcommunity_list_standard_all,
+ no_ip_extcommunity_list_standard_all_cmd,
+ "no ip extcommunity-list <(1-99)|standard WORD> <deny|permit> AA:NN...",
NO_STR
IP_STR
EXTCOMMUNITY_LIST_STR
+ "Extended Community list number (standard)\n"
+ "Specify standard extcommunity-list\n"
+ "Community list name\n"
+ "Specify community to reject\n"
+ "Specify community to accept\n"
+ EXTCOMMUNITY_VAL_STR)
+
+DEFUN (no_extcommunity_list_expanded_all,
+ no_bgp_extcommunity_list_expanded_all_cmd,
+ "no bgp extcommunity-list <(100-500)|expanded WORD> <deny|permit> LINE...",
+ NO_STR
+ BGP_STR
+ EXTCOMMUNITY_LIST_STR
"Extended Community list number (expanded)\n"
"Specify expanded extcommunity-list\n"
"Extended Community list name\n"
char *cl_number_or_name = NULL;
int idx = 0;
+ if (argv_find(argv, argc, "ip", &idx)) {
+ vty_out(vty, "This config option is deprecated, and is scheduled for removal.\n");
+ vty_out(vty, "if you are using this please migrate to the below command.\n");
+ vty_out(vty, "'no bgp extcommunity-list <(1-99)|(100-500)|standard|expanded> <deny|permit> <LINE|AA:NN>'\n");
+ zlog_warn("Deprecated option: ‘no ip extcommunity-list <(1-99)|(100-500)|standard|expanded> <deny|permit> <LINE|AA:NN>' being used");
+ }
argv_find(argv, argc, "(100-500)", &idx);
argv_find(argv, argc, "WORD", &idx);
cl_number_or_name = argv[idx]->arg;
return CMD_SUCCESS;
}
+ALIAS (no_extcommunity_list_expanded_all,
+ no_ip_extcommunity_list_expanded_all_cmd,
+ "no ip extcommunity-list <(100-500)|expanded WORD> <deny|permit> LINE...",
+ NO_STR
+ IP_STR
+ EXTCOMMUNITY_LIST_STR
+ "Extended Community list number (expanded)\n"
+ "Specify expanded extcommunity-list\n"
+ "Extended Community list name\n"
+ "Specify community to reject\n"
+ "Specify community to accept\n"
+ "An ordered list as a regular-expression\n")
+
static void extcommunity_list_show(struct vty *vty, struct community_list *list)
{
struct community_entry *entry;
}
}
-DEFUN (show_ip_extcommunity_list,
- show_ip_extcommunity_list_cmd,
- "show ip extcommunity-list",
+DEFUN (show_extcommunity_list,
+ show_bgp_extcommunity_list_cmd,
+ "show bgp extcommunity-list",
SHOW_STR
- IP_STR
+ BGP_STR
"List extended-community list\n")
{
struct community_list *list;
struct community_list_master *cm;
+ int idx = 0;
+ if (argv_find(argv, argc, "ip", &idx)) {
+ vty_out(vty, "This config option is deprecated, and is scheduled for removal\n");
+ vty_out(vty, "if you are using this please migrate to the below command.\n");
+ vty_out(vty, "'show bgp extcommunity-list <(1-500)|WORD>'\n");
+ zlog_warn("Deprecated option: 'ip show extcommunity-list <(1-500)|WORD>' being used");
+ }
cm = community_list_master_lookup(bgp_clist, EXTCOMMUNITY_LIST_MASTER);
if (!cm)
return CMD_SUCCESS;
return CMD_SUCCESS;
}
-DEFUN (show_ip_extcommunity_list_arg,
- show_ip_extcommunity_list_arg_cmd,
- "show ip extcommunity-list <(1-500)|WORD>",
+ALIAS (show_extcommunity_list,
+ show_ip_extcommunity_list_cmd,
+ "show ip extcommunity-list",
SHOW_STR
IP_STR
+ "List extended-community list\n")
+
+DEFUN (show_extcommunity_list_arg,
+ show_bgp_extcommunity_list_arg_cmd,
+ "show bgp extcommunity-list <(1-500)|WORD>",
+ SHOW_STR
+ BGP_STR
"List extended-community list\n"
"Extcommunity-list number\n"
"Extcommunity-list name\n")
{
int idx_comm_list = 3;
struct community_list *list;
+ int idx = 0;
+ if (argv_find(argv, argc, "ip", &idx)) {
+ vty_out(vty, "This config option is deprecated, and is scheduled for removal.\n");
+ vty_out(vty, "if you are using this please migrate to the below command.\n");
+ vty_out(vty, "'show bgp extcommunity-list <(1-500)|WORD>'\n");
+ zlog_warn("Deprecated option: 'ip show extcommunity-list <(1-500)|WORD>' being used");
+ }
list = community_list_lookup(bgp_clist, argv[idx_comm_list]->arg,
EXTCOMMUNITY_LIST_MASTER);
if (!list) {
return CMD_SUCCESS;
}
+ALIAS (show_extcommunity_list_arg,
+ show_ip_extcommunity_list_arg_cmd,
+ "show ip extcommunity-list <(1-500)|WORD>",
+ SHOW_STR
+ IP_STR
+ "List extended-community list\n"
+ "Extcommunity-list number\n"
+ "Extcommunity-list name\n")
+
/* Display community-list and extcommunity-list configuration. */
static int community_list_config_write(struct vty *vty)
{
for (list = cm->num.head; list; list = list->next)
for (entry = list->head; entry; entry = entry->next) {
- vty_out(vty, "ip community-list %s %s %s\n", list->name,
+ vty_out(vty, "bgp community-list %s %s %s\n", list->name,
community_direct_str(entry->direct),
community_list_config_str(entry));
write++;
}
for (list = cm->str.head; list; list = list->next)
for (entry = list->head; entry; entry = entry->next) {
- vty_out(vty, "ip community-list %s %s %s %s\n",
+ vty_out(vty, "bgp community-list %s %s %s %s\n",
entry->style == COMMUNITY_LIST_STANDARD
? "standard"
: "expanded",
for (list = cm->num.head; list; list = list->next)
for (entry = list->head; entry; entry = entry->next) {
- vty_out(vty, "ip extcommunity-list %s %s %s\n",
+ vty_out(vty, "bgp extcommunity-list %s %s %s\n",
list->name, community_direct_str(entry->direct),
community_list_config_str(entry));
write++;
}
for (list = cm->str.head; list; list = list->next)
for (entry = list->head; entry; entry = entry->next) {
- vty_out(vty, "ip extcommunity-list %s %s %s %s\n",
+ vty_out(vty, "bgp extcommunity-list %s %s %s %s\n",
entry->style == EXTCOMMUNITY_LIST_STANDARD
? "standard"
: "expanded",
for (list = cm->num.head; list; list = list->next)
for (entry = list->head; entry; entry = entry->next) {
- vty_out(vty, "ip large-community-list %s %s %s\n",
+ vty_out(vty, "bgp large-community-list %s %s %s\n",
list->name, community_direct_str(entry->direct),
community_list_config_str(entry));
write++;
}
for (list = cm->str.head; list; list = list->next)
for (entry = list->head; entry; entry = entry->next) {
- vty_out(vty, "ip large-community-list %s %s %s %s\n",
+ vty_out(vty, "bgp large-community-list %s %s %s %s\n",
entry->style == LARGE_COMMUNITY_LIST_STANDARD
? "standard"
: "expanded",
install_node(&community_list_node, community_list_config_write);
/* Community-list. */
+ install_element(CONFIG_NODE, &bgp_community_list_standard_cmd);
+ install_element(CONFIG_NODE, &bgp_community_list_expanded_all_cmd);
+ install_element(CONFIG_NODE, &no_bgp_community_list_standard_all_cmd);
+ install_element(CONFIG_NODE, &no_bgp_community_list_expanded_all_cmd);
+ install_element(VIEW_NODE, &show_bgp_community_list_cmd);
+ install_element(VIEW_NODE, &show_bgp_community_list_arg_cmd);
install_element(CONFIG_NODE, &ip_community_list_standard_cmd);
install_element(CONFIG_NODE, &ip_community_list_expanded_all_cmd);
install_element(CONFIG_NODE, &no_ip_community_list_standard_all_cmd);
install_element(VIEW_NODE, &show_ip_community_list_arg_cmd);
/* Extcommunity-list. */
+ install_element(CONFIG_NODE, &bgp_extcommunity_list_standard_cmd);
+ install_element(CONFIG_NODE, &bgp_extcommunity_list_name_expanded_cmd);
+ install_element(CONFIG_NODE, &no_bgp_extcommunity_list_standard_all_cmd);
+ install_element(CONFIG_NODE, &no_bgp_extcommunity_list_expanded_all_cmd);
+ install_element(VIEW_NODE, &show_bgp_extcommunity_list_cmd);
+ install_element(VIEW_NODE, &show_bgp_extcommunity_list_arg_cmd);
install_element(CONFIG_NODE, &ip_extcommunity_list_standard_cmd);
install_element(CONFIG_NODE, &ip_extcommunity_list_name_expanded_cmd);
install_element(CONFIG_NODE, &no_ip_extcommunity_list_standard_all_cmd);
install_element(VIEW_NODE, &show_ip_extcommunity_list_arg_cmd);
/* Large Community List */
+ install_element(CONFIG_NODE, &bgp_lcommunity_list_standard_cmd);
+ install_element(CONFIG_NODE, &bgp_lcommunity_list_standard1_cmd);
+ install_element(CONFIG_NODE, &bgp_lcommunity_list_expanded_cmd);
+ install_element(CONFIG_NODE, &bgp_lcommunity_list_name_standard_cmd);
+ install_element(CONFIG_NODE, &bgp_lcommunity_list_name_standard1_cmd);
+ install_element(CONFIG_NODE, &bgp_lcommunity_list_name_expanded_cmd);
+ install_element(CONFIG_NODE, &no_bgp_lcommunity_list_standard_all_cmd);
+ install_element(CONFIG_NODE,
+ &no_bgp_lcommunity_list_name_expanded_all_cmd);
+ install_element(CONFIG_NODE, &no_bgp_lcommunity_list_standard_cmd);
+ install_element(CONFIG_NODE, &no_bgp_lcommunity_list_expanded_cmd);
+ install_element(CONFIG_NODE, &no_bgp_lcommunity_list_name_standard_cmd);
+ install_element(CONFIG_NODE, &no_bgp_lcommunity_list_name_expanded_cmd);
+ install_element(VIEW_NODE, &show_bgp_lcommunity_list_cmd);
+ install_element(VIEW_NODE, &show_bgp_lcommunity_list_arg_cmd);
install_element(CONFIG_NODE, &ip_lcommunity_list_standard_cmd);
install_element(CONFIG_NODE, &ip_lcommunity_list_standard1_cmd);
install_element(CONFIG_NODE, &ip_lcommunity_list_expanded_cmd);