LAPDm implementation truncates L3 messages at 200 bytes
BTS_Tests_LAPDm.TC_segm_concat, I discovered that sending segmented LAPDm messages with a total length exceeding 200 bytes will be truncated. Interestingly, the incoming I-frames are acknowledged to the sender, but the recipient gets a truncated message.
The log output looks like this:
DLLAPD <0011> lapd_core.c:1503 I received in state LAPD_STATE_MF_EST on SAPI(0) (dl=0x7fcb04210da8) DLLAPD <0011> lapd_core.c:1591 incrementing V(R) to 4 (dl=0x7fcb04210da8) DLLAPD <0011> lapd_core.c:1618 Received frame overflow! (dl=0x7fcb04210da8) DLLAPD <0011> lapd_core.c:1633 message in multiple I frames (next message) (dl=0x7fcb04210da8) DLLAPD <0011> lapd_core.c:1837 lapd_send_i() called from line 1661 (dl=0x7fcb04210da8) DLLAPD <0011> lapd_core.c:1671 we are not busy and have no pending data, send RR (dl=0x7fcb04210da8)
Attached pcap file shows the issue.