fe124d16bb
PPP definitions, and handle Cisco-format frames that come in off of sync PPP interfaces.
86 lines
3.5 KiB
C
86 lines
3.5 KiB
C
/* $NetBSD: ppp.h,v 1.2 1999/05/11 02:54:29 thorpej Exp $ */
|
|
|
|
/* @(#) Header: ppp.h,v 1.7 95/05/04 17:52:46 mccanne Exp (LBL) */
|
|
/*
|
|
* Point to Point Protocol (PPP) RFC1331
|
|
*
|
|
* Copyright 1989 by Carnegie Mellon.
|
|
*
|
|
* Permission to use, copy, modify, and distribute this program for any
|
|
* purpose and without fee is hereby granted, provided that this copyright
|
|
* and permission notice appear on all copies and supporting documentation,
|
|
* the name of Carnegie Mellon not be used in advertising or publicity
|
|
* pertaining to distribution of the program without specific prior
|
|
* permission, and notice be given in supporting documentation that copying
|
|
* and distribution is by permission of Carnegie Mellon and Stanford
|
|
* University. Carnegie Mellon makes no representations about the
|
|
* suitability of this software for any purpose. It is provided "as is"
|
|
* without express or implied warranty.
|
|
*/
|
|
#define PPP_ADDRESS 0xff /* The address byte value */
|
|
#define PPP_CONTROL 0x03 /* The control byte value */
|
|
|
|
/* Actual address byte values */
|
|
#define PPP_ADDR_ALLSTATIONS 0xff /* all stations broadcast addr */
|
|
#define PPP_ADDR_CISCO_MULTICAST 0x8f /* Cisco multicast address */
|
|
#define PPP_ADDR_CISCO_UNICAST 0x0f /* Cisco unicast address */
|
|
|
|
/* Actual control byte values */
|
|
#define PPP_CTRL_UI 0x03 /* unnumbered information */
|
|
|
|
/* Protocol numbers */
|
|
#define PPP_IP 0x0021 /* Raw IP */
|
|
#define PPP_OSI 0x0023 /* OSI Network Layer */
|
|
#define PPP_NS 0x0025 /* Xerox NS IDP */
|
|
#define PPP_DECNET 0x0027 /* DECnet Phase IV */
|
|
#define PPP_APPLE 0x0029 /* Appletalk */
|
|
#define PPP_IPX 0x002b /* Novell IPX */
|
|
#define PPP_VJC 0x002d /* Van Jacobson Compressed TCP/IP */
|
|
#define PPP_VJNC 0x002f /* Van Jacobson Uncompressed TCP/IP */
|
|
#define PPP_BRPDU 0x0031 /* Bridging PDU */
|
|
#define PPP_STII 0x0033 /* Stream Protocol (ST-II) */
|
|
#define PPP_VINES 0x0035 /* Banyan Vines */
|
|
#define PPP_IPV6 0x0057 /* IPv6 */
|
|
|
|
#define PPP_HELLO 0x0201 /* 802.1d Hello Packets */
|
|
#define PPP_LUXCOM 0x0231 /* Luxcom */
|
|
#define PPP_SNS 0x0233 /* Sigma Network Systems */
|
|
|
|
#define PPP_IPCP 0x8021 /* IP Control Protocol */
|
|
#define PPP_OSICP 0x8023 /* OSI Network Layer Control Protocol */
|
|
#define PPP_NSCP 0x8025 /* Xerox NS IDP Control Protocol */
|
|
#define PPP_DECNETCP 0x8027 /* DECnet Control Protocol */
|
|
#define PPP_APPLECP 0x8029 /* Appletalk Control Protocol */
|
|
#define PPP_IPXCP 0x802b /* Novell IPX Control Protocol */
|
|
#define PPP_STIICP 0x8033 /* Strean Protocol Control Protocol */
|
|
#define PPP_VINESCP 0x8035 /* Banyan Vines Control Protocol */
|
|
|
|
/*
|
|
* XXX Note, this is overloaded with VINESCP, but we can tell based on
|
|
* XXX the address byte if we're using Cisco protocol numbers (i.e.
|
|
* XXX Ethertypes).
|
|
*/
|
|
#define PPP_CISCO_KEEPALIVE 0x8035 /* Cisco keepalive protocol */
|
|
|
|
#define PPP_LCP 0xc021 /* Link Control Protocol */
|
|
#define PPP_PAP 0xc023 /* Password Authentication Protocol */
|
|
#define PPP_LQM 0xc025 /* Link Quality Monitoring */
|
|
#define PPP_CBCP 0xc029 /* Callback Control Protocol */
|
|
#define PPP_CHAP 0xc223 /* Challenge Handshake Authentication Protocol */
|
|
|
|
/*
|
|
* Structure of a Cisco keepalive packet.
|
|
*/
|
|
#define CISCO_KEEP_TYPE_OFF 0 /* 4 bytes */
|
|
#define CISCO_KEEP_PAR1_OFF 4 /* 4 bytes */
|
|
#define CISCO_KEEP_PAR2_OFF 8 /* 4 bytes */
|
|
#define CISCO_KEEP_REL_OFF 10 /* 2 bytes */
|
|
#define CISCO_KEEP_TIME0_OFF 12 /* 2 bytes */
|
|
#define CISCO_KEEP_TIME1_OFF 14 /* 2 bytes */
|
|
|
|
#define CISCO_KEEP_LEN 18
|
|
|
|
#define CISCO_KEEP_TYPE_ADDR_REQ 0
|
|
#define CISCO_KEEP_TYPE_ADDR_REPLY 1
|
|
#define CISCO_KEEP_TYPE_KEEP_REQ 2
|