lwIP  2.0.2
Lightweight IP stack
ethernet.h File Reference
#include "lwip/arch.h"
#include "arch/bpstruct.h"
#include "arch/epstruct.h"

Data Structures

struct  eth_hdr
 
struct  eth_vlan_hdr
 

Macros

#define LL_IP4_MULTICAST_ADDR_0   0x01
 
#define LL_IP6_MULTICAST_ADDR_0   0x33
 
#define ETHADDR32_COPY(dst, src)   SMEMCPY(dst, src, ETH_HWADDR_LEN)
 
#define ETHADDR16_COPY(dst, src)   SMEMCPY(dst, src, ETH_HWADDR_LEN)
 

Enumerations

enum  eth_type {
  ETHTYPE_IP = 0x0800U, ETHTYPE_ARP = 0x0806U, ETHTYPE_WOL = 0x0842U, ETHTYPE_RARP = 0x8035U,
  ETHTYPE_VLAN = 0x8100U, ETHTYPE_IPV6 = 0x86DDU, ETHTYPE_PPPOEDISC = 0x8863U, ETHTYPE_PPPOE = 0x8864U,
  ETHTYPE_JUMBO = 0x8870U, ETHTYPE_PROFINET = 0x8892U, ETHTYPE_ETHERCAT = 0x88A4U, ETHTYPE_LLDP = 0x88CCU,
  ETHTYPE_SERCOS = 0x88CDU, ETHTYPE_MRP = 0x88E3U, ETHTYPE_PTP = 0x88F7U, ETHTYPE_QINQ = 0x9100U
}
 

Detailed Description

Ethernet protocol definitions

Macro Definition Documentation

◆ ETHADDR16_COPY

#define ETHADDR16_COPY (   dst,
  src 
)    SMEMCPY(dst, src, ETH_HWADDR_LEN)

MEMCPY-like macro to copy to/from struct eth_addr's that are no local variables and known to be 16-bit aligned within the protocol header.

◆ ETHADDR32_COPY

#define ETHADDR32_COPY (   dst,
  src 
)    SMEMCPY(dst, src, ETH_HWADDR_LEN)

MEMCPY-like macro to copy to/from struct eth_addr's that are local variables or known to be 32-bit aligned within the protocol header.

◆ LL_IP4_MULTICAST_ADDR_0

#define LL_IP4_MULTICAST_ADDR_0   0x01

The 24-bit IANA IPv4-multicast OUI is 01-00-5e:

◆ LL_IP6_MULTICAST_ADDR_0

#define LL_IP6_MULTICAST_ADDR_0   0x33

IPv6 multicast uses this prefix