I have some issue with the dissector going over my packets more than once.
There's a legitimate reason to go over *some* packets more than once - if I
have more than a single PDU in a packet (or a reassembled one), that's
fine. But it just seems that it goes over all packets. I'm trying to fight
it off with !pinfo->fd->visited, but I'm quite sure I'm doing
something wrong. My code is quite standard:
static int
dissect_scylla(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void*
data)
{
    tcp_dissect_pdus(tvb, pinfo, tree, scylla_desegment,
SCYLLA_NEGOTIATION_SIZE,
        get_scylla_pdu_len, dissect_scylla_pdu, data);
    return tvb_reported_length(tvb);
}

The get_scylla_pdu_len isn't, regretfully - it does find_conversation() and
if it exists uses it (to get the state of protocol features, such as
streaming, compression, etc.)

TIA,
Y.
_______________________________________________
Wireshark-dev mailing list -- wireshark-dev@wireshark.org
To unsubscribe send an email to wireshark-dev-le...@wireshark.org

Reply via email to