56#ifndef LWIP_HDR_PROT_ETHERNET_H
57#define LWIP_HDR_PROT_ETHERNET_H
66#ifdef ETHARP_HWADDR_LEN
67#define ETH_HWADDR_LEN ETHARP_HWADDR_LEN
69#define ETH_HWADDR_LEN 6
73#ifdef PACK_STRUCT_USE_INCLUDES
74# include "arch/bpstruct.h"
81#ifdef PACK_STRUCT_USE_INCLUDES
82# include "arch/epstruct.h"
85#ifdef PACK_STRUCT_USE_INCLUDES
86# include "arch/bpstruct.h"
99#ifdef PACK_STRUCT_USE_INCLUDES
100# include "arch/epstruct.h"
103#define SIZEOF_ETH_HDR (14 + ETH_PAD_SIZE)
105#ifdef PACK_STRUCT_USE_INCLUDES
106# include "arch/bpstruct.h"
117#ifdef PACK_STRUCT_USE_INCLUDES
118# include "arch/epstruct.h"
121#define SIZEOF_VLAN_HDR 4
122#define VLAN_ID(vlan_hdr) (lwip_htons((vlan_hdr)->prio_vid) & 0xFFF)
163#define LL_IP4_MULTICAST_ADDR_0 0x01
164#define LL_IP4_MULTICAST_ADDR_1 0x00
165#define LL_IP4_MULTICAST_ADDR_2 0x5e
168#define LL_IP6_MULTICAST_ADDR_0 0x33
169#define LL_IP6_MULTICAST_ADDR_1 0x33
173#ifndef ETHADDR32_COPY
174#define ETHADDR32_COPY(dst, src) SMEMCPY(dst, src, ETH_HWADDR_LEN)
179#ifndef ETHADDR16_COPY
180#define ETHADDR16_COPY(dst, src) SMEMCPY(dst, src, ETH_HWADDR_LEN)
183#define eth_addr_cmp(addr1, addr2) (memcmp((addr1)->addr, (addr2)->addr, ETH_HWADDR_LEN) == 0)
#define PACK_STRUCT_BEGIN
#define PACK_STRUCT_FLD_8(x)
#define PACK_STRUCT_FIELD(x)
#define PACK_STRUCT_FLD_S(x)