gbproxy/test: Test TLLI expiry
This adds a unit test for gbprox_register_tlli() and
gbprox_remove_stale_tllis().
The dump_peers() function is extended by a cfg parameter to support
a non-global gbproxy_config.
Done with Jacob
diff --git a/openbsc/src/gprs/gb_proxy.c b/openbsc/src/gprs/gb_proxy.c
index 72014b1..c6d028f 100644
--- a/openbsc/src/gprs/gb_proxy.c
+++ b/openbsc/src/gprs/gb_proxy.c
@@ -196,7 +196,7 @@
return 1;
}
-static struct gbproxy_peer *peer_alloc(struct gbproxy_config *cfg, uint16_t bvci)
+struct gbproxy_peer *gbproxy_peer_alloc(struct gbproxy_config *cfg, uint16_t bvci)
{
struct gbproxy_peer *peer;
@@ -215,7 +215,7 @@
return peer;
}
-static void peer_free(struct gbproxy_peer *peer)
+void gbproxy_peer_free(struct gbproxy_peer *peer)
{
rate_ctr_group_free(peer->ctrg);
llist_del(&peer->list);
@@ -393,7 +393,7 @@
return NULL;
}
-static struct gbproxy_tlli_info *gbprox_find_tlli_by_mi(
+struct gbproxy_tlli_info *gbprox_find_tlli_by_mi(
struct gbproxy_peer *peer,
const uint8_t *mi_data,
size_t mi_data_len)
@@ -530,7 +530,7 @@
return deleted_count;
}
-static void gbprox_register_tlli(struct gbproxy_peer *peer, uint32_t tlli,
+void gbprox_register_tlli(struct gbproxy_peer *peer, uint32_t tlli,
const uint8_t *imsi, size_t imsi_len)
{
struct gbproxy_patch_state *state = &peer->patch_state;
@@ -1456,7 +1456,7 @@
* PTP-BVCI yet, we should allocate a new peer */
LOGP(DGPRS, LOGL_INFO, "Allocationg new peer for "
"BVCI=%u via NSEI=%u\n", bvci, nsei);
- from_peer = peer_alloc(cfg, bvci);
+ from_peer = gbproxy_peer_alloc(cfg, bvci);
from_peer->nsei = nsei;
}
@@ -1845,7 +1845,7 @@
struct gbproxy_peer *peer, *tmp;
llist_for_each_entry_safe(peer, tmp, &cfg->bts_peers, list)
- peer_free(peer);
+ gbproxy_peer_free(peer);
rate_ctr_group_free(cfg->ctrg);
gbproxy_init_config(cfg);
@@ -1862,7 +1862,7 @@
if (bvci && peer->bvci != bvci)
continue;
- peer_free(peer);
+ gbproxy_peer_free(peer);
counter += 1;
}