I am writing a LUA dissector for an application protocol. The protocol splits data over multiple TCP segments. To reassemble the segments I set pinfo.desegment_len to length of the complete data minus current buffer length. Usually this works very well.
However on cases where TCP segments are retransmitted (DUP Acks etc.), the TCP data segments are not reassembled. At least my dissector never receives the reassembled tvbuf object.
Is anyone aware of difficulties in TCP reassembly with out-of-order packets? (Retransmissions, DUP ACks etc?)
asked 11 Feb '17, 15:43