Blame iscsiuio/src/uip/uip_eth.h
|
Packit |
eace71 |
#ifndef __UIP_ETH_H__
|
|
Packit |
eace71 |
#define __UIP_ETH_H__
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
#include "uipopt.h"
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
/*******************************************************************************
|
|
Packit |
eace71 |
* Ether types
|
|
Packit |
eace71 |
******************************************************************************/
|
|
Packit |
eace71 |
#define UIP_ETHTYPE_ARP 0x0806
|
|
Packit |
eace71 |
#define UIP_ETHTYPE_IPv4 0x0800
|
|
Packit |
eace71 |
#define UIP_ETHTYPE_8021Q 0x8100
|
|
Packit |
eace71 |
#define UIP_ETHTYPE_IPv6 0x86dd
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
/**
|
|
Packit |
eace71 |
* Representation of a 48-bit Ethernet address.
|
|
Packit |
eace71 |
*/
|
|
Packit |
eace71 |
struct uip_eth_addr {
|
|
Packit |
eace71 |
u8_t addr[6];
|
|
Packit |
eace71 |
};
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
/**
|
|
Packit |
eace71 |
* The Ethernet header.
|
|
Packit |
eace71 |
*/
|
|
Packit |
eace71 |
struct __attribute__ ((__packed__)) uip_eth_hdr {
|
|
Packit |
eace71 |
struct uip_eth_addr dest;
|
|
Packit |
eace71 |
struct uip_eth_addr src;
|
|
Packit |
eace71 |
u16_t type;
|
|
Packit |
eace71 |
};
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
/**
|
|
Packit |
eace71 |
* The 802.1Q Ethernet header (VLAN).
|
|
Packit |
eace71 |
*/
|
|
Packit |
eace71 |
struct __attribute__ ((__packed__)) uip_vlan_eth_hdr {
|
|
Packit |
eace71 |
struct uip_eth_addr dest;
|
|
Packit |
eace71 |
struct uip_eth_addr src;
|
|
Packit |
eace71 |
u16_t tpid;
|
|
Packit |
eace71 |
u16_t vid;
|
|
Packit |
eace71 |
u16_t type;
|
|
Packit |
eace71 |
};
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
int is_vlan_packet(struct uip_vlan_eth_hdr *hdr);
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
#endif /* __UIP_ETH_H__ */
|