diff options
author | Daniel Willmann <dwillmann@sysmocom.de> | 2014-03-20 19:24:48 +0100 |
---|---|---|
committer | Daniel Willmann <daniel@totalueberwachung.de> | 2014-03-26 18:11:07 +0100 |
commit | 3dc4e16786d1e5723e76ad7c70ad54134957f9e5 (patch) | |
tree | c8a9609da0fff4967574b1d7af375d58a65f4788 /tests/lapd/lapd_test.c | |
parent | 09129352f99a90a784912ae3c8ff442268a35480 (diff) |
gsm/lapdm: Prevent LAPD tx_queue from filling up in polling mode
If LAPDm receives an I-Frame while there already is an I-Frame in the
tx_queue the code generates an additional RR (to acknowledge the
received I-Frame). Instead, N(R) of the I-Frame in the tx_queue should
be updated to ACK the data.
Diffstat (limited to 'tests/lapd/lapd_test.c')
-rw-r--r-- | tests/lapd/lapd_test.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/tests/lapd/lapd_test.c b/tests/lapd/lapd_test.c index c8bb394d..18ea1dc3 100644 --- a/tests/lapd/lapd_test.c +++ b/tests/lapd/lapd_test.c @@ -621,17 +621,13 @@ const uint8_t gprs_susp[] = { 0xd2, 0x6f, 0x09, 0xf1, 0x07, 0x00, 0x01, 0x00, 0x02 }; -const uint8_t gprs_susp_ack[] = { - 0x01, 0x41, 0x01 -}; - const uint8_t cipher_cmd[] = { 0x06, 0x35, 0x01 }; -/* The cipher command we send to the MS */ +/* The cipher command we send to the MS after updating our N(R) */ const uint8_t cipher_cmd_out[] = { - 0x03, 0x20, 0x0d, 0x06, 0x35, 0x01 + 0x03, 0x40, 0x0d, 0x06, 0x35, 0x01 }; uint8_t cipher_compl[] = { @@ -730,7 +726,7 @@ static void test_lapdm_desync() rc = dequeue_prim(&bts_to_ms_channel.lapdm_dcch, &pp, "DCCH"); CHECK_RC(rc); - OSMO_ASSERT(memcmp(pp.oph.msg->l2h, gprs_susp_ack, ARRAY_SIZE(gprs_susp_ack)) == 0); + OSMO_ASSERT(memcmp(pp.oph.msg->l2h, cipher_compl_ack, ARRAY_SIZE(cipher_compl_ack)) == 0); printf("\nEstablishing SAPI=3\n"); send_sabm(&bts_to_ms_channel, 3, NULL, 0); @@ -746,7 +742,7 @@ static void test_lapdm_desync() rc = dequeue_prim(&bts_to_ms_channel.lapdm_dcch, &pp, "DCCH"); CHECK_RC(rc); - OSMO_ASSERT(memcmp(pp.oph.msg->l2h, cipher_compl_ack, ARRAY_SIZE(cipher_compl_ack)) == 0); + OSMO_ASSERT(memcmp(pp.oph.msg->l2h, cp_data_1_ack, ARRAY_SIZE(cp_data_1_ack)) == 0); /* clean up */ lapdm_channel_exit(&bts_to_ms_channel); |