fix size calculation when receiving not-start-aligned RLC AM segments

master
Andre Puschmann 7 years ago
parent 8cfd26ed1e
commit 518199ba58

@ -1350,7 +1350,13 @@ bool rlc_am::add_segment_and_check(rlc_amd_rx_pdu_segments_t *pdu, rlc_amd_rx_pd
count += it->header.li[i]; count += it->header.li[i];
} }
} }
// accumulate segment sizes until end aligned PDU is received
if (rlc_am_not_start_aligned(it->header.fi)) {
carryover += it->buf->N_bytes - count;
} else {
carryover = it->buf->N_bytes - count; carryover = it->buf->N_bytes - count;
}
tmpit = it; tmpit = it;
if(rlc_am_end_aligned(it->header.fi) && ++tmpit != pdu->segments.end()) { if(rlc_am_end_aligned(it->header.fi) && ++tmpit != pdu->segments.end()) {
header.li[header.N_li++] = carryover; header.li[header.N_li++] = carryover;

Loading…
Cancel
Save