diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-06-03 01:44:05 +0800 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-06-15 20:24:21 +0800 |
commit | e4900a074ab86f13d36eab8468272e7bcf390ad3 (patch) | |
tree | 8375ea4b44506411f819c556000c882048cb8fc3 /openbsc/src/nat/bsc_nat_vty.c | |
parent | f0c3e912e319fd2ead9e07216c96e07a6edf45cd (diff) |
[nat] Implement the removal of an access-list.
Diffstat (limited to 'openbsc/src/nat/bsc_nat_vty.c')
-rw-r--r-- | openbsc/src/nat/bsc_nat_vty.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/openbsc/src/nat/bsc_nat_vty.c b/openbsc/src/nat/bsc_nat_vty.c index e888dcc6f..3f2d7ac5c 100644 --- a/openbsc/src/nat/bsc_nat_vty.c +++ b/openbsc/src/nat/bsc_nat_vty.c @@ -413,6 +413,22 @@ DEFUN(cfg_lst_imsi_deny, return CMD_SUCCESS; } +/* naming to follow Zebra... */ +DEFUN(cfg_lst_no, + cfg_lst_no_cmd, + "no access-list NAME", + NO_STR "Remove an access-list by name\n" + "The access-list to remove\n") +{ + struct bsc_nat_access_list *acc; + acc = bsc_nat_accs_list_find(_nat, argv[0]); + if (!acc) + return CMD_WARNING; + + bsc_nat_accs_list_delete(acc); + return CMD_SUCCESS; +} + DEFUN(cfg_bsc_acc_lst_name, cfg_bsc_acc_lst_name_cmd, "access-list-name NAME", @@ -507,6 +523,7 @@ int bsc_nat_vty_init(struct bsc_nat *nat) /* access-list */ install_element(NAT_NODE, &cfg_lst_imsi_allow_cmd); install_element(NAT_NODE, &cfg_lst_imsi_deny_cmd); + install_element(NAT_NODE, &cfg_lst_no_cmd); /* BSC subgroups */ install_element(NAT_NODE, &cfg_bsc_cmd); |