aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/libfilter/bsc_msg_vty.c
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <holger@moiji-mobile.com>2015-04-04 22:28:32 +0200
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2015-05-03 21:42:28 +0200
commitd7e04b9956bb7d579697604fff6ba67fc6b9e52d (patch)
treef5ae2caf4e286972e5630e80b4fe7ded73ace9ef /openbsc/src/libfilter/bsc_msg_vty.c
parentd04d009f473d89a426c16dd24e5a4c692caf0017 (diff)
filter: Cease out "struct bsc_nat" from the API
This means we need to require a talloc context and simply operate on the list. I had considered creating a structure to hold the list head but I didn't find any other members so omitted it for now.
Diffstat (limited to 'openbsc/src/libfilter/bsc_msg_vty.c')
-rw-r--r--openbsc/src/libfilter/bsc_msg_vty.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/openbsc/src/libfilter/bsc_msg_vty.c b/openbsc/src/libfilter/bsc_msg_vty.c
index 070a03da6..79cf03db1 100644
--- a/openbsc/src/libfilter/bsc_msg_vty.c
+++ b/openbsc/src/libfilter/bsc_msg_vty.c
@@ -18,13 +18,13 @@
*/
#include <openbsc/bsc_msg_filter.h>
-#include <openbsc/bsc_nat.h>
#include <openbsc/gsm_data.h>
#include <openbsc/vty.h>
#include <osmocom/vty/misc.h>
-static struct bsc_nat *_nat;
+static struct llist_head *_acc_lst;
+static void *_ctx;
DEFUN(cfg_lst_no,
cfg_lst_no_cmd,
@@ -33,7 +33,7 @@ DEFUN(cfg_lst_no,
"The access-list to remove\n")
{
struct bsc_nat_acc_lst *acc;
- acc = bsc_nat_acc_lst_find(_nat, argv[0]);
+ acc = bsc_nat_acc_lst_find(_acc_lst, argv[0]);
if (!acc)
return CMD_WARNING;
@@ -47,7 +47,7 @@ DEFUN(show_acc_lst,
SHOW_STR "IMSI access list\n" "Name of the access list\n")
{
struct bsc_nat_acc_lst *acc;
- acc = bsc_nat_acc_lst_find(_nat, argv[0]);
+ acc = bsc_nat_acc_lst_find(_acc_lst, argv[0]);
if (!acc)
return CMD_WARNING;
@@ -68,7 +68,7 @@ DEFUN(cfg_lst_imsi_allow,
struct bsc_nat_acc_lst *acc;
struct bsc_nat_acc_lst_entry *entry;
- acc = bsc_nat_acc_lst_get(_nat, argv[0]);
+ acc = bsc_nat_acc_lst_get(_ctx, _acc_lst, argv[0]);
if (!acc)
return CMD_WARNING;
@@ -94,7 +94,7 @@ DEFUN(cfg_lst_imsi_deny,
struct bsc_nat_acc_lst *acc;
struct bsc_nat_acc_lst_entry *entry;
- acc = bsc_nat_acc_lst_get(_nat, argv[0]);
+ acc = bsc_nat_acc_lst_get(_ctx, _acc_lst, argv[0]);
if (!acc)
return CMD_WARNING;
@@ -127,11 +127,10 @@ void bsc_nat_acc_lst_write(struct vty *vty, struct bsc_nat_acc_lst *lst)
}
}
-
-void bsc_nat_lst_vty_init(struct bsc_nat *nat, int node)
+void bsc_nat_lst_vty_init(void *ctx, struct llist_head *lst, int node)
{
- _nat = nat;
-
+ _ctx = ctx;
+ _acc_lst = lst;
install_element_ve(&show_acc_lst_cmd);
/* access-list */