source: edk_user_repository/WARP/sw_services/WARPxilnet_v3_01_a/src/xilnet_eth.h

Last change on this file was 1980, checked in by murphpo, 11 years ago
File size: 3.0 KB
Line 
1////////////////////////////////////////////////////////////////////////////////
2// Copyright (c) 2004 Xilinx, Inc.  All rights reserved.
3//
4// Xilinx, Inc.
5// XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" AS A
6// COURTESY TO YOU.  BY PROVIDING THIS DESIGN, CODE, OR INFORMATION AS
7// ONE POSSIBLE   IMPLEMENTATION OF THIS FEATURE, APPLICATION OR
8// STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS IMPLEMENTATION
9// IS FREE FROM ANY CLAIMS OF INFRINGEMENT, AND YOU ARE RESPONSIBLE
10// FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE FOR YOUR IMPLEMENTATION.
11// XILINX EXPRESSLY DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO
12// THE ADEQUACY OF THE IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO
13// ANY WARRANTIES OR REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE
14// FROM CLAIMS OF INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY
15// AND FITNESS FOR A PARTICULAR PURPOSE.
16//
17// File   : eth.h
18// Date   : 2002, March 20.
19// Author : Sathya Thammanur
20// Company: Xilinx
21// Group  : Emerging Software Technologies
22//
23// Summary:
24// Header file for Ethernet layer
25//
26// $Id: eth.h,v 1.2.8.6 2005/11/15 23:41:10 salindac Exp $
27//
28////////////////////////////////////////////////////////////////////////////////
29
30////////////////////////////////////////////////////////////////////////////////
31// see copyright.txt for Rice University/Mango Communications modifications
32////////////////////////////////////////////////////////////////////////////////
33
34#ifndef _ETH_H
35#define _ETH_H
36
37#ifdef __cplusplus
38extern "C" {
39#endif
40
41#include <xilnet_config.h>
42#include <xilnet_ip.h>
43
44#define ETH_ADDR_LEN           6   /* len of eth addr */   
45#define ETH_HDR_LEN         14   /* eth hdr len */ 
46#define ETH_MIN_FRAME_LEN     60   /* Min Eth Frame Payload */ 
47
48//#define ETH_MAX_FRAME_LEN   1500 /* Max Eth Frame Payload */ 
49//#define ETH_FRAME_LEN       1514 /* Max Eth Frame Size */
50
51#define ETH_MAX_FRAME_LEN     9000 /* Max Eth Frame Payload */ 
52#define ETH_FRAME_LEN         9014 /* Max Eth Frame Size */ 
53
54
55/* MAC address used */
56#ifdef _CONFIG_EMACLITE_
57extern unsigned int MYMAC_BASEADDR;
58#endif
59#ifdef _CONFIG_TEMAC_
60extern void* FIFO_INST;
61extern void* DMA_CENTRAL_INST;
62#endif
63#ifdef _CONFIG_AXI_ETHERNET_FIFO
64extern void* FIFO_INST;
65#endif
66
67/*
68 * Protocol vals in eth hdr
69 */
70
71#define ETH_PROTO_IP    0x0800      /* IP  packet   */
72#define ETH_PROTO_ARP   0x0806      /* ARP packet   */
73
74
75
76/*
77 * Ethernet Header
78 */
79 
80struct xilnet_eth_hdr {
81  unsigned char dest_addr[ETH_ADDR_LEN];  /* destination eth addr   */
82  unsigned char src_addr[ETH_ADDR_LEN];   /* source eth addr    */
83  unsigned short type;                /* protocol type */
84};
85
86
87/*
88 * HW Addr Table
89 *
90 */
91
92#define HW_ADDR_TBL_ENTRIES     5
93#define HW_ADDR_ENTRY_IS_TRUE   1
94#define HW_ADDR_ENTRY_IS_FALSE  0
95#define HW_ADDR_TBL_MAXAGE      2
96
97struct xilnet_hw_addr_table
98{
99   unsigned char ip_addr[IP_VERSION];
100   unsigned char hw_addr[ETH_ADDR_LEN];
101   unsigned char flag;
102   unsigned int age;
103};
104
105extern struct xilnet_hw_addr_table xilnet_hw_tbl[HW_ADDR_TBL_ENTRIES];
106
107#ifdef __cplusplus
108}
109#endif
110
111#endif  /* _ETH_H */
Note: See TracBrowser for help on using the repository browser.