laforge has submitted this change. (
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/43383?usp=email )
Change subject: stp: Use SI in valid range when transmitting data
......................................................................
stp: Use SI in valid range when transmitting data
ITU Q.704 14.2.1 defines Service Indicator as being 4 bits, hence valid
range of the field is 0..0x0F. M3UA encodes it inside a full octet
"justified to the least significant bit. Unused bits are coded `0'."
Make sure we send a value inside range, since newer libosmo-sigtran will
validate the received m3ua field.
Use SI=0010 "spare" since we are not really sending any meaningful data.
Change-Id: I1d0553b0ed57b9283dd988e0f686dea8a4f17ebb
---
M stp/STP_Tests_M3UA.ttcn
1 file changed, 10 insertions(+), 10 deletions(-)
Approvals:
laforge: Looks good to me, approved
osmith: Looks good to me, but someone else must approve
Jenkins Builder: Verified
diff --git a/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn
index f1ce309..ff8f08a 100644
--- a/stp/STP_Tests_M3UA.ttcn
+++ b/stp/STP_Tests_M3UA.ttcn
@@ -776,7 +776,7 @@
/* Test if traffic is routed from idx_tx/pc_tx to idx_rx/pc_rx */
friend function f_test_traffic(integer idx_tx, template (omit) OCT4
rctx_sender, OCT4 pc_tx,
integer idx_rx, template (omit) OCT4
rctx_receiver, OCT4 pc_rx,
- OCT1 si := '23'O, OCT1 ni := mp_ni, OCT1 mp :=
'00'O, OCT1 sls := '00'O)
+ OCT1 si := '02'O, OCT1 ni := mp_ni, OCT1 mp :=
'00'O, OCT1 sls := '00'O)
runs on RAW_M3UA_CT {
var octetstring data := f_rnd_octstring_rnd_len(100);
f_M3UA_send(idx_tx, ts_M3UA_DATA(rctx_sender,
@@ -865,8 +865,8 @@
var octetstring data := f_rnd_octstring_rnd_len(100);
var template (value) M3UA_Protocol_Data tx_pd;
var template (present) M3UA_Protocol_Data rx_pd;
- tx_pd := ts_M3UA_protocol_data(pc_sender, pc_receiver, '23'O,
'00'O, '00'O, '00'O, data);
- rx_pd := tr_M3UA_protocol_data(pc_sender, pc_receiver, '23'O,
'00'O, '00'O, '00'O, data);
+ tx_pd := ts_M3UA_protocol_data(pc_sender, pc_receiver, '02'O,
'00'O, '00'O, '00'O, data);
+ rx_pd := tr_M3UA_protocol_data(pc_sender, pc_receiver, '02'O,
'00'O, '00'O, '00'O, data);
f_M3UA_send(0, ts_M3UA_DATA(rctx_sender, tx_pd), 1);
alt {
[] as_count_rx(1, tr_M3UA_DATA(rctx_receiver, rx_pd),
num_rx[1]);
@@ -947,8 +947,8 @@
/* Distribute traffic over ASPs based on SLS, since OPC is
always the same.
* SLS in ITU is 4 bits. */
var OCT1 sls := int2oct(i mod 16, 1);
- tx_pd := ts_M3UA_protocol_data(pc_sender, pc_receiver, '23'O,
'00'O, '00'O, sls, data);
- rx_pd := tr_M3UA_protocol_data(pc_sender, pc_receiver, '23'O,
'00'O, '00'O, sls, data);
+ tx_pd := ts_M3UA_protocol_data(pc_sender, pc_receiver, '02'O,
'00'O, '00'O, sls, data);
+ rx_pd := tr_M3UA_protocol_data(pc_sender, pc_receiver, '02'O,
'00'O, '00'O, sls, data);
f_M3UA_send(0, ts_M3UA_DATA(rctx_sender, tx_pd), 1);
alt {
[] as_count_rx_sls(1, tr_M3UA_DATA(rctx_receiver, rx_pd),
sls_num_rx_1, num_rx_1);
@@ -1016,8 +1016,8 @@
var octetstring data := f_rnd_octstring_rnd_len(100);
var template (value) M3UA_Protocol_Data tx_pd;
var template (present) M3UA_Protocol_Data rx_pd;
- tx_pd := ts_M3UA_protocol_data(pc_sender, pc_receiver, '23'O,
'00'O, '00'O, '00'O, data);
- rx_pd := tr_M3UA_protocol_data(pc_sender, pc_receiver, '23'O,
'00'O, '00'O, '00'O, data);
+ tx_pd := ts_M3UA_protocol_data(pc_sender, pc_receiver, '02'O,
'00'O, '00'O, '00'O, data);
+ rx_pd := tr_M3UA_protocol_data(pc_sender, pc_receiver, '02'O,
'00'O, '00'O, '00'O, data);
f_M3UA_send(0, ts_M3UA_DATA(rctx_sender, tx_pd), 1);
/* each message must be received both on 1 and 2 */
f_M3UA_exp(1, tr_M3UA_DATA(rctx_receiver, rx_pd));
@@ -1838,8 +1838,8 @@
/* Distribute traffic over ASPs based on SLS, since OPC is
always the same.
* SLS in ITU is 4 bits. */
var OCT1 sls := int2oct(i mod 16, 1);
- tx_pd := ts_M3UA_protocol_data(pc_sender, pc_receiver, '23'O,
'00'O, '00'O, sls, data);
- rx_pd := tr_M3UA_protocol_data(pc_sender, pc_receiver, '23'O,
'00'O, '00'O, sls, data);
+ tx_pd := ts_M3UA_protocol_data(pc_sender, pc_receiver, '02'O,
'00'O, '00'O, sls, data);
+ rx_pd := tr_M3UA_protocol_data(pc_sender, pc_receiver, '02'O,
'00'O, '00'O, sls, data);
f_M3UA_send(0, ts_M3UA_DATA(rctx_sender, tx_pd), 1);
alt {
[] as_count_rx_sls(1, tr_M3UA_DATA(rctx_receiver, rx_pd),
sls_num_rx_1, num_rx_1);
@@ -1883,7 +1883,7 @@
f_M3UA_asp_up_act(idx_tx, rctx := rctx_sender);
/* check if DATA is accepted without Routing Context IE */
- m3ua_data := ts_M3UA_protocol_data(pc_sender, pc_receiver, si:= '23'O,
ni := mp_ni,
+ m3ua_data := ts_M3UA_protocol_data(pc_sender, pc_receiver, si := '02'O,
ni := mp_ni,
mp := '00'O, sls := '00'O, data :=
data);
f_M3UA_send(idx_tx, ts_M3UA_DATA(rctx_sender, m3ua_data), 1);
f_M3UA_exp(idx_tx, tr_M3UA_DUNA({ts_M3UA_PC(oct2int(pc_receiver), 0)},
rctx_sender));
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/43383?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I1d0553b0ed57b9283dd988e0f686dea8a4f17ebb
Gerrit-Change-Number: 43383
Gerrit-PatchSet: 3
Gerrit-Owner: pespin <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <[email protected]>
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-Reviewer: osmith <[email protected]>