Filonenko Alexander-AAF013 wrote:
All,
Our users test/troubleshoot a proprietary system. The system gets
updated periodically and part of the update are protocol changes.
Since several versions of the system coexist we maintain multiple
plugin versions of same protocol. Changes from version to version are
usually not significant. It is desirable that dissector's protocol id
does not change from version to version to allow finding dissector by
name, this way other dissectors will not be affected if they use
find_dissector. Since users often share equipment to monitor different
releases of the system, different plugin sets matching version of the
system must be be installed on the same computer at the same time. I
can see several options of how this can be accomplished.
If you design a protocol and do changes to it, it's a good idea to
include some versioning into the procols data. This will prevent
yourself from searching such protocol versioning conflicts. Believe me,
searching for a networking bug and recognizing it's simply because of
two devices with different protocol versions, really sucks. I had that
problem before :-(
If such infos are in the protocols data, you can implement something in
Ethereal to try to detect the different version from the received data,
not requiring such plugin hacks.
I do understand, that you might not be able to change the protocol
implementation yourself, so my tipps might be pretty useless to you case.
Regards, ULFL