My module is a postdissector for tcp packets that needs to be called sometime after the tcp dissector has done its bit. My proto_register_foo() and proto_reg_handoff_foo() functions are as given below: void
} void
} The dissector is being called, but instead of being called at the end, it's being called before the tcp dissector. Worse, the tcp dissector is not being called at all! What mistake have I made here? asked 05 Aug '12, 23:54 SidR |
One Answer:
You've registered the dissector as both a postdissector (register_postdissector()) and as a regular dissector taking all traffic on ip.proto==IP_PROTO_TCP. The latter means that your dissector is pre-empting the TCP dissector. answered 06 Aug '12, 05:59 JeffMorriss ♦ |
Thank you Jeff. That seems to be the case here.