On Fri, Apr 11, 2003 at 05:00:15PM -0400, Jeff Morriss wrote:
> Unless someone can think if a better way (or disagrees in principle),
> please consider for inclusion.
I can think of something that might be a better way (and might fix other
problems of this sort as well), but as I don't have it implemented, I've
checked you version in.
It's inspired by the "Info column strings for each protocol level" stuff
I mentioned in another message, but doesn't actually implement that.
Instead, we:
have, in the packet_info structure, a level value that indicates
how many layers of protocol deep we are - the code that calls a
dissector through a handle would increment it before the call
and decrement it after the call, so only places where
subdissectors aren't called through a handle would have to be
changed;
have, in the column_info structure, a level value that indicates
the maximum level seen in the packet;
have "col_clear()" clear the column only if the column_info
level value is less than the packet_info level value (i.e., if
we haven't yet done anything to the column at the current
protocol layer, so that it presumably contains stuff from the
previous protocol layer), and set the column_info level value to
the packet_info level value.
Then we'd have the ISUP dissector do a "col_clear()" of the Info column
- and possibly have the other SS7 dissectors do so as well, unless it's
intentional that they leave stuff around from the lower-level protocol
in the Info column.
(Paging Michael Tuexen - any opinion on this?)