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