diff options
Diffstat (limited to 'openbsc')
-rw-r--r-- | openbsc/include/openbsc/bsc_nat.h | 2 | ||||
-rw-r--r-- | openbsc/src/nat/bsc_nat.c | 2 | ||||
-rw-r--r-- | openbsc/src/nat/bsc_nat_utils.c | 6 |
3 files changed, 9 insertions, 1 deletions
diff --git a/openbsc/include/openbsc/bsc_nat.h b/openbsc/include/openbsc/bsc_nat.h index c5a9258f6..11d1f233d 100644 --- a/openbsc/include/openbsc/bsc_nat.h +++ b/openbsc/include/openbsc/bsc_nat.h @@ -338,4 +338,6 @@ void bsc_nat_acc_lst_delete(struct bsc_nat_acc_lst *lst); struct bsc_nat_acc_lst_entry *bsc_nat_acc_lst_entry_create(struct bsc_nat_acc_lst *); +int bsc_nat_msc_is_connected(struct bsc_nat *nat); + #endif diff --git a/openbsc/src/nat/bsc_nat.c b/openbsc/src/nat/bsc_nat.c index 7c4a03d4b..ef3f9a965 100644 --- a/openbsc/src/nat/bsc_nat.c +++ b/openbsc/src/nat/bsc_nat.c @@ -883,7 +883,7 @@ static int ipaccess_listen_bsc_cb(struct bsc_fd *bfd, unsigned int what) /* * if we are not connected to a msc... just close the socket */ - if (!nat->msc_con->is_connected) { + if (!bsc_nat_msc_is_connected(nat)) { LOGP(DNAT, LOGL_NOTICE, "Disconnecting BSC due lack of MSC connection.\n"); close(fd); return 0; diff --git a/openbsc/src/nat/bsc_nat_utils.c b/openbsc/src/nat/bsc_nat_utils.c index a96cd019d..39de81738 100644 --- a/openbsc/src/nat/bsc_nat_utils.c +++ b/openbsc/src/nat/bsc_nat_utils.c @@ -23,6 +23,7 @@ */ #include <openbsc/bsc_nat.h> +#include <openbsc/bsc_msc.h> #include <openbsc/gsm_data.h> #include <openbsc/debug.h> #include <openbsc/ipaccess.h> @@ -508,3 +509,8 @@ struct bsc_nat_acc_lst_entry *bsc_nat_acc_lst_entry_create(struct bsc_nat_acc_ls llist_add_tail(&entry->list, &lst->fltr_list); return entry; } + +int bsc_nat_msc_is_connected(struct bsc_nat *nat) +{ + return nat->msc_con->is_connected; +} |