1/* @(#) $Header: /tcpdump/master/tcpdump/ppp.h,v 1.16 2004-10-20 16:14:16 hannes Exp $ (LBL) */
2/*
3 * Point to Point Protocol (PPP) RFC1331
4 *
5 * Copyright 1989 by Carnegie Mellon.
6 *
7 * Permission to use, copy, modify, and distribute this program for any
8 * purpose and without fee is hereby granted, provided that this copyright
9 * and permission notice appear on all copies and supporting documentation,
10 * the name of Carnegie Mellon not be used in advertising or publicity
11 * pertaining to distribution of the program without specific prior
12 * permission, and notice be given in supporting documentation that copying
13 * and distribution is by permission of Carnegie Mellon and Stanford
14 * University.  Carnegie Mellon makes no representations about the
15 * suitability of this software for any purpose.  It is provided "as is"
16 * without express or implied warranty.
17 */
18#define PPP_HDRLEN	4	/* length of PPP header */
19
20#define PPP_ADDRESS	0xff	/* The address byte value */
21#define PPP_CONTROL	0x03	/* The control byte value */
22
23#define PPP_WITHDIRECTION_IN  0x00 /* non-standard for DLT_PPP_WITHDIRECTION */
24#define PPP_WITHDIRECTION_OUT 0x01 /* non-standard for DLT_PPP_WITHDIRECTION */
25
26/* Protocol numbers */
27#define PPP_IP		0x0021	/* Raw IP */
28#define PPP_OSI		0x0023	/* OSI Network Layer */
29#define PPP_NS		0x0025	/* Xerox NS IDP */
30#define PPP_DECNET	0x0027	/* DECnet Phase IV */
31#define PPP_APPLE	0x0029	/* Appletalk */
32#define PPP_IPX		0x002b	/* Novell IPX */
33#define PPP_VJC		0x002d	/* Van Jacobson Compressed TCP/IP */
34#define PPP_VJNC	0x002f	/* Van Jacobson Uncompressed TCP/IP */
35#define PPP_BRPDU	0x0031	/* Bridging PDU */
36#define PPP_STII	0x0033	/* Stream Protocol (ST-II) */
37#define PPP_VINES	0x0035	/* Banyan Vines */
38#define PPP_ML          0x003d  /* Multi-Link PPP */
39#define PPP_IPV6	0x0057	/* IPv6 */
40#define	PPP_COMP	0x00fd	/* Compressed Datagram */
41
42#define PPP_HELLO	0x0201	/* 802.1d Hello Packets */
43#define PPP_LUXCOM	0x0231	/* Luxcom */
44#define PPP_SNS		0x0233	/* Sigma Network Systems */
45#define PPP_MPLS_UCAST  0x0281  /* rfc 3032 */
46#define PPP_MPLS_MCAST  0x0283  /* rfc 3022 */
47
48#define PPP_IPCP	0x8021	/* IP Control Protocol */
49#define PPP_OSICP	0x8023	/* OSI Network Layer Control Protocol */
50#define PPP_NSCP	0x8025	/* Xerox NS IDP Control Protocol */
51#define PPP_DECNETCP	0x8027	/* DECnet Control Protocol */
52#define PPP_APPLECP	0x8029	/* Appletalk Control Protocol */
53#define PPP_IPXCP	0x802b	/* Novell IPX Control Protocol */
54#define PPP_STIICP	0x8033	/* Strean Protocol Control Protocol */
55#define PPP_VINESCP	0x8035	/* Banyan Vines Control Protocol */
56#define PPP_IPV6CP	0x8057	/* IPv6 Control Protocol */
57#define PPP_CCP		0x80fd	/* Compress Control Protocol */
58#define PPP_MPLSCP      0x8281  /* rfc 3022 */
59
60#define PPP_LCP		0xc021	/* Link Control Protocol */
61#define PPP_PAP		0xc023	/* Password Authentication Protocol */
62#define PPP_LQM		0xc025	/* Link Quality Monitoring */
63#define PPP_SPAP        0xc027
64#define PPP_CHAP	0xc223	/* Challenge Handshake Authentication Protocol */
65#define PPP_BACP	0xc02b	/* Bandwidth Allocation Control Protocol */
66#define PPP_BAP		0xc02d	/* BAP */
67#define PPP_MPCP		0xc03d	/* Multi-Link */
68#define PPP_SPAP_OLD    0xc123
69#define PPP_EAP         0xc227
70