RLCMAC: Fix decoding of dl data block with no llc block header byte

The value was marked as unbound while it should be marked as omitted:

"""
dl_block := { data := { cs := CS_1 (0), mac_hdr := { mac_hdr := { payload_type := MAC_PT_RLC_DATA (0), rrbp := RRBP_Nplus13_mod_2715648 (0), rrbp_valid := false, usf := 7 }, hdr_ext := { pr := PWR_RED_0_to_3dB (0), spare := '0'B, tfi := 0, fbi := false, bsn := 0, e := true } }, blocks := { { hdr := <unbound>, payload := '0D0C8653110FFEF072972C5A790C0317299753B5'O } } } } }
"""

Change-Id: If00338729ee1b2c8a4e100495e7cfa0599a4cb8b
This commit is contained in:
Pau Espin 2021-02-04 18:05:09 +01:00 committed by pespin
parent 559f5dc6e1
commit ff7c5baaa2
1 changed files with 4 additions and 0 deletions

View File

@ -505,6 +505,7 @@ RlcmacDlDataBlock dec__RlcmacDlDataBlock(const OCTETSTRING& stream)
/* 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.hdr() = OMIT_VALUE;
lb.payload() = OCTETSTRING(length, ttcn_buffer.get_read_data());
ttcn_buffer.increase_pos(length);
ret_val.blocks()[0] = lb;
@ -663,6 +664,7 @@ RlcmacDlEgprsDataBlock dec__RlcmacDlEgprsDataBlock(const OCTETSTRING& stream)
/* 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.hdr() = OMIT_VALUE;
lb.payload() = OCTETSTRING(length, ttcn_buffer.get_read_data());
aligned_buffer.increase_pos(length);
ret_val.blocks()[0] = lb;
@ -792,6 +794,7 @@ RlcmacUlDataBlock dec__RlcmacUlDataBlock(const OCTETSTRING& stream)
/* 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.hdr() = OMIT_VALUE;
lb.payload() = OCTETSTRING(length, ttcn_buffer.get_read_data());
ttcn_buffer.increase_pos(length);
ret_val.blocks()[0] = lb;
@ -945,6 +948,7 @@ RlcmacUlEgprsDataBlock dec__RlcmacUlEgprsDataBlock(const OCTETSTRING& stream)
/* 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.hdr() = OMIT_VALUE;
lb.payload() = OCTETSTRING(length, aligned_buffer.get_read_data());
aligned_buffer.increase_pos(length);
ret_val.blocks()[0] = lb;