On Thursday, August 28, 2003, at 8:46 AM, Michael Brailsford wrote:


I am currently writing a packet dissector to analyze the networking
traffic that we are generating in our application.  We send the packets
on a closed network (without outside access) and we send them directly
in an ethernet packet.  I can't figure out what to specify as the
handoff point between the ethernet dissector and mine.  I see a lot of
"dissector_add("ethertype", ...)".  But that will handoff only based on
the type field in the ethernet spec.  The handoff should occur on every
single ethernet packet that is on the network.  How would I do that?

There isn't a mechanism to do that, because that's not standard use of Ethernet - we can't anticipate everything somebody might do, so people doing non-standard networking things might find that Ethereal doesn't provide a mechanism into which to plug in a dissector for the stuff they're doing.


However, there is one other place where that sort of non-standard use of Ethernet is supported - some piece of Cisco hardware for cable modem support can send DOCSIS packets over an Ethernet, encapsulated inside Ethernet framing, but with a DOCSIS packet rather than an Ethernet packet inside that framing, i.e. there is *not* an Ethernet header on the packets; they're just using the Ethernet as a bit pipe for sending frames of data, they're not using it as an Ethernet.

If that's what you're doing as well, we might want to provide a general mechanism for doing that. When you say "directly in an Ethernet packet", do you mean you're sending your packets as payload inside Ethernet packets with a 14-byte Ethernet header (in which case you could just choose an Ethernet type for that), or do you mean you're using the Ethernet as Cisco are, i.e. as a bit pipe for frames of data, with the frame *not* containing an Ethernet header?



Reply via email to