1981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* 2981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Ethernet.h 3981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 4981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Copyright(c) 1998 - 2009 Texas Instruments. All rights reserved. 5981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * All rights reserved. 6981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 7981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Redistribution and use in source and binary forms, with or without 8981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * modification, are permitted provided that the following conditions 9981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * are met: 10981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 11981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * * Redistributions of source code must retain the above copyright 12981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * notice, this list of conditions and the following disclaimer. 13981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * * Redistributions in binary form must reproduce the above copyright 14981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * notice, this list of conditions and the following disclaimer in 15981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * the documentation and/or other materials provided with the 16981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * distribution. 17981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * * Neither the name Texas Instruments nor the names of its 18981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * contributors may be used to endorse or promote products derived 19981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * from this software without specific prior written permission. 20981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 21981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */ 33981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 34981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 35981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/***************************************************************************/ 36981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* */ 37981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* MODULE: Ethernet.h */ 38981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* PURPOSE: */ 39981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* */ 40981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/***************************************************************************/ 41981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#ifndef _ETHERNET_H_ 42981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define _ETHERNET_H_ 43981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 44981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 45981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef struct 46981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ 47981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TMacAddr dst; 48981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TMacAddr src; 49981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TI_UINT16 type; 50981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 51981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TEthernetHeader; 52981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 53981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 54981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef struct 55981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ 56981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TMacAddr dst; 57981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TMacAddr src; 58981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TI_UINT16 length; 59981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TI_UINT8 dsap; 60981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TI_UINT8 ssap; 61981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TI_UINT8 control; 62981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TI_UINT8 oui[3]; 63981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TI_UINT16 type; 64981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 65981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TLlcSnapHeader; 66981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 67981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 68981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define ETHERTYPE_802_1D 0x8100 69981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define ETHERTYPE_EAPOL 0x888e 70981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define ETHERTYPE_PREAUTH_EAPOL 0x88c7 71981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define ETHERTYPE_IP 0x0800 72981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define ETHERTYPE_APPLE_AARP 0x80f3 73981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define ETHERTYPE_DIX_II_IPX 0x8137 74981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 75981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define ETHERNET_HDR_LEN 14 76981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define IEEE802_3_HDR_LEN 14 77981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define LLC_SNAP_HDR_LEN 20 78981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 79981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define SNAP_CHANNEL_ID 0xAA 80981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define LLC_CONTROL_UNNUMBERED_INFORMATION 0x03 81981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define ETHERNET_MAX_PAYLOAD_SIZE 1500 82981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 83981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define SNAP_OUI_802_1H_BYTE0 0x00 84981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define SNAP_OUI_802_1H_BYTE1 0x00 85981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define SNAP_OUI_802_1H_BYTE2 0xf8 86981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define SNAP_OUI_802_1H_BYTES { SNAP_OUI_802_1H_BYTE0, SNAP_OUI_802_1H_BYTE1, SNAP_OUI_802_1H_BYTE2 } 87981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 88981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define SNAP_OUI_RFC1042_BYTE0 0x00 89981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define SNAP_OUI_RFC1042_BYTE1 0x00 90981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define SNAP_OUI_RFC1042_BYTE2 0x00 91981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define SNAP_OUI_RFC1042_LEN 3 92981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define SNAP_OUI_RFC1042_BYTES { SNAP_OUI_RFC1042_BYTE0, SNAP_OUI_RFC1042_BYTE1, SNAP_OUI_RFC1042_BYTE2 } 93981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 94981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 95981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#endif 96