> Well, registered sub-dissectors are something we need, so I say > we commit Guy's change to your initial patch (to bring your initial patch up > to date with the CVS repository), and then commit your packet-tcp.c > modifications. Checked in. > There's more work to be done to handle the different ways > dissectors are chained together, In particular: Right now, the hash tables are attached to the protocol field in the register routines for the TCP and UDP protocols, which means that the register routines for protocols that run atop TCP and UDP can't use this unless their register routines happen to be called after those for TCP and/or UDP; we may want to have the registration with the parent protocol done by separate routines, with all the initial registration routines called first, and all the register-with-parent-protocol routines called after that (which would also let us get rid of the hack wherein we call "init_dissect_rpc()" before calling "proto_init()"). Several other protocols need to attach hash tables to fields. There's no single global field for Ethernet types so we can't even attach a hash table to such a field to allow protocols to register themselves with a particular Ethertype; we'd probably want to add that as a hidden field, which would be put into the tree by "ethertype()" along with the non-hidden ethertype field for the protocol whose dissector is calling "ethertype()".
Powered by MHonArc 2.6.10