}
DEFUN(as_path, bgp_as_path_cmd,
- "bgp as-path access-list WORD [seq (0-4294967295)] <deny|permit> LINE...",
+ "bgp as-path access-list AS_PATH_FILTER_NAME [seq (0-4294967295)] <deny|permit> LINE...",
BGP_STR
"BGP autonomous system path filter\n"
"Specify an access list name\n"
int64_t seqnum = ASPATH_SEQ_NUMBER_AUTO;
/* Retrieve access list name */
- argv_find(argv, argc, "WORD", &idx);
+ argv_find(argv, argc, "AS_PATH_FILTER_NAME", &idx);
char *alname = argv[idx]->arg;
if (argv_find(argv, argc, "(0-4294967295)", &idx))
}
DEFUN(no_as_path, no_bgp_as_path_cmd,
- "no bgp as-path access-list WORD [seq (0-4294967295)] <deny|permit> LINE...",
+ "no bgp as-path access-list AS_PATH_FILTER_NAME [seq (0-4294967295)] <deny|permit> LINE...",
NO_STR
BGP_STR
"BGP autonomous system path filter\n"
regex_t *regex;
char *aslistname =
- argv_find(argv, argc, "WORD", &idx) ? argv[idx]->arg : NULL;
+ argv_find(argv, argc, "AS_PATH_FILTER_NAME", &idx) ? argv[idx]->arg : NULL;
/* Lookup AS list from AS path list. */
aslist = as_list_lookup(aslistname);
DEFUN (no_as_path_all,
no_bgp_as_path_all_cmd,
- "no bgp as-path access-list WORD",
+ "no bgp as-path access-list AS_PATH_FILTER_NAME",
NO_STR
BGP_STR
"BGP autonomous system path filter\n"
DEFUN (show_as_path_access_list,
show_bgp_as_path_access_list_cmd,
- "show bgp as-path-access-list WORD [json]",
+ "show bgp as-path-access-list AS_PATH_FILTER_NAME [json]",
SHOW_STR
BGP_STR
"List AS path access lists\n"
ALIAS (show_as_path_access_list,
show_ip_as_path_access_list_cmd,
- "show ip as-path-access-list WORD [json]",
+ "show ip as-path-access-list AS_PATH_FILTER_NAME [json]",
SHOW_STR
IP_STR
"List AS path access lists\n"
.config_write = config_write_as_list,
};
+static void bgp_aspath_filter_cmd_completion(vector comps,
+ struct cmd_token *token)
+{
+ struct as_list *aslist;
+
+ for (aslist = as_list_master.str.head; aslist; aslist = aslist->next)
+ vector_set(comps, XSTRDUP(MTYPE_COMPLETION, aslist->name));
+}
+
+static const struct cmd_variable_handler aspath_filter_handlers[] = {
+ {.tokenname = "AS_PATH_FILTER_NAME",
+ .completions = bgp_aspath_filter_cmd_completion},
+ {.completions = NULL}};
+
/* Register functions. */
void bgp_filter_init(void)
{
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);
+
+ cmd_variable_handler_register(aspath_filter_handlers);
}
void bgp_filter_reset(void)