diff options
| author | Rafael Zalamena <rzalamena@opensourcerouting.org> | 2020-05-01 10:06:14 -0300 |
|---|---|---|
| committer | Rafael Zalamena <rzalamena@opensourcerouting.org> | 2020-06-05 14:36:53 -0300 |
| commit | c7d3de9ff2e3c2741356825f72ff0ed3215e3a95 (patch) | |
| tree | 62236d8fba351341646c5f5214f36490d0a24cdd /lib/filter_cli.c | |
| parent | 1d7b156e7eea7dfeffd0176bf4dbd11755107e96 (diff) | |
lib: add 'no ... remark LINE' commands
Implement the commands `no ... remark LINE` for cisco and zebra style
access lists to match `ipX prefix-list description LINE` command set.
It useful when you just want to go through the command history and
prepend a `no` to a `remark` or `description` command. Example:
```
access-list foo remark just another acl
!
! ...
!
! Suddenly we decide we no longer think that remark is useful,
! lets press up key to find that line in history and append `no`:
no access-list foo remark just another acl
```
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
Diffstat (limited to 'lib/filter_cli.c')
| -rw-r--r-- | lib/filter_cli.c | 46 |
1 files changed, 44 insertions, 2 deletions
diff --git a/lib/filter_cli.c b/lib/filter_cli.c index 860c155afe..78553c50a2 100644 --- a/lib/filter_cli.c +++ b/lib/filter_cli.c @@ -563,6 +563,15 @@ DEFPY( return nb_cli_apply_changes(vty, NULL); } +ALIAS( + no_access_list_legacy_remark, no_access_list_legacy_remark_line_cmd, + "no access-list <(1-99)|(100-199)|(1300-1999)|(2000-2699)>$number remark LINE...", + NO_STR + ACCESS_LIST_STR + ACCESS_LIST_XLEG_STR + ACCESS_LIST_REMARK_STR + ACCESS_LIST_REMARK_LINE_STR) + void access_list_legacy_remark_show(struct vty *vty, struct lyd_node *dnode, bool show_defaults) { @@ -752,6 +761,15 @@ DEFPY( return nb_cli_apply_changes(vty, NULL); } +ALIAS( + no_access_list_remark, no_access_list_remark_line_cmd, + "no access-list WORD$name remark LINE...", + NO_STR + ACCESS_LIST_STR + ACCESS_LIST_ZEBRA_STR + ACCESS_LIST_REMARK_STR + ACCESS_LIST_REMARK_LINE_STR) + DEFPY( ipv6_access_list, ipv6_access_list_cmd, "ipv6 access-list WORD$name [seq (1-4294967295)$seq] <deny|permit>$action <X:X::X:X/M$prefix [exact-match$exact]|any>", @@ -935,6 +953,16 @@ DEFPY( return nb_cli_apply_changes(vty, NULL); } +ALIAS( + no_ipv6_access_list_remark, no_ipv6_access_list_remark_line_cmd, + "no ipv6 access-list WORD$name remark LINE...", + NO_STR + IPV6_STR + ACCESS_LIST_STR + ACCESS_LIST_ZEBRA_STR + ACCESS_LIST_REMARK_STR + ACCESS_LIST_REMARK_LINE_STR) + DEFPY( mac_access_list, mac_access_list_cmd, "mac access-list WORD$name [seq (1-4294967295)$seq] <deny|permit>$action <X:X:X:X:X:X$mac|any>", @@ -1111,6 +1139,16 @@ DEFPY( return nb_cli_apply_changes(vty, NULL); } +ALIAS( + no_mac_access_list_remark, no_mac_access_list_remark_line_cmd, + "no mac access-list WORD$name remark LINE...", + NO_STR + MAC_STR + ACCESS_LIST_STR + ACCESS_LIST_ZEBRA_STR + ACCESS_LIST_REMARK_STR + ACCESS_LIST_REMARK_LINE_STR) + void access_list_show(struct vty *vty, struct lyd_node *dnode, bool show_defaults) { @@ -1412,7 +1450,7 @@ DEFPY( ALIAS( no_ip_prefix_list_remark, no_ip_prefix_list_remark_line_cmd, - "no ip prefix-list WORD description LINE...", + "no ip prefix-list WORD$name description LINE...", NO_STR IP_STR PREFIX_LIST_STR @@ -1592,7 +1630,7 @@ DEFPY( ALIAS( no_ipv6_prefix_list_remark, no_ipv6_prefix_list_remark_line_cmd, - "no ipv6 prefix-list WORD description LINE...", + "no ipv6 prefix-list WORD$name description LINE...", NO_STR IPV6_STR PREFIX_LIST_STR @@ -1688,6 +1726,7 @@ void filter_cli_init(void) install_element(CONFIG_NODE, &no_access_list_legacy_cmd); install_element(CONFIG_NODE, &access_list_legacy_remark_cmd); install_element(CONFIG_NODE, &no_access_list_legacy_remark_cmd); + install_element(CONFIG_NODE, &no_access_list_legacy_remark_line_cmd); /* access-list zebra-style. */ install_element(CONFIG_NODE, &access_list_cmd); @@ -1695,18 +1734,21 @@ void filter_cli_init(void) install_element(CONFIG_NODE, &no_access_list_all_cmd); install_element(CONFIG_NODE, &access_list_remark_cmd); install_element(CONFIG_NODE, &no_access_list_remark_cmd); + install_element(CONFIG_NODE, &no_access_list_remark_line_cmd); install_element(CONFIG_NODE, &ipv6_access_list_cmd); install_element(CONFIG_NODE, &no_ipv6_access_list_cmd); install_element(CONFIG_NODE, &no_ipv6_access_list_all_cmd); install_element(CONFIG_NODE, &ipv6_access_list_remark_cmd); install_element(CONFIG_NODE, &no_ipv6_access_list_remark_cmd); + install_element(CONFIG_NODE, &no_ipv6_access_list_remark_line_cmd); install_element(CONFIG_NODE, &mac_access_list_cmd); install_element(CONFIG_NODE, &no_mac_access_list_cmd); install_element(CONFIG_NODE, &no_mac_access_list_all_cmd); install_element(CONFIG_NODE, &mac_access_list_remark_cmd); install_element(CONFIG_NODE, &no_mac_access_list_remark_cmd); + install_element(CONFIG_NODE, &no_mac_access_list_remark_line_cmd); /* prefix lists. */ install_element(CONFIG_NODE, &ip_prefix_list_cmd); |
