<p>Max <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/12956">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Use Timing Advance Index in UL assignments<br><br>Write TAI (if available) when generating Rest Octets for UL<br>Assignment. This should not affect actual PCU behavior because TAI is<br>not yet supported by upper layers but we have to adjust corresponding<br>tests anyway.<br><br>That's updated version of reverted commit.<br><br>Change-Id: I69407793bdb863be5fc42adadf75842d22f27335<br>Related: OS#3014<br>---<br>M src/encoding.cpp<br>M tests/types/TypesTest.cpp<br>M tests/types/TypesTest.ok<br>3 files changed, 12 insertions(+), 12 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/encoding.cpp b/src/encoding.cpp</span><br><span>index 55838fb..b460d41 100644</span><br><span>--- a/src/encoding.cpp</span><br><span>+++ b/src/encoding.cpp</span><br><span>@@ -263,7 +263,7 @@</span><br><span> }</span><br><span> </span><br><span> static int write_ia_rest_uplink_mba(const gprs_rlcmac_ul_tbf *tbf, bitvec *dest, uint8_t usf,</span><br><span style="color: hsl(0, 100%, 40%);">-                              uint8_t alpha, uint8_t gamma)</span><br><span style="color: hsl(120, 100%, 40%);">+                                 uint8_t alpha, uint8_t gamma, int8_t ta_idx)</span><br><span> {</span><br><span>        int rc = 0;</span><br><span> </span><br><span>@@ -282,8 +282,8 @@</span><br><span>        rc = write_alpha_gamma(dest, alpha, gamma);</span><br><span>  CHECK(rc);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  /* No TIMING_ADVANCE_INDEX */</span><br><span style="color: hsl(0, 100%, 40%);">-   SET_0(dest);</span><br><span style="color: hsl(120, 100%, 40%);">+  rc = write_ta_index(dest, ta_idx);</span><br><span style="color: hsl(120, 100%, 40%);">+    CHECK(rc);</span><br><span> </span><br><span>       /* No TBF_STARTING_TIME */</span><br><span>   SET_0(dest);</span><br><span>@@ -311,7 +311,7 @@</span><br><span> }</span><br><span> </span><br><span> static int write_ia_rest_egprs_uplink_sba(const gprs_rlcmac_ul_tbf *tbf, bitvec * dest, uint8_t usf,</span><br><span style="color: hsl(0, 100%, 40%);">-                                       uint8_t alpha, uint8_t gamma)</span><br><span style="color: hsl(120, 100%, 40%);">+                                         uint8_t alpha, uint8_t gamma, int8_t ta_idx)</span><br><span> {</span><br><span>  int rc = 0;</span><br><span> </span><br><span>@@ -339,8 +339,8 @@</span><br><span>        rc = write_alpha_gamma(dest, alpha, gamma);</span><br><span>  CHECK(rc);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  /* No TIMING_ADVANCE_INDEX */</span><br><span style="color: hsl(0, 100%, 40%);">-   SET_0(dest);</span><br><span style="color: hsl(120, 100%, 40%);">+  rc = write_ta_index(dest, ta_idx);</span><br><span style="color: hsl(120, 100%, 40%);">+    CHECK(rc);</span><br><span> </span><br><span>       /* No TBF_STARTING_TIME */</span><br><span>   SET_0(dest);</span><br><span>@@ -514,7 +514,7 @@</span><br><span> </span><br><span>               if (as_ul_tbf(tbf) != NULL) {</span><br><span>                        dest->cur_bit = wp;</span><br><span style="color: hsl(0, 100%, 40%);">-                  rc = write_ia_rest_egprs_uplink_sba(as_ul_tbf(tbf), dest, usf, alpha, gamma);</span><br><span style="color: hsl(120, 100%, 40%);">+                 rc = write_ia_rest_egprs_uplink_sba(as_ul_tbf(tbf), dest, usf, alpha, gamma, ta_idx);</span><br><span>                } else {</span><br><span>                     dest->cur_bit = wp;</span><br><span>                       rc = write_ia_rest_egprs_uplink_mba(dest, fn, alpha, gamma);</span><br><span>@@ -527,7 +527,7 @@</span><br><span> </span><br><span>               if (as_ul_tbf(tbf) != NULL) {</span><br><span>                        dest->cur_bit = wp;</span><br><span style="color: hsl(0, 100%, 40%);">-                  rc = write_ia_rest_uplink_mba(as_ul_tbf(tbf), dest, usf, alpha, gamma);</span><br><span style="color: hsl(120, 100%, 40%);">+                       rc = write_ia_rest_uplink_mba(as_ul_tbf(tbf), dest, usf, alpha, gamma, ta_idx);</span><br><span>              } else {</span><br><span>                     dest->cur_bit = wp;</span><br><span>                       rc = write_ia_rest_uplink_sba(dest, fn, alpha, gamma);</span><br><span>diff --git a/tests/types/TypesTest.cpp b/tests/types/TypesTest.cpp</span><br><span>index 822bd51..589f156 100644</span><br><span>--- a/tests/types/TypesTest.cpp</span><br><span>+++ b/tests/types/TypesTest.cpp</span><br><span>@@ -497,7 +497,7 @@</span><br><span>                                 0x23, /* TA */</span><br><span>                               0x00, /* 0-length §10.5.2.21 Mobile Allocation */</span><br><span>                           /* ETSI TS 44.018 §10.5.2.16 IA Rest Octets */</span><br><span style="color: hsl(0, 100%, 40%);">-                                 0xc8, 0x02, 0x1b, 0xa0, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, };</span><br><span style="color: hsl(120, 100%, 40%);">+                            0xc8, 0x02, 0x1b, 0xa2, 0x0b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, };</span><br><span> </span><br><span>      check_imm_ass(tbf, false, GSM_L1_BURST_TYPE_ACCESS_0, res, sizeof(res), "ia_rest_uplink(MBA)");</span><br><span> }</span><br><span>@@ -537,7 +537,7 @@</span><br><span>                                  0x23, /* TA */</span><br><span>                               0x00, /* 0-length §10.5.2.21 Mobile Allocation */</span><br><span>                           /* ETSI TS 44.018 §10.5.2.16 IA Rest Octets */</span><br><span style="color: hsl(0, 100%, 40%);">-                                 0x46, 0xa0, 0x08, 0x00, 0x17, 0x40, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, };</span><br><span style="color: hsl(120, 100%, 40%);">+                            0x46, 0xa0, 0x08, 0x00, 0x17, 0x44, 0x0b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, };</span><br><span> </span><br><span>      check_imm_ass(tbf, false, GSM_L1_BURST_TYPE_ACCESS_1, res, sizeof(res), "ia_rest_egprs_uplink(SBA)");</span><br><span> }</span><br><span>diff --git a/tests/types/TypesTest.ok b/tests/types/TypesTest.ok</span><br><span>index c6974d5..a5c58b8 100644</span><br><span>--- a/tests/types/TypesTest.ok</span><br><span>+++ b/tests/types/TypesTest.ok</span><br><span>@@ -9,13 +9,13 @@</span><br><span> [11] DL Immediate Assignment <ia_rest_downlink>:</span><br><span>      06 3f 30 0d 23 6d 7f 03 18 23 00 d0 00 00 00 08 17 47 08 0b 5b 2b 2b </span><br><span> [11] UL Immediate Assignment <ia_rest_uplink(MBA)>:</span><br><span style="color: hsl(0, 100%, 40%);">-      06 3f 10 0d 23 6d 0d 03 18 23 00 c8 02 1b a0 2b 2b 2b 2b 2b 2b 2b 2b </span><br><span style="color: hsl(120, 100%, 40%);">+ 06 3f 10 0d 23 6d 0d 03 18 23 00 c8 02 1b a2 0b 2b 2b 2b 2b 2b 2b 2b </span><br><span> [11] UL Immediate Assignment <ia_rest_uplink(SBA)>:</span><br><span>   06 3f 10 0d 23 6d 0d 03 18 23 00 c5 d0 80 b5 ab 2b 2b 2b 2b 2b 2b 2b </span><br><span> [11] UL Immediate Assignment <ia_rest_egprs_uplink(MBA)>:</span><br><span>     06 3f 10 0d 23 6d 7f 03 18 23 00 46 97 40 0b 58 2b 2b 2b 2b 2b 2b 2b </span><br><span> [11] UL Immediate Assignment <ia_rest_egprs_uplink(SBA)>:</span><br><span style="color: hsl(0, 100%, 40%);">-        06 3f 10 0d 23 6d 7f 03 18 23 00 46 a0 08 00 17 40 2b 2b 2b 2b 2b 2b </span><br><span style="color: hsl(120, 100%, 40%);">+ 06 3f 10 0d 23 6d 7f 03 18 23 00 46 a0 08 00 17 44 0b 2b 2b 2b 2b 2b </span><br><span> assignment reject: 06 3a 10 7f 06 36 14 7f 06 36 14 7f 06 36 14 7f 06 36 14 c0 2b 2b </span><br><span> assignment reject: 06 3a 10 70 06 36 14 70 06 36 14 70 06 36 14 70 06 36 14 0b 2b 2b </span><br><span> Testing LBS utility...</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/12956">change 12956</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/12956"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-pcu </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: I69407793bdb863be5fc42adadf75842d22f27335 </div>
<div style="display:none"> Gerrit-Change-Number: 12956 </div>
<div style="display:none"> Gerrit-PatchSet: 14 </div>
<div style="display:none"> Gerrit-Owner: Max <msuraev@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder (1000002) </div>
<div style="display:none"> Gerrit-Reviewer: Max <msuraev@sysmocom.de> </div>