aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Willmann <daniel@totalueberwachung.de>2013-01-03 16:44:28 +0100
committerHolger Hans Peter Freyther <zecke@selfish.org>2013-01-13 17:24:45 +0100
commit91816acfb8449379fa8003af4524c65ec36d37a7 (patch)
tree5bb442134fc5a50c7c57e9aaad79a90631eb3c9a
parentfad5b0862514ab4ef6d13fe0d5e4b39a2983e13c (diff)
paging: De-duplicate paging lifetime and max queue length variables
These attributes are saved in paging_state, we don't need to save them a second time in struct gsm_bts_role_bts. Add get and set methods for these attributes and use them consitently in the VTY code.
-rw-r--r--include/osmo-bts/gsm_data.h2
-rw-r--r--include/osmo-bts/paging.h8
-rw-r--r--src/common/paging.c20
-rw-r--r--src/common/vty.c16
4 files changed, 34 insertions, 12 deletions
diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h
index 55eec96..1bc6c9f 100644
--- a/include/osmo-bts/gsm_data.h
+++ b/include/osmo-bts/gsm_data.h
@@ -50,8 +50,6 @@ struct gsm_bts_role_bts {
uint8_t max_ta;
struct llist_head agch_queue;
struct paging_state *paging_state;
- unsigned int paging_q_len;
- unsigned int paging_lifetime;
char *bsc_oml_host;
char *rtp_bind_host;
unsigned int rtp_jitter_buf_ms;
diff --git a/include/osmo-bts/paging.h b/include/osmo-bts/paging.h
index 093f74d..d31f5c1 100644
--- a/include/osmo-bts/paging.h
+++ b/include/osmo-bts/paging.h
@@ -20,6 +20,14 @@ void paging_config(struct paging_state *ps,
void paging_reset(struct paging_state *ps);
+/* The max number of paging entries */
+unsigned int paging_get_queue_max(struct paging_state *ps);
+void paging_set_queue_max(struct paging_state *ps, unsigned int queue_max);
+
+/* The lifetime of a paging entry */
+unsigned int paging_get_lifetime(struct paging_state *ps);
+void paging_set_lifetime(struct paging_state *ps, unsigned int lifetime);
+
/* update with new SYSTEM INFORMATION parameters */
int paging_si_update(struct paging_state *ps, struct gsm48_control_channel_descr *chan_desc);
diff --git a/src/common/paging.c b/src/common/paging.c
index d7c2261..cd1c370 100644
--- a/src/common/paging.c
+++ b/src/common/paging.c
@@ -81,6 +81,26 @@ struct paging_state {
struct llist_head paging_queue[MAX_PAGING_BLOCKS_CCCH*MAX_BS_PA_MFRMS];
};
+unsigned int paging_get_lifetime(struct paging_state *ps)
+{
+ return ps->paging_lifetime;
+}
+
+unsigned int paging_get_queue_max(struct paging_state *ps)
+{
+ return ps->num_paging_max;
+}
+
+void paging_set_lifetime(struct paging_state *ps, unsigned int lifetime)
+{
+ ps->paging_lifetime = lifetime;
+}
+
+void paging_set_queue_max(struct paging_state *ps, unsigned int queue_max)
+{
+ ps->num_paging_max = queue_max;
+}
+
static int tmsi_mi_to_uint(uint32_t *out, const uint8_t *tmsi_lv)
{
if (tmsi_lv[0] < 5)
diff --git a/src/common/vty.c b/src/common/vty.c
index 1d12e43..e66569b 100644
--- a/src/common/vty.c
+++ b/src/common/vty.c
@@ -186,9 +186,9 @@ static void config_write_bts_single(struct vty *vty, struct gsm_bts *bts)
vty_out(vty, " rtp bind-ip %s%s", btsb->rtp_bind_host, VTY_NEWLINE);
vty_out(vty, " rtp jitter-buffer %u%s", btsb->rtp_jitter_buf_ms,
VTY_NEWLINE);
- vty_out(vty, " paging queue-size %u%s", btsb->paging_q_len,
+ vty_out(vty, " paging queue-size %u%s", paging_get_queue_max(btsb->paging_state),
VTY_NEWLINE);
- vty_out(vty, " paging lifetime %u%s", btsb->paging_lifetime,
+ vty_out(vty, " paging lifetime %u%s", paging_get_lifetime(btsb->paging_state),
VTY_NEWLINE);
bts_model_config_write_bts(vty, bts);
@@ -343,9 +343,7 @@ DEFUN(cfg_bts_paging_queue_size,
struct gsm_bts *bts = vty->index;
struct gsm_bts_role_bts *btsb = bts_role_bts(bts);
- btsb->paging_q_len = atoi(argv[0]);
- paging_config(btsb->paging_state, btsb->paging_q_len,
- btsb->paging_lifetime);
+ paging_set_queue_max(btsb->paging_state, atoi(argv[0]));
return CMD_SUCCESS;
}
@@ -359,9 +357,7 @@ DEFUN(cfg_bts_paging_lifetime,
struct gsm_bts *bts = vty->index;
struct gsm_bts_role_bts *btsb = bts_role_bts(bts);
- btsb->paging_lifetime = atoi(argv[0]);
- paging_config(btsb->paging_state, btsb->paging_q_len,
- btsb->paging_lifetime);
+ paging_set_lifetime(btsb->paging_state, atoi(argv[0]));
return CMD_SUCCESS;
}
@@ -399,8 +395,8 @@ static void bts_dump_vty(struct vty *vty, struct gsm_bts *bts)
vty_out(vty, " Site Mgr NM State: ");
net_dump_nmstate(vty, &bts->site_mgr.mo.nm_state);
vty_out(vty, " Paging: Queue size %u, occupied %u, lifetime %us%s",
- btsb->paging_q_len, paging_queue_length(btsb->paging_state),
- btsb->paging_lifetime, VTY_NEWLINE);
+ paging_get_queue_max(btsb->paging_state), paging_queue_length(btsb->paging_state),
+ paging_get_lifetime(btsb->paging_state), VTY_NEWLINE);
#if 0
vty_out(vty, " Paging: %u pending requests, %u free slots%s",
paging_pending_requests_nr(bts),