Path: utzoo!utgpu!water!watmath!clyde!att-cb!ucbvax!SEISMO.CSS.GOV!rick From: rick@SEISMO.CSS.GOV (Rick Adams) Newsgroups: comp.protocols.tcp-ip Subject: Re: SLIP working group? Message-ID: <8803302259.AA28640@beno.CSS.GOV> Date: 30 Mar 88 22:59:24 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 48 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 happy. It should be very easy to implement. I'd do it, but I have no need for multiple protocols. ---rick /* * 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 */