[MERGED] osmo-ttcn3-hacks[master]: GSM_Types: Switch TLLI from uint32_t to OCT4

2018-03-03 Thread Harald Welte
Harald Welte has submitted this change and it was merged.

Change subject: GSM_Types: Switch TLLI from uint32_t to OCT4
..


GSM_Types: Switch TLLI from uint32_t to OCT4

The TLLI is not really a number, but an opaque 4-byte value.

Change-Id: I0901340a2211eeeb899f312bcc60573fec11f220
---
M gprs_gb/Test.ttcn
M library/GSM_Types.ttcn
M library/Osmocom_Gb_Types.ttcn
M library/RLCMAC_CSN1_Types.ttcn
M library/RLCMAC_EncDec.cc
5 files changed, 22 insertions(+), 26 deletions(-)

Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/gprs_gb/Test.ttcn b/gprs_gb/Test.ttcn
index e9cb40e..7251ef9 100644
--- a/gprs_gb/Test.ttcn
+++ b/gprs_gb/Test.ttcn
@@ -47,7 +47,7 @@
var BSSGP_CT bssgp_component;
 
var MmContext g_mmctx := {
-   tlli := 0,
+   tlli := ''O,
n_u := 0
};
 
@@ -334,7 +334,7 @@
 
/* compute a random TLLI; FIXME: what about TLLI prefix / 
local/foreign/...? */
function f_random_tlli() return GprsTlli {
-   var GprsTlli tlli := float2int(rnd()* 4294967295.0);
+   var GprsTlli tlli := f_rnd_octstring(4);
return tlli;
}
 
@@ -402,7 +402,7 @@
[] BSSGP.receive(tr_BD_BSSGP(?)) -> value bd {
log("BSSGP Rx: ", bd);
//log("GMM Rx: ", 
dec_PDU_L3_MS_SGSN(pdu.payload));
-   g_mmctx.tlli := 
oct2int(bd.bssgp.pDU_BSSGP_UL_UNITDATA.tLLI);
+   g_mmctx.tlli := 
bd.bssgp.pDU_BSSGP_UL_UNITDATA.tLLI;
tx_gmm(LLC_CR_DL_CMD, gmm_auth_req);
}
[] BSSGP.receive(t_BssgpStsInd(?, ?, 
BVC_S_UNBLOCKED)) { repeat; }
diff --git a/library/GSM_Types.ttcn b/library/GSM_Types.ttcn
index b86bfd7..c7b7991 100644
--- a/library/GSM_Types.ttcn
+++ b/library/GSM_Types.ttcn
@@ -16,7 +16,7 @@
type integer GsmRxLev (0..63);
type integer GsmTsc (0..7) with { variant "FIELDLENGTH(8)" };
type uint32_t GsmTmsi;
-   type uint32_t GprsTlli;
+   type OCT4 GprsTlli;
type hexstring GsmMcc length(3);
type hexstring GsmMnc length(2 .. 3);
type uint16_t GsmLac;
diff --git a/library/Osmocom_Gb_Types.ttcn b/library/Osmocom_Gb_Types.ttcn
index 2f2a8ba..a3121b5 100644
--- a/library/Osmocom_Gb_Types.ttcn
+++ b/library/Osmocom_Gb_Types.ttcn
@@ -551,7 +551,7 @@
template PDU_BSSGP ts_BSSGP_DL_UD(GprsTlli tlli, octetstring pdu) := {
pDU_BSSGP_DL_UNITDATA := {
bssgpPduType := '00'O,
-   tLLI_current := f_oct_or_wc(tlli, 4),
+   tLLI_current := tlli,
qoS_Profile := t_defaultQos,
pDU_Lifetime := t_DefaultLifetime(65535),
mS_Radio_Access_Capability := omit,
@@ -608,7 +608,7 @@
}
}
 
