> Here is the design I started working on : > The plugin is a shared object file, which must provide : > - string constants : > - name : the plugin name > - desc : a description > - protocol : the name of the underlying protocol > - filter_string : string using dfilter syntax. Describes the packets > which the plugin's dissector should be called ...presumably requiring, that the protocol tree *always* be constructed, even when only building the summary display, so that the display filter can be evaluated. That could make the process of reading in a capture file and building the summary list more expensive. (It *might* be possible to evaluate the expression as the dissection is done, doing all the dissection work for a particular field only if that field actually appears in a plugin's filter expression. Doing that might also let us speed up display filtering, display searching, and display coloring - the only time you need *all* the fields is when you're building the detail view for display or printing.) In addition, one might have a dissector where there's no dfilter syntax to specify that - instead, you might have to look at the payload of the underlying protocol to see whether it's a packet of that type or not (e.g., ONC RPC, GIOP, and the Yahoo Messenger protocols).
Powered by MHonArc 2.6.10