diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2013-06-19 08:16:56 +0200 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2013-06-19 08:27:18 +0200 |
commit | dd34ed5b904a715a6ed742b635ed44c2b9b0b564 (patch) | |
tree | 7c451e087ef75f2db6d218a35f69418a134928b8 /tests/lapd | |
parent | 087116aca771ae3cd2dcbcbd8cb63a91dfc75f20 (diff) |
lapd: The two known LAPDm issues have been addressed, update the test
The issue about the wrong padding has been found when creating the
testcase in commit 15f740caa3a1ef681b3a5564daf6dfccb7b1e489 but the
patch to fix that was never proposed by inclusion by its author.
The issue about about the establish confirm carrying data with
a wrong size is still present.
Diffstat (limited to 'tests/lapd')
-rw-r--r-- | tests/lapd/lapd_test.c | 16 | ||||
-rw-r--r-- | tests/lapd/lapd_test.ok | 4 |
2 files changed, 7 insertions, 13 deletions
diff --git a/tests/lapd/lapd_test.c b/tests/lapd/lapd_test.c index 49b7eefa..4d91fee3 100644 --- a/tests/lapd/lapd_test.c +++ b/tests/lapd/lapd_test.c @@ -61,12 +61,6 @@ static const uint8_t cm[] = { 0x29, 0x47, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, }; -static const uint8_t cm_padded[] = { - 0x05, 0x24, 0x31, 0x03, 0x50, 0x18, 0x93, 0x08, - 0x29, 0x47, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, - 0x2b, 0x2b, 0x2b, 0x2b -}; - static const uint8_t ua[] = { 0x01, 0x73, 0x41, 0x05, 0x24, 0x31, 0x03, 0x50, 0x18, 0x93, 0x08, 0x29, 0x47, 0x80, 0x00, 0x00, @@ -173,7 +167,7 @@ static int send_sabm(struct lapdm_channel *chan, int second_ms) msg->l2h[0] = 0x01; msg->l2h[1] = 0x3f; msg->l2h[2] = 0x01 | (sizeof(cm) << 2); - memcpy(msg->l2h + 3, cm_padded, sizeof(cm_padded)); + memcpy(msg->l2h + 3, cm, sizeof(cm)); msg->l2h[3] += second_ms; /* alter message, for second mobile */ /* LAPDm requires those... */ @@ -198,9 +192,9 @@ static int bts_to_ms_tx_cb(struct msgb *in_msg, struct lapdm_entity *le, void *_ if (state->bts_read == 0) { printf("BTS: Verifying CM request.\n"); - OSMO_ASSERT(msgb_l3len(in_msg) == ARRAY_SIZE(cm_padded)); - OSMO_ASSERT(memcmp(in_msg->l3h, cm_padded, - ARRAY_SIZE(cm_padded)) == 0); + OSMO_ASSERT(msgb_l3len(in_msg) == ARRAY_SIZE(cm)); + OSMO_ASSERT(memcmp(in_msg->l3h, cm, + ARRAY_SIZE(cm)) == 0); } else if (state->bts_read == 1) { printf("BTS: Verifying dummy message.\n"); OSMO_ASSERT(msgb_l3len(in_msg) == ARRAY_SIZE(dummy1)); @@ -249,7 +243,7 @@ static int ms_to_bts_tx_cb(struct msgb *msg, struct lapdm_entity *le, void *_ctx /* Verify the added RSL_IE_L3_INFO but we have a bug here */ OSMO_ASSERT(msg->data[6] == RSL_IE_L3_INFO); #warning "RSL_IE_L3_INFO 16 bit length is wrong" - /* ASSERT(msg->data[7] == 0x0 && msg->data[8] == 0x9c); */ + /* ASSERT(msg->data[7] == 0x0 && msg->data[8] == 0x0c); */ /* this should be 0x0 and 0x0... but we have a bug */ } else if (state->ms_read == 1) { printf("MS: Verifying incoming MM message: %d\n", msgb_l3len(msg)); diff --git a/tests/lapd/lapd_test.ok b/tests/lapd/lapd_test.ok index aa927088..27389bfd 100644 --- a/tests/lapd/lapd_test.ok +++ b/tests/lapd/lapd_test.ok @@ -1,7 +1,7 @@ I do some very simple LAPDm test. Establishing link. ms_to_bts_l1_cb: MS(us) -> BTS prim message -bts_to_ms_tx_cb: MS->BTS(us) message 29 +bts_to_ms_tx_cb: MS->BTS(us) message 25 BTS: Verifying CM request. Confirming @@ -19,6 +19,6 @@ bts_to_ms_tx_cb: MS->BTS(us) message 14 BTS: Verifying dummy message. I test RF channel release of an unestablished channel. I test contention resultion by having two mobiles collide and first mobile repeating SABM. -bts_to_ms_tx_cb: MS->BTS(us) message 29 +bts_to_ms_tx_cb: MS->BTS(us) message 25 BTS: Verifying CM request. Success. |