aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/libbsc
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2011-04-26 15:52:34 +0200
committerHolger Hans Peter Freyther <zecke@selfish.org>2011-05-02 19:19:15 +0200
commit66e14cdda6c3ef57d0d9e1964cd9f3b81a764bc4 (patch)
tree4296652e162f4b4fb06703bc36aa690bf4bcfa3c /openbsc/src/libbsc
parent5a081bbb1d4b8974c160a2ddaf544a691c78e187 (diff)
paging: Provide the number of pending requests
Address the FIXME and take code from the on-waves/bsc-master branch. This will count the number of requests.
Diffstat (limited to 'openbsc/src/libbsc')
-rw-r--r--openbsc/src/libbsc/bsc_vty.c3
-rw-r--r--openbsc/src/libbsc/paging.c13
2 files changed, 15 insertions, 1 deletions
diff --git a/openbsc/src/libbsc/bsc_vty.c b/openbsc/src/libbsc/bsc_vty.c
index e052bdae7..5a4bd6e9e 100644
--- a/openbsc/src/libbsc/bsc_vty.c
+++ b/openbsc/src/libbsc/bsc_vty.c
@@ -258,7 +258,8 @@ static void bts_dump_vty(struct vty *vty, struct gsm_bts *bts)
net_dump_nmstate(vty, &bts->nm_state);
vty_out(vty, " Site Mgr NM State: ");
net_dump_nmstate(vty, &bts->site_mgr.nm_state);
- vty_out(vty, " Paging: FIXME pending requests, %u free slots%s",
+ vty_out(vty, " Paging: %u pending requests, %u free slots%s",
+ paging_pending_requests_nr(bts),
bts->paging.available_slots, VTY_NEWLINE);
if (is_ipaccess_bts(bts)) {
vty_out(vty, " OML Link state: %s.%s",
diff --git a/openbsc/src/libbsc/paging.c b/openbsc/src/libbsc/paging.c
index c61807462..a33614467 100644
--- a/openbsc/src/libbsc/paging.c
+++ b/openbsc/src/libbsc/paging.c
@@ -403,3 +403,16 @@ void paging_update_buffer_space(struct gsm_bts *bts, uint16_t free_slots)
bts->paging.available_slots = free_slots;
paging_schedule_if_needed(&bts->paging);
}
+
+unsigned int paging_pending_requests_nr(struct gsm_bts *bts)
+{
+ unsigned int requests = 0;
+ struct gsm_paging_request *req;
+
+ paging_init_if_needed(bts);
+
+ llist_for_each_entry(req, &bts->paging.pending_requests, entry)
+ ++requests;
+
+ return requests;
+}