diff options
author | guy <guy@f5534014-38df-0310-8fa8-9805f1628bb7> | 2001-01-10 09:07:35 +0000 |
---|---|---|
committer | guy <guy@f5534014-38df-0310-8fa8-9805f1628bb7> | 2001-01-10 09:07:35 +0000 |
commit | d0a607184b59a26dd1a2ff890e12ad085302b51e (patch) | |
tree | 8ada65a0f30fde1bc3c7eb46db802a42af046f93 /ppptypes.h | |
parent | d43e76d17b872f72d0bc10943940b94da1ae221a (diff) |
Make the stuff to handle SNAP frames (OUI, PID, payload) a routine of
its own; it's used not only by LLC, but by Frame Relay with RFC 2427 and
ATM with RFC 2684.
Support for RFC 2427-encapsulation Frame Relay packets, from Paul
Ionescu.
Get rid of the CISCO_IP PPP protocol type - Cisco HDLC uses, in most
cases, Ethernet packet types, so use ETHERTYPE_IP instead (they're both
0x0800).
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2854 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'ppptypes.h')
-rw-r--r-- | ppptypes.h | 40 |
1 files changed, 32 insertions, 8 deletions
diff --git a/ppptypes.h b/ppptypes.h index 69aeca3299..bf4ea5fd9b 100644 --- a/ppptypes.h +++ b/ppptypes.h @@ -1,7 +1,7 @@ /* ppptypes.h * Defines PPP packet types. * - * $Id: ppptypes.h,v 1.2 2000/12/14 08:20:30 guy Exp $ + * $Id: ppptypes.h,v 1.3 2001/01/10 09:07:35 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@zing.org> @@ -40,8 +40,8 @@ #define PPP_MP 0x3d /* Multilink PPP */ #define PPP_IPV6 0x57 /* Internet Protocol Version 6 */ #define PPP_COMP 0xfd /* compressed packet */ -#define PPP_MPLS_UNI 0x281 /* MPLS Unicast */ -#define PPP_MPLS_MULTI 0x281 /* MPLS Multicast */ +#define PPP_MPLS_UNI 0x281 /* MPLS Unicast */ +#define PPP_MPLS_MULTI 0x281 /* MPLS Multicast */ #define PPP_IPCP 0x8021 /* IP Control Protocol */ #define PPP_ATCP 0x8029 /* AppleTalk Control Protocol */ #define PPP_IPXCP 0x802b /* IPX Control Protocol */ @@ -52,12 +52,36 @@ #define PPP_CHAP 0xc223 /* Cryptographic Handshake Auth. Protocol */ #define PPP_CBCP 0xc029 /* Callback Control Protocol */ -/* Protocol types for the CISCO HDLC Format */ -#define CISCO_IP 0x0800 /* Internet Protocol */ -#define CISCO_SLARP 0x8035 /* CISCO SLARP protocol */ - -/* Address and control field for CISCO HDLC */ +/* + * Address and control field for Cisco HDLC. + * RFC 1547, "Requirements for an Internet Standard Point-to-Point Protocol", + * section 4.3.1 "Cisco Systems point-to-point protocols", says + * + * The Cisco Systems gateway supports both asynchronous links using SLIP + * and synchronous links using either simple HDLC framing, X.25 LAPB or + * full X.25. The HDLC framing procedure includes a four byte header. + * The first octet (address) is either 0x0F (unicast intent) or 0x8F + * (multicast intent). The second octet (control byte) is left zero and + * is not checked on reception. The third and fourth octets contain a + * standard 16 bit Ethernet protocol type code. + * + * This is the first two octets for unicast intent frames. + */ #define CISCO_HDLC_ADDR_CTRL 0x0F00 /* Internet Protocol */ +/* + * Protocol types for the Cisco HDLC format. + * + * As per the above, according to RFC 1547, these are "standard 16 bit + * Ethernet protocol type code[s]", but 0x8035 is Reverse ARP, so, unless + * Cisco SLARP looks just like Reverse ARP, that's not quite true. + * In addition, 0x2000 is apparently the Cisco Discovery Protocol, but + * on Ethernet those are encapsulated inside SNAP with an OUI of + * OUI_CISCO, not OUI_ENCAP_ETHER. + * + * If it *is* true, that'd be lovely, as we could just use + * "ethertype()" to handle Cisco HDLC. + */ +#define CISCO_SLARP 0x8035 /* Cisco SLARP protocol */ #endif /* ppptypes.h */ |