Rick Adams (rick@seismo.CSS.GOV)
Wed, 30 Mar 88 17:59:24 EST
If you are going to add multiple protocol support to SLIP, please do it
in the following manner.
The first byte following a FRAME_END is the protocol type byte.
If the byte is 0x40 - 0x4F the packet is considered to be an IP packet
and the protocol type byte IS INCLUDED as part of the packet.
(Astute observers will realize that this is an IP Version Number of 4
combined with all of the possible IP header lengths.)
Otherwise, the protocol type byte selects a protocol family from the
following table (stolen from socket.h on 4.3BSD) and the protocol type
byte IS NOT INCLUDED as part of the packet.
This will allow "old" SLIP implementations to talk to your new system
without modification. It also provides all of the functionality you
might need. If you feel that you MUST have error detection, error
correction, header compression, or even encryption, please define a new
address family number and add it to the table. That way those who
feel it is not necessary will not be burdend with it and everyone is
It should be very easy to implement. I'd do it, but I have no need for
* Address families.
#define AF_UNSPEC 0 /* unspecified */
#define AF_UNIX 1 /* local to host (pipes, portals) */
#define AF_INET 2 /* internetwork: UDP, TCP, etc. */
#define AF_IMPLINK 3 /* arpanet imp addresses */
#define AF_PUP 4 /* pup protocols: e.g. BSP */
#define AF_CHAOS 5 /* mit CHAOS protocols */
#define AF_NS 6 /* XEROX NS protocols */
#define AF_NBS 7 /* nbs protocols */
#define AF_ECMA 8 /* european computer manufacturers */
#define AF_DATAKIT 9 /* datakit protocols */
#define AF_CCITT 10 /* CCITT protocols, X.25 etc */
#define AF_SNA 11 /* IBM SNA */
#define AF_DECnet 12 /* DECnet */
#define AF_DLI 13 /* Direct data link interface */
#define AF_LAT 14 /* LAT */
#define AF_HYLINK 15 /* NSC Hyperchannel */
#define AF_APPLETALK 16 /* Apple Talk */
This archive was generated by hypermail 2.0b3 on Thu Mar 09 2000 - 14:41:32 GMT