I think something like the following should work for you:
static dissector_handle_t ip_handle;
static gboolean dissect_afdx(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
...
if ( this_is_really_ip )
{
next_tvb = tvb_new_subset(tvb, offset_to_ip, -1, -1);
call_dissector(ip_handle, next_tvb, pinfo, afdx_tree);
}
...
}
void proto_reg_handoff_afdx(void)
{
...
ip_handle = find_dissector("ip");
}
- Chris
From: valentin.ecker@xxxxxxxxxx
Sent: Mon 3/31/2008 9:08 AM
To: wireshark-dev@xxxxxxxxxxxxx
Subject: [Wireshark-dev] Fw: modifying the eth-dissector