2000-04-16 21:37:07 +00:00
|
|
|
/* ppptypes.h
|
|
|
|
* Defines PPP packet types.
|
|
|
|
*
|
2001-01-10 09:34:08 +00:00
|
|
|
* $Id: ppptypes.h,v 1.4 2001/01/10 09:34:08 guy Exp $
|
2000-04-16 21:37:07 +00:00
|
|
|
*
|
|
|
|
* Ethereal - Network traffic analyzer
|
|
|
|
* By Gerald Combs <gerald@zing.org>
|
|
|
|
* Copyright 1998 Gerald Combs
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU General Public License
|
|
|
|
* as published by the Free Software Foundation; either version 2
|
|
|
|
* of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
* along with this program; if not, write to the Free Software
|
|
|
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __PPPTYPES_H__
|
|
|
|
#define __PPPTYPES_H__
|
|
|
|
|
|
|
|
/* Protocol types, from Linux "ppp_defs.h" and
|
|
|
|
|
|
|
|
http://www.isi.edu/in-notes/iana/assignments/ppp-numbers
|
|
|
|
|
|
|
|
*/
|
|
|
|
#define PPP_IP 0x21 /* Internet Protocol */
|
|
|
|
#define PPP_AT 0x29 /* AppleTalk Protocol */
|
|
|
|
#define PPP_IPX 0x2b /* IPX protocol */
|
|
|
|
#define PPP_VJC_COMP 0x2d /* VJ compressed TCP */
|
|
|
|
#define PPP_VJC_UNCOMP 0x2f /* VJ uncompressed TCP */
|
|
|
|
#define PPP_VINES 0x35 /* Banyan Vines */
|
|
|
|
#define PPP_MP 0x3d /* Multilink PPP */
|
|
|
|
#define PPP_IPV6 0x57 /* Internet Protocol Version 6 */
|
|
|
|
#define PPP_COMP 0xfd /* compressed packet */
|
2001-01-10 09:07:35 +00:00
|
|
|
#define PPP_MPLS_UNI 0x281 /* MPLS Unicast */
|
|
|
|
#define PPP_MPLS_MULTI 0x281 /* MPLS Multicast */
|
2000-04-16 21:37:07 +00:00
|
|
|
#define PPP_IPCP 0x8021 /* IP Control Protocol */
|
|
|
|
#define PPP_ATCP 0x8029 /* AppleTalk Control Protocol */
|
|
|
|
#define PPP_IPXCP 0x802b /* IPX Control Protocol */
|
|
|
|
#define PPP_CCP 0x80fd /* Compression Control Protocol */
|
|
|
|
#define PPP_LCP 0xc021 /* Link Control Protocol */
|
|
|
|
#define PPP_PAP 0xc023 /* Password Authentication Protocol */
|
|
|
|
#define PPP_LQR 0xc025 /* Link Quality Report protocol */
|
|
|
|
#define PPP_CHAP 0xc223 /* Cryptographic Handshake Auth. Protocol */
|
|
|
|
#define PPP_CBCP 0xc029 /* Callback Control Protocol */
|
|
|
|
|
2001-01-10 09:07:35 +00:00
|
|
|
/*
|
|
|
|
* 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.
|
|
|
|
*/
|
2000-12-14 08:20:31 +00:00
|
|
|
#define CISCO_HDLC_ADDR_CTRL 0x0F00 /* Internet Protocol */
|
|
|
|
|
2001-01-10 09:07:35 +00:00
|
|
|
/*
|
|
|
|
* Protocol types for the Cisco HDLC format.
|
|
|
|
*
|
|
|
|
* As per the above, according to RFC 1547, these are "standard 16 bit
|
2001-01-10 09:34:08 +00:00
|
|
|
* Ethernet protocol type code[s]", but 0x8035 is Reverse ARP, and
|
|
|
|
* that is (at least according to the Linux ISDN code) not the
|
|
|
|
* same as Cisco SLARP.
|
|
|
|
*
|
2001-01-10 09:07:35 +00:00
|
|
|
* 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.
|
|
|
|
*
|
2001-01-10 09:34:08 +00:00
|
|
|
* Perhaps we should set up a protocol table for those protocols
|
|
|
|
* that differ between Ethernet and Cisco HDLC, and have the PPP
|
|
|
|
* code first try that table and, if it finds nothing in that
|
|
|
|
* table, call "ethertype()". (Unfortunately, that means that -
|
|
|
|
* assuming we had a Cisco SLARP dissector - said dissector were
|
|
|
|
* disabled, SLARP packets would be dissected as Reverse ARP
|
|
|
|
* packets, not as data.
|
2001-01-10 09:07:35 +00:00
|
|
|
*/
|
|
|
|
#define CISCO_SLARP 0x8035 /* Cisco SLARP protocol */
|
2000-12-14 08:20:31 +00:00
|
|
|
|
2000-04-16 21:37:07 +00:00
|
|
|
#endif /* ppptypes.h */
|