Michael A. Patton (map@gaak.LCS.MIT.EDU)
Fri, 12 Aug 88 13:18:21 EDT
Date: 12 Aug 88 00:09:38 GMT
From: firstname.lastname@example.org (Casey Leedom)
So just how complicated is this predicate that figures out what type of
packet has been received. It's got to be more complicated than simply
doing a case statement based on a type field.
If you already have a case statement for Ethernet types you presumably
have a default clause to discard types you don't want. You just add a
simple test here that if the code is less than the max length, treat
it as an IEEE802 packet. The feature of this technique is it doesn't
slow down the processing of any traffic you presently deal with and
can deal with IEEE802 nearly as fast as assuming that's all there is.
If you want to be IEEE802 biased, you could put the max length test on
the outside and do the ether-type dispatch in the "too long" clause.
Again normal 802 traffic isn't slowed by the ability to handle
Ethernet, and Ethernet traffic isn't much worse off.
If you have a reasonable compiler, the protocol you're biased for
executes an identical instruction stream as in the one protocol case
and the other is charged only a few (probably 2) extra instructions.
The only problem is you may get to do more processing of packets that
get thrown away.
Mike Patton, Network Manager
Laboratory for Computer Science
Massachusetts Institute of Technology
Disclaimer: The opinions expressed above are a figment of the phosphor
on your screen and do not represent the views of MIT, LCS, or MAP.
Your mileage may vary, void where prohibited by law. :-)
This archive was generated by hypermail 2.0b3 on Thu Mar 09 2000 - 14:43:12 GMT