aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilipp Maier <pmaier@sysmocom.de>2023-08-24 13:13:10 +0200
committerPhilipp Maier <pmaier@sysmocom.de>2023-08-29 13:18:03 +0200
commit0221248078a558f06d5fa6188c2f4c9dcb8081c8 (patch)
tree3ce3646364190bca717bbc637750aedb9f48a520
parentd501ee8c7a708f5532d76991d9050e70f01459a4 (diff)
PCUIF: use confirm flag in struct gsm_pcu_if_pch
In the recent PCUIF change of osmo-pcu (see Depends) a confirm flag is added to struct gsm_pcu_if_pch. This flag tells the receiving end (OsmoBSC or OsmoBTS) that the sending of the received MAC block has to be confirmed towards the PCU. OsmoBTS and OsmoPCU now rely on the conformation flag. Let's update the BTS_and PCU testsuites accordingly. Related: OS#5927 Depends: osmo-pcu.git Ia202862aafc1f0cb6601574ef61eb9155de11f04 Change-Id: I7017ca20ca7e0b77d0f363121e4f17280e39e8ac
-rw-r--r--bts/BTS_Tests.ttcn1
-rw-r--r--library/PCUIF_CodecPort.ttcn1
-rw-r--r--library/PCUIF_Types.ttcn3
-rw-r--r--pcu/PCUIF_Components.ttcn10
4 files changed, 11 insertions, 4 deletions
diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn
index d39bb77e..6109159e 100644
--- a/bts/BTS_Tests.ttcn
+++ b/bts/BTS_Tests.ttcn
@@ -5823,6 +5823,7 @@ testcase TC_pcu_data_req_pch() runs on test_CT {
pch.msg_id := '01020304'O;
pch.imsi := "00101000000000123";
pch.data := c_PCU_DATA;
+ pch.confirm := false;
f_pcu_data_req(0, 0, 0, 0, 0, PCU_IF_SAPI_PCH_2, enc_PCUIF_pch(pch));
}
diff --git a/library/PCUIF_CodecPort.ttcn b/library/PCUIF_CodecPort.ttcn
index e56303e8..d180f17b 100644
--- a/library/PCUIF_CodecPort.ttcn
+++ b/library/PCUIF_CodecPort.ttcn
@@ -159,6 +159,7 @@ function f_PCUIF_tx_imm_ass_pch(PCUIF_CODEC_PT pt, integer conn_id, octetstring
pch.msg_id := msg_id;
pch.imsi := hex2str(imsi);
pch.data := imm_ass;
+ pch.confirm := true;
pt.send(t_SD_PCUIF(conn_id, ts_PCUIF_DATA_REQ(bts_nr, 0, 0, 0, 0, PCU_IF_SAPI_PCH_2, enc_PCUIF_pch(pch))));
}
diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn
index 8583504c..509c93cf 100644
--- a/library/PCUIF_Types.ttcn
+++ b/library/PCUIF_Types.ttcn
@@ -308,7 +308,8 @@ type record PCUIF_container {
type record PCUIF_pch {
OCT4 msg_id,
charstring imsi length(17),
- octetstring data length(23)
+ octetstring data length(23),
+ boolean confirm
} with {
variant (msg_id) "BYTEORDER(last)"
variant (imsi) "FIELDLENGTH(17)"
diff --git a/pcu/PCUIF_Components.ttcn b/pcu/PCUIF_Components.ttcn
index d7e2ed59..58686259 100644
--- a/pcu/PCUIF_Components.ttcn
+++ b/pcu/PCUIF_Components.ttcn
@@ -142,7 +142,8 @@ type record BTS_CCCH_Block {
PCUIF_data raw,
OCT4 msg_id optional,
charstring imsi optional,
- GsmRrMessage rr_msg
+ GsmRrMessage rr_msg,
+ boolean confirm
};
template BTS_PDTCH_Block tr_PCUIF_DATA_PDTCH(template uint8_t bts_nr,
template PCUIF_data raw,
@@ -162,12 +163,14 @@ template BTS_CCCH_Block tr_PCUIF_DATA_RR(template uint8_t bts_nr,
template PCUIF_data raw,
template GsmRrMessage rr_msg := ?,
template OCT4 msg_id := *,
- template charstring imsi := *) := {
+ template charstring imsi := *,
+ template boolean confirm := *) := {
bts_nr := bts_nr,
raw := raw,
msg_id := msg_id,
imsi := imsi,
- rr_msg := rr_msg
+ rr_msg := rr_msg,
+ confirm := confirm
};
/* Generic port for messages and events */
@@ -553,6 +556,7 @@ runs on RAW_PCU_BTS_CT {
pcu_msg_rr.msg_id := pch.msg_id;
pcu_msg_rr.imsi := pch.imsi;
pcu_msg_rr.rr_msg := dec_GsmRrMessage(pch.data);
+ pcu_msg_rr.confirm := pch.confirm;
} else {
pcu_msg_rr.msg_id := omit;
pcu_msg_rr.imsi := omit;