aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc/bsc_nat.h
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2011-05-02 16:50:36 +0200
committerHolger Hans Peter Freyther <zecke@selfish.org>2011-05-02 19:19:15 +0200
commit474698abefae966fa8712cb47c2761ad1ef48238 (patch)
tree7a4e4325114dae20267af69821714f599b43e4c5 /openbsc/include/openbsc/bsc_nat.h
parent1ffe98c17570cc38aff15ef6b4dbade89fd1a7e4 (diff)
nat: Introduce the concept of a paging group and use it
A paging group is a list of LACs, different BSCs can point to a paging group and use it for the LAC lookup.
Diffstat (limited to 'openbsc/include/openbsc/bsc_nat.h')
-rw-r--r--openbsc/include/openbsc/bsc_nat.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/openbsc/include/openbsc/bsc_nat.h b/openbsc/include/openbsc/bsc_nat.h
index e6f555cbf..85c9eaa48 100644
--- a/openbsc/include/openbsc/bsc_nat.h
+++ b/openbsc/include/openbsc/bsc_nat.h
@@ -38,6 +38,8 @@
#define DIR_BSC 1
#define DIR_MSC 2
+#define PAGIN_GROUP_UNASSIGNED -1
+
struct sccp_source_reference;
struct sccp_connections;
struct bsc_nat_parsed;
@@ -134,6 +136,7 @@ struct bsc_config {
char *acc_lst_name;
int forbid_paging;
+ int paging_group;
/* audio handling */
int max_endpoints;
@@ -151,6 +154,14 @@ struct bsc_lac_entry {
uint16_t lac;
};
+struct bsc_nat_paging_group {
+ struct llist_head entry;
+
+ /* list of lac entries */
+ struct llist_head lists;
+ int nr;
+};
+
/**
* BSCs point of view of endpoints
*/
@@ -225,6 +236,9 @@ struct bsc_nat {
/* access lists */
struct llist_head access_lists;
+ /* paging groups */
+ struct llist_head paging_groups;
+
/* known BSC's */
struct llist_head bsc_configs;
int num_bsc;