#include <net/ethernet.h>
net/ethernet.h
Fundamental constants relating to ethernet.
macroETHER_HDR_LEN
The length of the combined header.
#define ETHER_HDR_LEN (ETHER_ADDR_LEN*2+ETHER_TYPE_LEN)
macroETHER_ALIGN
Mbuf adjust factor to force 32-bit alignment of IP header.
Drivers should do m_adj(m, ETHER_ALIGN) when setting up a
receive so the upper layers get the IP header properly aligned
past the 14-byte Ethernet header.
#define ETHER_ALIGN 2
driver adjust for IP hdr alignment
macroETHER_IS_VALID_LEN
A macro to validate a length with
#define ETHER_IS_VALID_LEN(foo) ((foo) >= ETHER_MIN_LEN && (foo) <= ETHER_MAX_LEN)
structether_header
Structure of a 10Mb/s Ethernet header.
| u_char[6] | ether_dhost | |
| u_char[6] | ether_shost | |
| u_short | ether_type |
typedefether_header_t
typedef struct ether_header ether_header_t;
typedefether_addr_t
typedef struct ether_addr ether_addr_t;
macroether_addr_octet
#define ether_addr_octet octet
macroETHERTYPE_TRAIL
The ETHERTYPE_NTRAILER packet types starting at ETHERTYPE_TRAIL have
(type-ETHERTYPE_TRAIL)*512 bytes of data followed
by an ETHER type (as given above) and then the (variable-length) header.
#define ETHERTYPE_TRAIL 0x1000
Trailer packet
macroETHERTYPE_NTRAILER
#define ETHERTYPE_NTRAILER 16
macroETHERMTU
#define ETHERMTU (ETHER_MAX_LEN-ETHER_HDR_LEN-ETHER_CRC_LEN)
macroETHERMIN
#define ETHERMIN (ETHER_MIN_LEN-ETHER_HDR_LEN-ETHER_CRC_LEN)
functionether_hostton
int ether_hostton(const char *, struct ether_addr *)
man page · April 12, 1995
ether_hostton(3) — Ethernet address conversion and lookup routinesfunctionether_line
int ether_line(const char *, struct ether_addr *, char *)
man page · April 12, 1995
ether_line(3) — Ethernet address conversion and lookup routinesfunctionether_ntoa
char *ether_ntoa(const struct ether_addr *)
man page · April 12, 1995
ether_ntoa(3) — Ethernet address conversion and lookup routinesfunctionether_aton
struct ether_addr *ether_aton(const char *)
man page · April 12, 1995
ether_aton(3) — Ethernet address conversion and lookup routinesfunctionether_ntohost
int ether_ntohost(char *, const struct ether_addr *)
man page · April 12, 1995
ether_ntohost(3) — Ethernet address conversion and lookup routines