<p>pespin <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19192">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  laforge: Looks good to me, but someone else must approve
  daniel: Looks good to me, approved
  Jenkins Builder: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">RLCMAC: Improve support of Pkt Ul AckNack messages<br><br>Change-Id: I8586248f435b1a70042ea25f633b75542bbc14aa<br>---<br>M library/RLCMAC_CSN1_Templates.ttcn<br>M library/RLCMAC_CSN1_Types.ttcn<br>2 files changed, 48 insertions(+), 5 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/library/RLCMAC_CSN1_Templates.ttcn b/library/RLCMAC_CSN1_Templates.ttcn</span><br><span>index 9f53c3f..0d7de99 100644</span><br><span>--- a/library/RLCMAC_CSN1_Templates.ttcn</span><br><span>+++ b/library/RLCMAC_CSN1_Templates.ttcn</span><br><span>@@ -217,15 +217,34 @@</span><br><span>             multi_block_alloc := omit</span><br><span>    };</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  template UlAckNackGprs tr_UlAckNackGprs(template GprsTlli tlli := *) := {</span><br><span style="color: hsl(120, 100%, 40%);">+     template AckNackDescription tr_AckNackDescription(template BIT1 final_ack := ?) := {</span><br><span style="color: hsl(120, 100%, 40%);">+          final_ack := final_ack,</span><br><span style="color: hsl(120, 100%, 40%);">+               starting_seq_nr := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+         receive_block_bitmap := ?</span><br><span style="color: hsl(120, 100%, 40%);">+     };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  template UlAckNackGprsAdditionsRel99 tr_UlAckNackGprsAdditionsRel99(template boolean tbf_est := ?) := {</span><br><span style="color: hsl(120, 100%, 40%);">+               ext_pkt_ta_present := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+              ext_pkt_ta := *,</span><br><span style="color: hsl(120, 100%, 40%);">+              tbf_est := tbf_est</span><br><span style="color: hsl(120, 100%, 40%);">+    };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  template UlAckNackGprs tr_UlAckNackGprs(template GprsTlli tlli := *,</span><br><span style="color: hsl(120, 100%, 40%);">+                                          template AckNackDescription acknack_desc := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+                                                template UlAckNackGprsAdditionsRel99 rel99 := *) := {</span><br><span>                ch_coding_cmd := ?,</span><br><span style="color: hsl(0, 100%, 40%);">-             ack_nack_desc := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+           ack_nack_desc := acknack_desc,</span><br><span>               cont_res_tlli_present := ?,</span><br><span>          cont_res_tlli := tlli,</span><br><span>               pkt_ta_present := ?,</span><br><span>                 pkt_ta := *,</span><br><span>                 pwr_ctrl_present := ?,</span><br><span style="color: hsl(0, 100%, 40%);">-          pwr_ctrl := *</span><br><span style="color: hsl(120, 100%, 40%);">+         pwr_ctrl := *,</span><br><span style="color: hsl(120, 100%, 40%);">+                extension_bits_present := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+          extension_bits := *,</span><br><span style="color: hsl(120, 100%, 40%);">+          not_used := '0'B,</span><br><span style="color: hsl(120, 100%, 40%);">+             rel99_present := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+           rel99 := rel99</span><br><span>       };</span><br><span> </span><br><span>       template UlAckNackEgprs tr_UlAckNackEgprs(template GprsTlli tlli := *) := {</span><br><span>diff --git a/library/RLCMAC_CSN1_Types.ttcn b/library/RLCMAC_CSN1_Types.ttcn</span><br><span>index ee02a8a..20c2d81 100644</span><br><span>--- a/library/RLCMAC_CSN1_Types.ttcn</span><br><span>+++ b/library/RLCMAC_CSN1_Types.ttcn</span><br><span>@@ -416,6 +416,15 @@</span><br><span>              variant (repeated_pageinfo) "PRESENCE(repeated_pageinfo_present = '1'B)"</span><br><span>   };</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+        /* 12.26 Extension Bits IE  */</span><br><span style="color: hsl(120, 100%, 40%);">+        type record ExtensionBits {</span><br><span style="color: hsl(120, 100%, 40%);">+           uint6_t         extension_length,</span><br><span style="color: hsl(120, 100%, 40%);">+             bitstring       spare_bits</span><br><span style="color: hsl(120, 100%, 40%);">+    } with {</span><br><span style="color: hsl(120, 100%, 40%);">+              variant (extension_length) "LENGTHTO(spare_bits) - 1"</span><br><span style="color: hsl(120, 100%, 40%);">+               variant (extension_length) "UNIT(bits)"</span><br><span style="color: hsl(120, 100%, 40%);">+     };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>         /* 11.2.28 Uplink Ack/Nack */</span><br><span>        type enumerated ChCodingCommand {</span><br><span>            CH_CODING_CS1           ('00'B),</span><br><span>@@ -423,6 +432,15 @@</span><br><span>              CH_CODING_CS3           ('10'B),</span><br><span>             CH_CODING_CS4           ('11'B)</span><br><span>      } with { variant "FIELDLENGTH(2)" };</span><br><span style="color: hsl(120, 100%, 40%);">+        type record UlAckNackGprsAdditionsRel99 {</span><br><span style="color: hsl(120, 100%, 40%);">+             BIT1                    ext_pkt_ta_present,</span><br><span style="color: hsl(120, 100%, 40%);">+           BIT2                    ext_pkt_ta optional,</span><br><span style="color: hsl(120, 100%, 40%);">+          boolean                 tbf_est</span><br><span style="color: hsl(120, 100%, 40%);">+               /* TODO: Rel5 ,... */</span><br><span style="color: hsl(120, 100%, 40%);">+ } with {</span><br><span style="color: hsl(120, 100%, 40%);">+              variant (ext_pkt_ta)    "PRESENCE(ext_pkt_ta_present = '1'B)"</span><br><span style="color: hsl(120, 100%, 40%);">+               variant (tbf_est)       "FIELDLENGTH(1)"</span><br><span style="color: hsl(120, 100%, 40%);">+    };</span><br><span>   type record UlAckNackGprs {</span><br><span>          ChCodingCommand         ch_coding_cmd,</span><br><span>               AckNackDescription      ack_nack_desc,</span><br><span>@@ -431,12 +449,18 @@</span><br><span>               BIT1                    pkt_ta_present,</span><br><span>              PacketTimingAdvance     pkt_ta optional,</span><br><span>             BIT1                    pwr_ctrl_present,</span><br><span style="color: hsl(0, 100%, 40%);">-               PowerControlParameters  pwr_ctrl optional</span><br><span style="color: hsl(0, 100%, 40%);">-               /* TODO: Extension Bits, Rel5 ,... */</span><br><span style="color: hsl(120, 100%, 40%);">+         PowerControlParameters  pwr_ctrl optional,</span><br><span style="color: hsl(120, 100%, 40%);">+            BIT1                    extension_bits_present,</span><br><span style="color: hsl(120, 100%, 40%);">+               ExtensionBits           extension_bits optional,</span><br><span style="color: hsl(120, 100%, 40%);">+              BIT1                    not_used ('0'B),</span><br><span style="color: hsl(120, 100%, 40%);">+              BIT1                            rel99_present,</span><br><span style="color: hsl(120, 100%, 40%);">+                UlAckNackGprsAdditionsRel99     rel99 optional</span><br><span>       } with {</span><br><span>             variant (cont_res_tlli) "PRESENCE(cont_res_tlli_present = '1'B)"</span><br><span>           variant (pkt_ta)        "PRESENCE(pkt_ta_present = '1'B)"</span><br><span>          variant (pwr_ctrl)      "PRESENCE(pwr_ctrl_present = '1'B)"</span><br><span style="color: hsl(120, 100%, 40%);">+         variant (extension_bits) "PRESENCE(extension_bits_present = '1'B)"</span><br><span style="color: hsl(120, 100%, 40%);">+          variant (rel99)         "PRESENCE(rel99_present = '1'B)"</span><br><span>           variant (cont_res_tlli) "BYTEORDER(first)"</span><br><span>         };</span><br><span>   type record UlAckNackEgprs {</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19192">change 19192</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19192"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-ttcn3-hacks </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I8586248f435b1a70042ea25f633b75542bbc14aa </div>
<div style="display:none"> Gerrit-Change-Number: 19192 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: daniel <dwillmann@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: lynxis lazus <lynxis@fe80.eu> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>