aboutsummaryrefslogtreecommitdiffstats
path: root/tests/emu/pcu_emu.cpp
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <holger@moiji-mobile.com>2013-08-22 08:44:38 +0200
committerIvan Kluchnikov <kluchnikovi@gmail.com>2013-09-04 21:28:53 +0400
commitbc1e52cfbf89dc9c669281181f99dc5098ea8364 (patch)
treed939d9936e8141d0890a5f77266b103352ac4b19 /tests/emu/pcu_emu.cpp
parent741481d3e007f6cc38b3e8d090a49be1caf99b12 (diff)
emu: Use OpenBSC code to decode the LLC and add assertions
Use the OpenBSC SGSN code to parse the LLC data and look into the data we receive. Add assertions to verify the the sequence number is increasing.
Diffstat (limited to 'tests/emu/pcu_emu.cpp')
-rw-r--r--tests/emu/pcu_emu.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/tests/emu/pcu_emu.cpp b/tests/emu/pcu_emu.cpp
index 337c0c8f..f4d38cdb 100644
--- a/tests/emu/pcu_emu.cpp
+++ b/tests/emu/pcu_emu.cpp
@@ -37,6 +37,7 @@ struct gprs_rlcmac_bts *gprs_rlcmac_bts;
int16_t spoof_mnc = 0, spoof_mcc = 0;
extern void test_replay_gprs_attach(struct gprs_bssgp_pcu *pcu);
+extern void test_replay_gprs_data(struct gprs_bssgp_pcu *, struct msgb *, struct tlv_parsed *);
struct gprs_rlcmac_bts *create_bts()
{
@@ -70,6 +71,11 @@ static void bvci_unblocked(struct gprs_bssgp_pcu *pcu)
test_replay_gprs_attach(pcu);
}
+static void bssgp_data(struct gprs_bssgp_pcu *pcu, struct msgb *msg, struct tlv_parsed *tp)
+{
+ test_replay_gprs_data(pcu, msg, tp);
+}
+
void create_and_connect_bssgp(struct gprs_rlcmac_bts *bts,
uint32_t sgsn_ip, uint16_t sgsn_port)
{
@@ -78,6 +84,7 @@ void create_and_connect_bssgp(struct gprs_rlcmac_bts *bts,
pcu = gprs_bssgp_create_and_connect(bts, 0, sgsn_ip, sgsn_port,
20, 20, 20, 0x901, 0x99, 1, 0, 0);
pcu->on_unblock_ack = bvci_unblocked;
+ pcu->on_dl_unit_data = bssgp_data;
}
int main(int argc, char **argv)