<p>pespin <strong>uploaded patch set #2</strong> to this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-pcu/+/21122">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">decoding: Fix implicit ACK due to BeginOfWindow=1 on rx EGPRS PKT DL ACK/NACK<br><br>According to sepcs, if BeginOfWindow=1, then SSN=V(Q)+1 mod 2048.<br>As a result, all unacked BSN before SSN can be marked as ACKED since<br>they are implicitly ACKED (because the window advanced).<br>The calculation, however was wrong. In specs V(A) points to last acked<br>BSN, but in our implementation, V(A) actually refers to the first<br>unacked BSN (see how Window object is initialized to v_s=0 and v_a=0).<br>Hence, spec "V(A) = v_a - 1" in our implementation.<br>Therefore, the calculation on the amount of blocks to ACK would be:<br>V(Q) - (v_a - 1) = (SSN - 1) - (v_a - 1)<br>Which can be simplified to:<br>SSN - v_a<br><br>Example:<br>PCU sends DL block for BSN=0..20 included, with BSN=20 containing RRBP<br>to ACK them.<br>EGPRS MS would send EGPRS PKT DL ACK/NACK with BEginofWindow=1 and<br>SSN=21 to ACK all of them.<br>Before this patch, PCU would only mark BSN0..19 as ACKED and BSN20 as<br>UNACKED, retransmitting BSN20.<br><br>Reference: 3GPP TS 44.060 12.3.1 EGPRS Ack/Nack Description<br>Change-Id: Ic71326fc956491bb7e5e50896a6ba8f5354c20ec<br>---<br>M src/decoding.cpp<br>M tests/tbf/TbfTest.err<br>2 files changed, 3 insertions(+), 3 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/22/21122/2</pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-pcu/+/21122">change 21122</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-pcu/+/21122"/><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-Change-Id: Ic71326fc956491bb7e5e50896a6ba8f5354c20ec </div>
<div style="display:none"> Gerrit-Change-Number: 21122 </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-MessageType: newpatchset </div>