On Tue, Aug 01, 2000 at 10:40:17AM +0200, Norbert v. Bolhuis wrote:
> It looks like the OSI CLNP packet dissector (packet-clnp.[ch]) contains
> code to decode the OSI Transport protocol.
>
> Is this true ?
Well, there's "dissect_ositp_internal()" and "dissect_ositp()", which
handle both the OSI connection-oriented and OSI connectionless transport
protocol.
> Anybody know how to activiate this ?
Arrange that one of those functions be called from the dissector for the
protocol above it, for example as the CLNP dissector "dissect_clnp()"
does if
1) the NLPID for the CLNP protocol is for the inactive subset of
CLNP;
2) the last octet of the destination address is 0x21, which, I
think, is what DECNet-OSI uses;
and as the X.25 dissector arranges to do for connections with an X.264
protocol identifier of 0x01.
> I would like ethereal to decode the OSI transport protocol. Problem, of
> course, is that there is no way to know whether CLNP carries Transport
> PDUs. This depends on the local network selector of the OSI End system.
If your end system uses the DECNet-OSI convention, it should Just Work.
If not, you'd have to add to "packet-clnp.c" code to create a
preferences item to specify what selector value or values should specify
COTP and/or CLTP, and change the CLNP dissector to use that item.
See other protocols that call the
"prefs_register_{uint,bool,enum,string}_preference()" routines for an
example of how to add preferences item.
Such a preferences item would let you specify from:
the ".ethereal" file or the global "ethereal.conf" file;
the command line;
the GUI, in Ethereal;
how the selector value is to be interpreted.