TCP reassembly - How do you determine the PDU length when there is no length field?
Assuming one message that gets split into multiple TCP packets of length 10 bytes. Foo format contains the type of message but there is no length field. Foo contains a text field which could be variable. The end of the message is marked. { return MAX_MESSAGE_LEN }
dissect_foo(...) { tcp_dissect_pdus(...get_foo_pdu_length...) }
Please provide an example where the user needs to determine the length of the PDU and there is no length field. All your examples have a length field in the protocol.
As all our examples have a length field, ergo we have no examples without a length field.
How does the application receiving the traffic determine the length of the PDU, I don't understand your comment
1 FOO message contains 125 bytes.
TCP splits it into 12 segments.
The text field can be variable. Let's assume 125 bytes for now. Max is 1700.
I am having trouble with the PDU size. What should get_foo_message_len return?
Off topic, but how does the PDU get fragmented so badly across multiple, very small, TCP segments?