From: Sarita Patra Date: Mon, 17 Sep 2018 07:33:22 +0000 (-0700) Subject: bgpd: remove ip prefix from as-path, community-list X-Git-Tag: frr-7.1-dev~287^2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=7336e10117e66e41962155a3a5682ca22d878057;p=matthieu%2Ffrr.git bgpd: remove ip prefix from as-path, community-list The existing commands "ip as-path", "ip community list", "ip extcommunity list" & "ip largecommunity list" is used to configure both for ipv4 and ipv6. So the prefix "ip" is removed from these commands. All the configuration, show related configuration, show running config & boot up with write memory is also verified with the provided fix. Signed-off-by: Sarita Patra --- diff --git a/bgpd/bgp_filter.c b/bgpd/bgp_filter.c index c7977a9af4..1ccb8fb245 100644 --- a/bgpd/bgp_filter.c +++ b/bgpd/bgp_filter.c @@ -77,7 +77,7 @@ struct as_list { struct as_filter *tail; }; -/* ip as-path access-list 10 permit AS1. */ +/* as-path access-list 10 permit AS1. */ static struct as_list_master as_list_master = {{NULL, NULL}, {NULL, NULL}, @@ -401,9 +401,9 @@ static int config_bgp_aspath_validate(const char *regstr) return 0; } -DEFUN(ip_as_path, ip_as_path_cmd, - "ip as-path access-list WORD LINE...", - IP_STR +DEFUN(as_path, bgp_as_path_cmd, + "bgp as-path access-list WORD LINE...", + BGP_STR "BGP autonomous system path filter\n" "Specify an access list name\n" "Regular expression access list name\n" @@ -418,6 +418,13 @@ DEFUN(ip_as_path, ip_as_path_cmd, regex_t *regex; char *regstr; + 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 as-path access-list WORD LINE'\n"); + zlog_warn("Deprecated option: 'ip as-path access-list WORD LINE' being used"); + } + /* Retrieve access list name */ argv_find(argv, argc, "WORD", &idx); char *alname = argv[idx]->arg; @@ -459,9 +466,23 @@ DEFUN(ip_as_path, ip_as_path_cmd, return CMD_SUCCESS; } -DEFUN(no_ip_as_path, no_ip_as_path_cmd, - "no ip as-path access-list WORD LINE...", - NO_STR IP_STR +#if CONFDATE > 20191005 +CPP_NOTICE("bgpd: remove deprecated 'ip as-path access-list WORD LINE' command") +#endif +ALIAS(as_path, ip_as_path_cmd, + "ip as-path access-list WORD LINE...", + IP_STR + "BGP autonomous system path filter\n" + "Specify an access list name\n" + "Regular expression access list name\n" + "Specify packets to reject\n" + "Specify packets to forward\n" + "A regular-expression (1234567890_(^|[,{}() ]|$)) to match the BGP AS paths\n") + +DEFUN(no_as_path, no_bgp_as_path_cmd, + "no bgp as-path access-list WORD LINE...", + NO_STR + BGP_STR "BGP autonomous system path filter\n" "Specify an access list name\n" "Regular expression access list name\n" @@ -476,13 +497,19 @@ DEFUN(no_ip_as_path, no_ip_as_path_cmd, char *regstr; regex_t *regex; + 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 as-path access-list WORD LINE'\n"); + zlog_warn("Deprecated option: 'no ip as-path access-list WORD LINE' being used"); + } char *aslistname = argv_find(argv, argc, "WORD", &idx) ? argv[idx]->arg : NULL; /* Lookup AS list from AS path list. */ aslist = as_list_lookup(aslistname); if (aslist == NULL) { - vty_out(vty, "ip as-path access-list %s doesn't exist\n", + vty_out(vty, "bgp as-path access-list %s doesn't exist\n", aslistname); return CMD_WARNING_CONFIG_FAILED; } @@ -530,21 +557,39 @@ DEFUN(no_ip_as_path, no_ip_as_path_cmd, return CMD_SUCCESS; } -DEFUN (no_ip_as_path_all, - no_ip_as_path_all_cmd, - "no ip as-path access-list WORD", +ALIAS(no_as_path, no_ip_as_path_cmd, + "no ip as-path access-list WORD LINE...", + NO_STR IP_STR + "BGP autonomous system path filter\n" + "Specify an access list name\n" + "Regular expression access list name\n" + "Specify packets to reject\n" + "Specify packets to forward\n" + "A regular-expression (1234567890_(^|[,{}() ]|$)) to match the BGP AS paths\n") + +DEFUN (no_as_path_all, + no_bgp_as_path_all_cmd, + "no bgp as-path access-list WORD", NO_STR - IP_STR + BGP_STR "BGP autonomous system path filter\n" "Specify an access list name\n" "Regular expression access list name\n") { int idx_word = 4; struct as_list *aslist; + 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 as-path access-list WORD'\n"); + zlog_warn("Deprecated option: `no ip as-path access-list WORD` being used"); + } aslist = as_list_lookup(argv[idx_word]->arg); if (aslist == NULL) { - vty_out(vty, "ip as-path access-list %s doesn't exist\n", + vty_out(vty, "bgp as-path access-list %s doesn't exist\n", argv[idx_word]->arg); return CMD_WARNING_CONFIG_FAILED; } @@ -558,6 +603,15 @@ DEFUN (no_ip_as_path_all, return CMD_SUCCESS; } +ALIAS (no_as_path_all, + no_ip_as_path_all_cmd, + "no ip as-path access-list WORD", + NO_STR + IP_STR + "BGP autonomous system path filter\n" + "Specify an access list name\n" + "Regular expression access list name\n") + static void as_list_show(struct vty *vty, struct as_list *aslist) { struct as_filter *asfilter; @@ -598,17 +652,24 @@ static void as_list_show_all(struct vty *vty) } } -DEFUN (show_ip_as_path_access_list, - show_ip_as_path_access_list_cmd, - "show ip as-path-access-list WORD", +DEFUN (show_as_path_access_list, + show_bgp_as_path_access_list_cmd, + "show bgp as-path-access-list WORD", SHOW_STR - IP_STR + BGP_STR "List AS path access lists\n" "AS path access list name\n") { int idx_word = 3; struct as_list *aslist; + 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 as-path-access-list WORD'\n"); + zlog_warn("Deprecated option: 'show ip as-path-access-list WORD' being used"); + } aslist = as_list_lookup(argv[idx_word]->arg); if (aslist) as_list_show(vty, aslist); @@ -616,17 +677,40 @@ DEFUN (show_ip_as_path_access_list, return CMD_SUCCESS; } -DEFUN (show_ip_as_path_access_list_all, - show_ip_as_path_access_list_all_cmd, - "show ip as-path-access-list", +ALIAS (show_as_path_access_list, + show_ip_as_path_access_list_cmd, + "show ip as-path-access-list WORD", SHOW_STR IP_STR + "List AS path access lists\n" + "AS path access list name\n") + +DEFUN (show_as_path_access_list_all, + show_bgp_as_path_access_list_all_cmd, + "show bgp as-path-access-list", + SHOW_STR + BGP_STR "List AS path access lists\n") { + 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 as-path-access-list'\n"); + zlog_warn("Deprecated option: 'show ip as-path-access-list' being used"); + } as_list_show_all(vty); return CMD_SUCCESS; } +ALIAS (show_as_path_access_list_all, + show_ip_as_path_access_list_all_cmd, + "show ip as-path-access-list", + SHOW_STR + IP_STR + "List AS path access lists\n") + static int config_write_as_list(struct vty *vty) { struct as_list *aslist; @@ -636,7 +720,7 @@ static int config_write_as_list(struct vty *vty) for (aslist = as_list_master.num.head; aslist; aslist = aslist->next) for (asfilter = aslist->head; asfilter; asfilter = asfilter->next) { - vty_out(vty, "ip as-path access-list %s %s %s\n", + vty_out(vty, "bgp as-path access-list %s %s %s\n", aslist->name, filter_type_str(asfilter->type), asfilter->reg_str); write++; @@ -645,7 +729,7 @@ static int config_write_as_list(struct vty *vty) for (aslist = as_list_master.str.head; aslist; aslist = aslist->next) for (asfilter = aslist->head; asfilter; asfilter = asfilter->next) { - vty_out(vty, "ip as-path access-list %s %s %s\n", + vty_out(vty, "bgp as-path access-list %s %s %s\n", aslist->name, filter_type_str(asfilter->type), asfilter->reg_str); write++; @@ -660,11 +744,16 @@ void bgp_filter_init(void) { install_node(&as_list_node, config_write_as_list); + install_element(CONFIG_NODE, &bgp_as_path_cmd); install_element(CONFIG_NODE, &ip_as_path_cmd); + install_element(CONFIG_NODE, &no_bgp_as_path_cmd); install_element(CONFIG_NODE, &no_ip_as_path_cmd); + install_element(CONFIG_NODE, &no_bgp_as_path_all_cmd); install_element(CONFIG_NODE, &no_ip_as_path_all_cmd); + install_element(VIEW_NODE, &show_bgp_as_path_access_list_cmd); install_element(VIEW_NODE, &show_ip_as_path_access_list_cmd); + install_element(VIEW_NODE, &show_bgp_as_path_access_list_all_cmd); install_element(VIEW_NODE, &show_ip_as_path_access_list_all_cmd); } diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c index 58f23fd2f4..e705a714e9 100644 --- a/bgpd/bgp_vty.c +++ b/bgpd/bgp_vty.c @@ -13725,11 +13725,11 @@ static void community_list_perror(struct vty *vty, int ret) /* "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> AA:NN...", - IP_STR +/*community-list standard */ +DEFUN (community_list_standard, + bgp_community_list_standard_cmd, + "bgp community-list <(1-99)|standard WORD> AA:NN...", + BGP_STR COMMUNITY_LIST_STR "Community list number (standard)\n" "Add an standard community-list entry\n" @@ -13743,6 +13743,14 @@ DEFUN (ip_community_list_standard, 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> AA:NN'\n"); + zlog_warn("Deprecated option: 'ip community-list <(1-99)|(100-500)|standard|expanded> AA:NN' being used"); + } + argv_find(argv, argc, "(1-99)", &idx); argv_find(argv, argc, "WORD", &idx); cl_name_or_number = argv[idx]->arg; @@ -13765,10 +13773,12 @@ DEFUN (ip_community_list_standard, 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> AA:NN...", - NO_STR +#if CONFDATE > 20191005 +CPP_NOTICE("bgpd: remove deprecated 'ip community-list <(1-99)|(100-500)|standard|expanded> AA:NN' command") +#endif +ALIAS (community_list_standard, + ip_community_list_standard_cmd, + "ip community-list <(1-99)|standard WORD> AA:NN...", IP_STR COMMUNITY_LIST_STR "Community list number (standard)\n" @@ -13777,12 +13787,33 @@ DEFUN (no_ip_community_list_standard_all, "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> 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> AA:NN'\n"); + zlog_warn("Deprecated option: 'no ip community-list <(1-99)|(100-500)|standard|expanded> |AA:NN' being used"); + } + argv_find(argv, argc, "(1-99)", &idx); argv_find(argv, argc, "WORD", &idx); cl_name_or_number = argv[idx]->arg; @@ -13803,13 +13834,25 @@ DEFUN (no_ip_community_list_standard_all, 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> AA:NN...", +ALIAS (no_community_list_standard_all, + no_ip_community_list_standard_all_cmd, + "no ip community-list <(1-99)|standard WORD> 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> AA:NN...", + BGP_STR + COMMUNITY_LIST_STR "Community list number (expanded)\n" "Add an expanded community-list entry\n" "Community list name\n" @@ -13822,6 +13865,12 @@ DEFUN (ip_community_list_expanded_all, 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> AA:NN'\n"); + zlog_warn("Deprecated option: 'ip community-list <(1-99)|(100-500)|standard|expanded> AA:NN' being used"); + } argv_find(argv, argc, "(100-500)", &idx); argv_find(argv, argc, "WORD", &idx); cl_name_or_number = argv[idx]->arg; @@ -13844,10 +13893,9 @@ DEFUN (ip_community_list_expanded_all, 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> AA:NN...", - NO_STR +ALIAS (community_list_expanded_all, + ip_community_list_expanded_all_cmd, + "ip community-list <(100-500)|expanded WORD> AA:NN...", IP_STR COMMUNITY_LIST_STR "Community list number (expanded)\n" @@ -13856,12 +13904,31 @@ DEFUN (no_ip_community_list_expanded_all, "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> 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> AA:NN'\n"); + zlog_warn("Deprecated option: 'no community-list <(1-99)|(100-500)|standard|expanded> AA:NN' being used"); + } argv_find(argv, argc, "(100-500)", &idx); argv_find(argv, argc, "WORD", &idx); cl_name_or_number = argv[idx]->arg; @@ -13883,6 +13950,19 @@ DEFUN (no_ip_community_list_expanded_all, return CMD_SUCCESS; } +ALIAS (no_community_list_expanded_all, + no_ip_community_list_expanded_all_cmd, + "no ip community-list <(100-500)|expanded WORD> 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) { @@ -13930,16 +14010,23 @@ static void community_list_show(struct vty *vty, struct community_list *list) } } -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; @@ -13953,11 +14040,18 @@ DEFUN (show_ip_community_list, 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") @@ -13965,6 +14059,13 @@ DEFUN (show_ip_community_list_arg, 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) { @@ -13977,6 +14078,15 @@ DEFUN (show_ip_community_list_arg, 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. */ @@ -13990,6 +14100,12 @@ static int lcommunity_list_set_vty(struct vty *vty, int argc, 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> '\n"); + zlog_warn("Deprecated option: 'large-community-list <(1-99)|(100-500)|standard|expanded> ' being used"); + } direct = argv_find(argv, argc, "permit", &idx) ? COMMUNITY_PERMIT : COMMUNITY_DENY; @@ -14035,6 +14151,12 @@ static int lcommunity_list_unset_vty(struct vty *vty, int argc, 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> '\n"); + zlog_warn("Deprecated option: 'no ip large-community-list <(1-99)|(100-500)|standard|expanded> ' being used"); + } argv_find(argv, argc, "permit", &idx); argv_find(argv, argc, "deny", &idx); @@ -14078,7 +14200,23 @@ static int lcommunity_list_unset_vty(struct vty *vty, int argc, #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> ' command") +#endif +DEFUN (lcommunity_list_standard, + bgp_lcommunity_list_standard_cmd, + "bgp large-community-list (1-99) ", + 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) ", IP_STR @@ -14086,12 +14224,22 @@ DEFUN (ip_lcommunity_list_standard, "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) 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) AA:BB:CC...", IP_STR @@ -14100,12 +14248,22 @@ DEFUN (ip_lcommunity_list_standard1, "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) 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) LINE...", IP_STR @@ -14114,12 +14272,22 @@ DEFUN (ip_lcommunity_list_expanded, "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 ", + 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 ", IP_STR @@ -14128,12 +14296,23 @@ DEFUN (ip_lcommunity_list_name_standard, "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 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 AA:BB:CC...", IP_STR @@ -14143,12 +14322,23 @@ DEFUN (ip_lcommunity_list_name_standard1, "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 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 LINE...", IP_STR @@ -14158,12 +14348,22 @@ DEFUN (ip_lcommunity_list_name_expanded, "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 @@ -14172,12 +14372,21 @@ DEFUN (no_ip_lcommunity_list_standard_all, "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 @@ -14185,12 +14394,23 @@ DEFUN (no_ip_lcommunity_list_name_expanded_all, 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) 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) AA:AA:NN...", NO_STR @@ -14200,12 +14420,23 @@ DEFUN (no_ip_lcommunity_list_standard, "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) 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) LINE...", NO_STR @@ -14215,12 +14446,24 @@ DEFUN (no_ip_lcommunity_list_expanded, "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 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 AA:AA:NN...", NO_STR @@ -14231,12 +14474,24 @@ DEFUN (no_ip_lcommunity_list_name_standard, "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 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 LINE...", NO_STR @@ -14247,10 +14502,6 @@ DEFUN (no_ip_lcommunity_list_name_expanded, "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) { @@ -14282,15 +14533,23 @@ 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); @@ -14306,16 +14565,31 @@ DEFUN (show_ip_lcommunity_list, 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); @@ -14329,14 +14603,23 @@ DEFUN (show_ip_lcommunity_list_arg, 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> AA:NN...", - IP_STR +DEFUN (extcommunity_list_standard, + bgp_extcommunity_list_standard_cmd, + "bgp extcommunity-list <(1-99)|standard WORD> AA:NN...", + BGP_STR EXTCOMMUNITY_LIST_STR "Extended Community list number (standard)\n" "Specify standard extcommunity-list\n" @@ -14350,6 +14633,12 @@ DEFUN (ip_extcommunity_list_standard, 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> '\n"); + zlog_warn("Deprecated option: 'ip extcommunity-list <(1-99)|(100-500)|standard|expanded> ' being used"); + } argv_find(argv, argc, "(1-99)", &idx); argv_find(argv, argc, "WORD", &idx); cl_number_or_name = argv[idx]->arg; @@ -14371,11 +14660,26 @@ DEFUN (ip_extcommunity_list_standard, return CMD_SUCCESS; } -DEFUN (ip_extcommunity_list_name_expanded, - ip_extcommunity_list_name_expanded_cmd, - "ip extcommunity-list <(100-500)|expanded WORD> LINE...", +#if CONFDATE > 20191005 +CPP_NOTICE("bgpd: remove deprecated 'ip extcommunity-list <(1-99)|(100-500)|standard|expanded> ' command") +#endif +ALIAS (extcommunity_list_standard, + ip_extcommunity_list_standard_cmd, + "ip extcommunity-list <(1-99)|standard WORD> 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> LINE...", + BGP_STR + EXTCOMMUNITY_LIST_STR "Extended Community list number (expanded)\n" "Specify expanded extcommunity-list\n" "Extended Community list name\n" @@ -14388,6 +14692,13 @@ DEFUN (ip_extcommunity_list_name_expanded, 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> '\n"); + zlog_warn("Deprecated option: ‘ip extcommunity-list <(1-99)|(100-500)|standard|expanded> ' being used"); + } + argv_find(argv, argc, "(100-500)", &idx); argv_find(argv, argc, "WORD", &idx); cl_number_or_name = argv[idx]->arg; @@ -14409,12 +14720,24 @@ DEFUN (ip_extcommunity_list_name_expanded, 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> AA:NN...", - NO_STR +ALIAS (extcommunity_list_name_expanded, + ip_extcommunity_list_name_expanded_cmd, + "ip extcommunity-list <(100-500)|expanded WORD> 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> AA:NN...", + NO_STR + BGP_STR + EXTCOMMUNITY_LIST_STR "Extended Community list number (standard)\n" "Specify standard extcommunity-list\n" "Community list name\n" @@ -14427,6 +14750,12 @@ DEFUN (no_ip_extcommunity_list_standard_all, 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> '\n"); + zlog_warn("Deprecated option: ‘no ip extcommunity-list <(1-99)|(100-500)|standard|expanded> ' being used"); + } argv_find(argv, argc, "(1-99)", &idx); argv_find(argv, argc, "WORD", &idx); cl_number_or_name = argv[idx]->arg; @@ -14448,12 +14777,25 @@ DEFUN (no_ip_extcommunity_list_standard_all, 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> LINE...", +ALIAS (no_extcommunity_list_standard_all, + no_ip_extcommunity_list_standard_all_cmd, + "no ip extcommunity-list <(1-99)|standard WORD> 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> LINE...", + NO_STR + BGP_STR + EXTCOMMUNITY_LIST_STR "Extended Community list number (expanded)\n" "Specify expanded extcommunity-list\n" "Extended Community list name\n" @@ -14466,6 +14808,12 @@ DEFUN (no_ip_extcommunity_list_expanded_all, 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> '\n"); + zlog_warn("Deprecated option: ‘no ip extcommunity-list <(1-99)|(100-500)|standard|expanded> ' being used"); + } argv_find(argv, argc, "(100-500)", &idx); argv_find(argv, argc, "WORD", &idx); cl_number_or_name = argv[idx]->arg; @@ -14487,6 +14835,19 @@ DEFUN (no_ip_extcommunity_list_expanded_all, return CMD_SUCCESS; } +ALIAS (no_extcommunity_list_expanded_all, + no_ip_extcommunity_list_expanded_all_cmd, + "no ip extcommunity-list <(100-500)|expanded WORD> 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; @@ -14517,16 +14878,23 @@ static void extcommunity_list_show(struct vty *vty, struct community_list *list) } } -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; @@ -14540,18 +14908,32 @@ DEFUN (show_ip_extcommunity_list, 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) { @@ -14564,6 +14946,15 @@ DEFUN (show_ip_extcommunity_list_arg, 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) { @@ -14577,14 +14968,14 @@ 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", @@ -14598,14 +14989,14 @@ 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 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", @@ -14621,14 +15012,14 @@ 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 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", @@ -14649,6 +15040,12 @@ static void community_list_vty(void) 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); @@ -14657,6 +15054,12 @@ static void community_list_vty(void) 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); @@ -14665,6 +15068,21 @@ static void community_list_vty(void) 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); diff --git a/vtysh/vtysh_config.c b/vtysh/vtysh_config.c index 7a55da462d..7a7744f7c0 100644 --- a/vtysh/vtysh_config.c +++ b/vtysh/vtysh_config.c @@ -271,18 +271,18 @@ void vtysh_config_parse_line(void *arg, const char *line) strlen("ipv6 prefix-list")) == 0) config = config_get(PREFIX_IPV6_NODE, line); - else if (strncmp(line, "ip as-path access-list", - strlen("ip as-path access-list")) + else if (strncmp(line, "bgp as-path access-list", + strlen("bgp as-path access-list")) == 0) config = config_get(AS_LIST_NODE, line); - else if (strncmp(line, "ip community-list", - strlen("ip community-list")) + else if (strncmp(line, "bgp community-list", + strlen("bgp community-list")) == 0 - || strncmp(line, "ip extcommunity-list", - strlen("ip extcommunity-list")) + || strncmp(line, "bgp extcommunity-list", + strlen("bgp extcommunity-list")) == 0 - || strncmp(line, "ip large-community-list", - strlen("ip large-community-list")) + || strncmp(line, "bgp large-community-list", + strlen("bgp large-community-list")) == 0) config = config_get(COMMUNITY_LIST_NODE, line); else if (strncmp(line, "ip route", strlen("ip route")) == 0)