Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / ipxe / src / include / ipxe / if_ether.h
1 #ifndef _IPXE_IF_ETHER_H
2 #define _IPXE_IF_ETHER_H
3
4 FILE_LICENCE ( GPL2_OR_LATER );
5
6 #include <stdint.h>
7
8 #define ETH_ALEN                6       /* Size of Ethernet address */
9 #define ETH_HLEN                14      /* Size of ethernet header */
10 #define ETH_ZLEN                60      /* Minimum packet */
11 #define ETH_FRAME_LEN           1514    /* Maximum packet */
12 #define ETH_DATA_ALIGN          2       /* Amount needed to align the data after an ethernet header */
13 #ifndef ETH_MAX_MTU
14 #define ETH_MAX_MTU             (ETH_FRAME_LEN-ETH_HLEN)
15 #endif
16
17 #define ETH_P_RAW       0x0000  /* Raw packet */
18 #define ETH_P_IP        0x0800  /* Internet Protocl Packet */
19 #define ETH_P_ARP       0x0806  /* Address Resolution Protocol */
20 #define ETH_P_RARP      0x8035  /* Reverse Address resolution Protocol */
21 #define ETH_P_8021Q     0x8100  /* 802.1Q VLAN Extended Header */
22 #define ETH_P_IPV6      0x86DD  /* IPv6 over blueblook */
23 #define ETH_P_SLOW      0x8809  /* Ethernet slow protocols */
24 #define ETH_P_EAPOL     0x888E  /* 802.1X EAP over LANs */
25 #define ETH_P_AOE       0x88A2  /* ATA over Ethernet */
26 #define ETH_P_FCOE      0x8906  /* Fibre Channel over Ethernet */
27 #define ETH_P_FIP       0x8914  /* FCoE Initialization Protocol */
28
29 /** An Ethernet link-layer header */
30 struct ethhdr {
31         /** Destination MAC address */
32         uint8_t h_dest[ETH_ALEN];
33         /** Source MAC address */
34         uint8_t h_source[ETH_ALEN];
35         /** Protocol ID */
36         uint16_t h_protocol;
37 } __attribute__ ((packed));
38
39 #endif  /* _IPXE_IF_ETHER_H */