[email protected] wrote: > Hi, > > I am developing a dissector for MPICH over TCP and trying to use > tcp_dissect_pdus. But unfortunately I am getting a blank screen. My code > looks like this: > > void > dissect_mpich_tcp_nonepm (tvbuff_t * tvb, packet_info * pinfo, proto_tree > * tree) > { > tcp_dissect_pdus (tvb, pinfo, tree, mpich_desegment, HEADER_LENGTH, > get_mpich_pdu_len, dissect_mpich_tcp_nonepm_pdu); > } > > guint > get_mpich_pdu_len (tvbuff_t * tvb, int offset) > { > > guint32 messageSize = 0; > guint32 messagetype = 0; > > messagetype = tvb_get_ntohs(tvb, offset); > > if (messagetype == MPIDI_CH3_PKT_EAGER_SEND) > messageSize = tvb_get_ntohs(tvb,offset + 12); > > > return messageSize; > > } > > > I noticed my code enter get_mpich_pdu_len but never goes beyond > messagetype = tvb_get_ntohs(tvb, offset); line. > > I am not sure what I am doing wrong. > > Any help is fully appreciated. > > > > The function prototype for get_mpich_pdu_len is wrong, it should be as defined in packet-tcp.h
guint get_mpich_pdu_len (packet_info *pInfo, tvbuff_t *tvb, int offset) What is HEADER_LENGTH set to? It should be the minimum size of your header which appears to be at least 13 as you attempt to read from offset + 12. -- Regards, Graham Bloice
___________________________________________________________________________ Sent via: Wireshark-dev mailing list <[email protected]> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:[email protected]?subject=unsubscribe
