1*b636d99dSDavid van Moolenbroek /* 2*b636d99dSDavid van Moolenbroek * Copyright (c) 1993, 1994, 1997 3*b636d99dSDavid van Moolenbroek * The Regents of the University of California. All rights reserved. 4*b636d99dSDavid van Moolenbroek * 5*b636d99dSDavid van Moolenbroek * Redistribution and use in source and binary forms, with or without 6*b636d99dSDavid van Moolenbroek * modification, are permitted provided that: (1) source code distributions 7*b636d99dSDavid van Moolenbroek * retain the above copyright notice and this paragraph in its entirety, (2) 8*b636d99dSDavid van Moolenbroek * distributions including binary code include the above copyright notice and 9*b636d99dSDavid van Moolenbroek * this paragraph in its entirety in the documentation or other materials 10*b636d99dSDavid van Moolenbroek * provided with the distribution, and (3) all advertising materials mentioning 11*b636d99dSDavid van Moolenbroek * features or use of this software display the following acknowledgement: 12*b636d99dSDavid van Moolenbroek * ``This product includes software developed by the University of California, 13*b636d99dSDavid van Moolenbroek * Lawrence Berkeley Laboratory and its contributors.'' Neither the name of 14*b636d99dSDavid van Moolenbroek * the University nor the names of its contributors may be used to endorse 15*b636d99dSDavid van Moolenbroek * or promote products derived from this software without specific prior 16*b636d99dSDavid van Moolenbroek * written permission. 17*b636d99dSDavid van Moolenbroek * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED 18*b636d99dSDavid van Moolenbroek * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF 19*b636d99dSDavid van Moolenbroek * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 20*b636d99dSDavid van Moolenbroek */ 21*b636d99dSDavid van Moolenbroek 22*b636d99dSDavid van Moolenbroek /* 23*b636d99dSDavid van Moolenbroek * Definitions for information in the LLC header. 24*b636d99dSDavid van Moolenbroek */ 25*b636d99dSDavid van Moolenbroek 26*b636d99dSDavid van Moolenbroek #define LLC_U_FMT 3 27*b636d99dSDavid van Moolenbroek #define LLC_GSAP 1 28*b636d99dSDavid van Moolenbroek #define LLC_IG 1 /* Individual / Group */ 29*b636d99dSDavid van Moolenbroek #define LLC_S_FMT 1 30*b636d99dSDavid van Moolenbroek 31*b636d99dSDavid van Moolenbroek #define LLC_U_POLL 0x10 32*b636d99dSDavid van Moolenbroek #define LLC_IS_POLL 0x0100 33*b636d99dSDavid van Moolenbroek #define LLC_XID_FI 0x81 34*b636d99dSDavid van Moolenbroek 35*b636d99dSDavid van Moolenbroek #define LLC_U_CMD(u) ((u) & 0xef) 36*b636d99dSDavid van Moolenbroek #define LLC_UI 0x03 37*b636d99dSDavid van Moolenbroek #define LLC_UA 0x63 38*b636d99dSDavid van Moolenbroek #define LLC_DISC 0x43 39*b636d99dSDavid van Moolenbroek #define LLC_DM 0x0f 40*b636d99dSDavid van Moolenbroek #define LLC_SABME 0x6f 41*b636d99dSDavid van Moolenbroek #define LLC_TEST 0xe3 42*b636d99dSDavid van Moolenbroek #define LLC_XID 0xaf 43*b636d99dSDavid van Moolenbroek #define LLC_FRMR 0x87 44*b636d99dSDavid van Moolenbroek 45*b636d99dSDavid van Moolenbroek #define LLC_S_CMD(is) (((is) >> 2) & 0x03) 46*b636d99dSDavid van Moolenbroek #define LLC_RR 0x0001 47*b636d99dSDavid van Moolenbroek #define LLC_RNR 0x0005 48*b636d99dSDavid van Moolenbroek #define LLC_REJ 0x0009 49*b636d99dSDavid van Moolenbroek 50*b636d99dSDavid van Moolenbroek #define LLC_IS_NR(is) (((is) >> 9) & 0x7f) 51*b636d99dSDavid van Moolenbroek #define LLC_I_NS(is) (((is) >> 1) & 0x7f) 52*b636d99dSDavid van Moolenbroek 53*b636d99dSDavid van Moolenbroek #ifndef LLCSAP_NULL 54*b636d99dSDavid van Moolenbroek #define LLCSAP_NULL 0x00 55*b636d99dSDavid van Moolenbroek #endif 56*b636d99dSDavid van Moolenbroek #ifndef LLCSAP_GLOBAL 57*b636d99dSDavid van Moolenbroek #define LLCSAP_GLOBAL 0xff 58*b636d99dSDavid van Moolenbroek #endif 59*b636d99dSDavid van Moolenbroek #ifndef LLCSAP_8021B_I 60*b636d99dSDavid van Moolenbroek #define LLCSAP_8021B_I 0x02 61*b636d99dSDavid van Moolenbroek #endif 62*b636d99dSDavid van Moolenbroek #ifndef LLCSAP_8021B_G 63*b636d99dSDavid van Moolenbroek #define LLCSAP_8021B_G 0x03 64*b636d99dSDavid van Moolenbroek #endif 65*b636d99dSDavid van Moolenbroek #ifndef LLCSAP_SNA 66*b636d99dSDavid van Moolenbroek #define LLCSAP_SNA 0x04 67*b636d99dSDavid van Moolenbroek #endif 68*b636d99dSDavid van Moolenbroek #ifndef LLCSAP_IP 69*b636d99dSDavid van Moolenbroek #define LLCSAP_IP 0x06 70*b636d99dSDavid van Moolenbroek #endif 71*b636d99dSDavid van Moolenbroek #ifndef LLCSAP_PROWAYNM 72*b636d99dSDavid van Moolenbroek #define LLCSAP_PROWAYNM 0x0e 73*b636d99dSDavid van Moolenbroek #endif 74*b636d99dSDavid van Moolenbroek #ifndef LLCSAP_8021D 75*b636d99dSDavid van Moolenbroek #define LLCSAP_8021D 0x42 76*b636d99dSDavid van Moolenbroek #endif 77*b636d99dSDavid van Moolenbroek #ifndef LLCSAP_RS511 78*b636d99dSDavid van Moolenbroek #define LLCSAP_RS511 0x4e 79*b636d99dSDavid van Moolenbroek #endif 80*b636d99dSDavid van Moolenbroek #ifndef LLCSAP_ISO8208 81*b636d99dSDavid van Moolenbroek #define LLCSAP_ISO8208 0x7e 82*b636d99dSDavid van Moolenbroek #endif 83*b636d99dSDavid van Moolenbroek #ifndef LLCSAP_PROWAY 84*b636d99dSDavid van Moolenbroek #define LLCSAP_PROWAY 0x8e 85*b636d99dSDavid van Moolenbroek #endif 86*b636d99dSDavid van Moolenbroek #ifndef LLCSAP_SNAP 87*b636d99dSDavid van Moolenbroek #define LLCSAP_SNAP 0xaa 88*b636d99dSDavid van Moolenbroek #endif 89*b636d99dSDavid van Moolenbroek #ifndef LLCSAP_IPX 90*b636d99dSDavid van Moolenbroek #define LLCSAP_IPX 0xe0 91*b636d99dSDavid van Moolenbroek #endif 92*b636d99dSDavid van Moolenbroek #ifndef LLCSAP_NETBEUI 93*b636d99dSDavid van Moolenbroek #define LLCSAP_NETBEUI 0xf0 94*b636d99dSDavid van Moolenbroek #endif 95*b636d99dSDavid van Moolenbroek #ifndef LLCSAP_ISONS 96*b636d99dSDavid van Moolenbroek #define LLCSAP_ISONS 0xfe 97*b636d99dSDavid van Moolenbroek #endif 98*b636d99dSDavid van Moolenbroek 99*b636d99dSDavid van Moolenbroek /* 100*b636d99dSDavid van Moolenbroek * PIDs for use with OUI_CISCO. 101*b636d99dSDavid van Moolenbroek */ 102*b636d99dSDavid van Moolenbroek #define PID_CISCO_CDP 0x2000 /* Cisco Discovery Protocol */ 103*b636d99dSDavid van Moolenbroek #define PID_CISCO_VTP 0x2003 /* Cisco VLAN Trunk Protocol */ 104*b636d99dSDavid van Moolenbroek #define PID_CISCO_DTP 0x2004 /* Cisco Dynamic Trunk Protocol */ 105*b636d99dSDavid van Moolenbroek #define PID_CISCO_UDLD 0x0111 /* Unidirectional Link Detection */ 106*b636d99dSDavid van Moolenbroek #define PID_CISCO_PVST 0x010b /* Per VLAN Spanning Tree+ and RPVST+ */ 107*b636d99dSDavid van Moolenbroek #define PID_CISCO_VLANBRIDGE 0x010c /* "VLAN Bridge", according to Wireshark */ 108*b636d99dSDavid van Moolenbroek 109*b636d99dSDavid van Moolenbroek /* 110*b636d99dSDavid van Moolenbroek * PIDs for use with OUI_RFC2684. 111*b636d99dSDavid van Moolenbroek */ 112*b636d99dSDavid van Moolenbroek #define PID_RFC2684_ETH_FCS 0x0001 /* Ethernet, with FCS */ 113*b636d99dSDavid van Moolenbroek #define PID_RFC2684_ETH_NOFCS 0x0007 /* Ethernet, without FCS */ 114*b636d99dSDavid van Moolenbroek #define PID_RFC2684_802_4_FCS 0x0002 /* 802.4, with FCS */ 115*b636d99dSDavid van Moolenbroek #define PID_RFC2684_802_4_NOFCS 0x0008 /* 802.4, without FCS */ 116*b636d99dSDavid van Moolenbroek #define PID_RFC2684_802_5_FCS 0x0003 /* 802.5, with FCS */ 117*b636d99dSDavid van Moolenbroek #define PID_RFC2684_802_5_NOFCS 0x0009 /* 802.5, without FCS */ 118*b636d99dSDavid van Moolenbroek #define PID_RFC2684_FDDI_FCS 0x0004 /* FDDI, with FCS */ 119*b636d99dSDavid van Moolenbroek #define PID_RFC2684_FDDI_NOFCS 0x000a /* FDDI, without FCS */ 120*b636d99dSDavid van Moolenbroek #define PID_RFC2684_802_6_FCS 0x0005 /* 802.6, with FCS */ 121*b636d99dSDavid van Moolenbroek #define PID_RFC2684_802_6_NOFCS 0x000b /* 802.6, without FCS */ 122*b636d99dSDavid van Moolenbroek #define PID_RFC2684_BPDU 0x000e /* BPDUs */ 123