From 210565ed8c0a657289c43526105a4a0b70e38235 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Tue, 7 Jun 2011 20:56:18 +0200 Subject: bsc: Introduce a local MSC type and forbid it from being selected --- openbsc/include/openbsc/osmo_msc_data.h | 7 +++++++ openbsc/src/osmo-bsc/osmo_bsc_filter.c | 2 ++ 2 files changed, 9 insertions(+) (limited to 'openbsc') diff --git a/openbsc/include/openbsc/osmo_msc_data.h b/openbsc/include/openbsc/osmo_msc_data.h index 0f3f92724..9edf880cf 100644 --- a/openbsc/include/openbsc/osmo_msc_data.h +++ b/openbsc/include/openbsc/osmo_msc_data.h @@ -35,12 +35,19 @@ struct gsm_audio_support { ver : 7; }; +enum { + MSC_CON_TYPE_NORMAL, + MSC_CON_TYPE_LOCAL, +}; + struct osmo_msc_data { struct llist_head entry; /* Back pointer */ struct gsm_network *network; + int type; + /* Connection data */ char *bsc_token; int ping_timeout; diff --git a/openbsc/src/osmo-bsc/osmo_bsc_filter.c b/openbsc/src/osmo-bsc/osmo_bsc_filter.c index 200360ac9..3bc2dfd7f 100644 --- a/openbsc/src/osmo-bsc/osmo_bsc_filter.c +++ b/openbsc/src/osmo-bsc/osmo_bsc_filter.c @@ -142,6 +142,8 @@ round_robin: llist_for_each_entry(msc, &bsc->mscs, entry) { if (!msc->msc_con->is_authenticated) continue; + if (msc->type != MSC_CON_TYPE_NORMAL) + continue; /* force round robin by moving it to the end */ llist_move_tail(&msc->entry, &bsc->mscs); -- cgit v1.2.3