nat: Create a method to determine if any MSC is connected.

In the future we will have multiple MSC connections so we will
need to figure if any of them is active.
This commit is contained in:
Holger Hans Peter Freyther 2010-07-05 14:39:44 +08:00
parent bec411b9db
commit 20ee312d5c
3 changed files with 9 additions and 1 deletions

View File

@ -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

View File

@ -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;

View File

@ -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;
}