-   template PDU_BSSGP ts_BSSGP_UL_UD(OCT4 tlli, BssgpCellId cell_id, 
octetstring payload) := {
+   template PDU_BSSGP ts_BSSGP_UL_UD(GprsTlli tlli, BssgpCellId cell_id, 
octetstring payload) := {
pDU_BSSGP_UL_UNITDATA := {
bssgpPduType := '01'O,
tLLI := tlli,
@@ -631,7 +631,7 @@
  template octetstring payload := ?) := 
{
pDU_BSSGP_UL_UNITDATA := {
bssgpPduType := '01'O,
-   tLLI := f_oct_or_wc(tlli, 4),
+   tLLI := tlli,
qoS_Profile := ?,
cell_Identifier := t_BSSGP_IE_CellId(cell_id),
pFI := *,
diff --git a/library/RLCMAC_CSN1_Types.ttcn b/library/RLCMAC_CSN1_Types.ttcn
index 076b1c1..2335c29 100644
--- a/library/RLCMAC_CSN1_Types.ttcn
+++ b/library/RLCMAC_CSN1_Types.ttcn
@@ -52,7 +52,9 @@
type record TenTlli {
BIT2presence ('10'B),
GprsTllitlli
-   } with { variant "" };
+   } with { variant ""
+   variant (tlli) "BYTEORDER(first)"
+   };
 
type union GlobalTfiOrTlli {
NullGlobalTfi   global_tfi,
@@ -78,7 +80,9 @@
type record IO_Tlli {
BIT2presence ('10'B),
GprsTllitlli
-   } with { variant "" };
+   } with { variant ""
+   variant (tlli) "BYTEORDER(first)"
+   };
type record IIO_Tqi {
BIT3presence ('110'B),
PacketRequestReference  pkt_req_ref
@@ -244,6 +248,7 @@
variant (cont_res_tlli) "PRESENCE(cont_res_tlli_present = '

osmo-ttcn3-hacks[master]: GSM_Types: Switch TLLI from uint32_t to OCT4

2018-03-03 Thread Harald Welte

Patch Set 1: Code-Review+2

-- 
To view, visit https://gerrit.osmocom.org/7070
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I0901340a2211eeeb899f312bcc60573fec11f220
Gerrit-PatchSet: 1
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Owner: Harald Welte 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Jenkins Builder
Gerrit-HasComments: No


[PATCH] osmo-ttcn3-hacks[master]: GSM_Types: Switch TLLI from uint32_t to OCT4

2018-03-03 Thread Harald Welte

Review at  https://gerrit.osmocom.org/7070

GSM_Types: Switch TLLI from uint32_t to OCT4

The TLLI is not really a number, but an opaque 4-byte value.

Change-Id: I0901340a2211eeeb899f312bcc60573fec11f220
---
M gprs_gb/Test.ttcn
M library/GSM_Types.ttcn
M library/Osmocom_Gb_Types.ttcn
M library/RLCMAC_CSN1_Types.ttcn
M library/RLCMAC_EncDec.cc
5 files changed, 22 insertions(+), 26 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/70/7070/1

diff --git a/gprs_gb/Test.ttcn b/gprs_gb/Test.ttcn
index e9cb40e..7251ef9 100644
--- a/gprs_gb/Test.ttcn
+++ b/gprs_gb/Test.ttcn
@@ -47,7 +47,7 @@
var BSSGP_CT bssgp_component;
 
var MmContext g_mmctx := {
-   tlli := 0,
+   tlli := ''O,
n_u := 0
};
 
@@ -334,7 +334,7 @@
 
/* compute a random TLLI; FIXME: what about TLLI prefix / 
local/foreign/...? */
function f_random_tlli() return GprsTlli {
-   var GprsTlli tlli := float2int(rnd()* 4294967295.0);
+   var GprsTlli tlli := f_rnd_octstring(4);
return tlli;
}
 
@@ -402,7 +402,7 @@
[] BSSGP.receive(tr_BD_BSSGP(?)) -> value bd {
log("BSSGP Rx: ", bd);
//log("GMM Rx: ", 
dec_PDU_L3_MS_SGSN(pdu.payload));
-   g_mmctx.tlli := 
oct2int(bd.bssgp.pDU_BSSGP_UL_UNITDATA.tLLI);
+   g_mmctx.tlli := 
bd.bssgp.pDU_BSSGP_UL_UNITDATA.tLLI;
tx_gmm(LLC_CR_DL_CMD, gmm_auth_req);
}
[] BSSGP.receive(t_BssgpStsInd(?, ?, 
BVC_S_UNBLOCKED)) { repeat; }
diff --git a/library/GSM_Types.ttcn b/library/GSM_Types.ttcn
index b86bfd7..c7b7991 100644
--- a/library/GSM_Types.ttcn
+++ b/library/GSM_Types.ttcn
@@ -16,7 +16,7 @@
type integer GsmRxLev (0..63);
type integer GsmTsc (0..7) with { variant "FIELDLENGTH(8)" };
type uint32_t GsmTmsi;
-   type uint32_t GprsTlli;
+   type OCT4 GprsTlli;
type hexstring GsmMcc length(3);
type hexstring GsmMnc length(2 .. 3);
type uint16_t GsmLac;
diff --git a/library/Osmocom_Gb_Types.ttcn b/library/Osmocom_Gb_Types.ttcn
index 2f2a8ba..a3121b5 100644
--- a/library/Osmocom_Gb_Types.ttcn
+++ b/library/Osmocom_Gb_Types.ttcn
@@ -551,7 +551,7 @@
template PDU_BSSGP ts_BSSGP_DL_UD(GprsTlli tlli, octetstring pdu) := {
pDU_BSSGP_DL_UNITDATA := {
bssgpPduType := '00'O,
-   tLLI_current := f_oct_or_wc(tlli, 4),
+   tLLI_current := tlli,
qoS_Profile := t_defaultQos,
pDU_Lifetime := t_DefaultLifetime(65535),
mS_Radio_Access_Capability := omit,
@@ -608,7 +608,7 @@
}
}
 
-   template PDU_BSSGP ts_BSSGP_UL_UD(OCT4 tlli, BssgpCellId cell_id, 
octetstring payload) := {
+   template PDU_BSSGP ts_BSSGP_UL_UD(GprsTlli tlli, BssgpCellId cell_id, 
octetstring payload) := {
pDU_BSSGP_UL_UNITDATA := {
bssgpPduType := '01'O,
tLLI := tlli,
@@ -631,7 +631,7 @@
  template octetstring payload := ?) := 
{
pDU_BSSGP_UL_UNITDATA := {
bssgpPduType := '01'O,
-   tLLI := f_oct_or_wc(tlli, 4),
+   tLLI := tlli,
qoS_Profile := ?,
cell_Identifier := t_BSSGP_IE_CellId(cell_id),
pFI := *,
diff --git a/library/RLCMAC_CSN1_Types.ttcn b/library/RLCMAC_CSN1_Types.ttcn
index 076b1c1..2335c29 100644
--- a/library/RLCMAC_CSN1_Types.ttcn
+++ b/library/RLCMAC_CSN1_Types.ttcn
@@ -52,7 +52,9 @@
type record TenTlli {
BIT2presence ('10'B),
GprsTllitlli
-   } with { variant "" };
+   } with { variant ""
+   variant (tlli) "BYTEORDER(first)"
+   };
 
type union GlobalTfiOrTlli {
NullGlobalTfi   global_tfi,
@@ -78,7 +80,9 @@
type record IO_Tlli {
BIT2presence ('10'B),
GprsTllitlli
-   } with { variant "" };
+   } with { variant ""
+   variant (tlli) "BYTEORDER(first)"
+   };
type record IIO_Tqi {
BIT3presence ('110'B),
PacketRequestReference  pkt_req_ref
@@ -244,6 +248,7 @@
variant (cont_res_tlli) "PRESENCE(cont_res_tlli_present = '1'B)"
variant (pkt_ta)"PRESENCE(pkt_ta_present = '1'B)"
variant (pwr_ctrl)  "PRESENCE(pwr_ctrl_present =