Change in osmo-ttcn3-hacks[master]: RLCMAC_EncDEc: Fix decode of DlEgprsDataBlock without LI

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

pespin gerrit-no-reply at lists.osmocom.org
Thu Nov 12 20:10:51 UTC 2020


pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21123 )


Change subject: RLCMAC_EncDEc: Fix decode of DlEgprsDataBlock without LI
......................................................................

RLCMAC_EncDEc: Fix decode of DlEgprsDataBlock without LI

Change-Id: Iec7e1a2d876abfdc911a65113cc6c9e888257c61
---
M library/RLCMAC_EncDec.cc
1 file changed, 19 insertions(+), 7 deletions(-)



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

diff --git a/library/RLCMAC_EncDec.cc b/library/RLCMAC_EncDec.cc
index ea93de4..16291de 100644
--- a/library/RLCMAC_EncDec.cc
+++ b/library/RLCMAC_EncDec.cc
@@ -619,13 +619,25 @@
 	}
 
 	/* RLC blocks at end */
-	if (ret_val.blocks().is_bound()) {
-		for (int i = 0; i < ret_val.blocks().size_of(); i++) {
-			unsigned int length = ret_val.blocks()[i].hdr()().length__ind();
-			if (length > aligned_buffer.get_read_len())
-				length = aligned_buffer.get_read_len();
-			ret_val.blocks()[i].payload() = OCTETSTRING(length, aligned_buffer.get_read_data());
-			aligned_buffer.increase_pos(length);
+	if (ret_val.e() == true) {
+		EgprsLlcBlock lb;
+		unsigned int length = aligned_buffer.get_read_len();
+		/* LI not present: The Upper Layer PDU that starts with the current RLC data block either
+		 * fills the current RLC data block precisely or continues in the following in-sequence RLC
+		 * data block */
+		lb.payload() = OCTETSTRING(length, ttcn_buffer.get_read_data());
+		aligned_buffer.increase_pos(length);
+		ret_val.blocks()[0] = lb;
+	} else {
+		/* RLC blocks at end */
+		if (ret_val.blocks().is_bound()) {
+			for (int i = 0; i < ret_val.blocks().size_of(); i++) {
+				unsigned int length = ret_val.blocks()[i].hdr()().length__ind();
+				if (length > aligned_buffer.get_read_len())
+					length = aligned_buffer.get_read_len();
+				ret_val.blocks()[i].payload() = OCTETSTRING(length, aligned_buffer.get_read_data());
+				aligned_buffer.increase_pos(length);
+			}
 		}
 	}
 

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21123
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Iec7e1a2d876abfdc911a65113cc6c9e888257c61
Gerrit-Change-Number: 21123
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20201112/215652aa/attachment.htm>


More information about the gerrit-log mailing list