1234567891011121314151617181920212223242526272829303132333435 |
- #ifndef _GPXE_IF_ETHER_H
- #define _GPXE_IF_ETHER_H
-
- FILE_LICENCE ( GPL2_OR_LATER );
-
- #include <stdint.h>
-
- #define ETH_ALEN 6 /* Size of Ethernet address */
- #define ETH_HLEN 14 /* Size of ethernet header */
- #define ETH_ZLEN 60 /* Minimum packet */
- #define ETH_FRAME_LEN 1514 /* Maximum packet */
- #define ETH_DATA_ALIGN 2 /* Amount needed to align the data after an ethernet header */
- #ifndef ETH_MAX_MTU
- #define ETH_MAX_MTU (ETH_FRAME_LEN-ETH_HLEN)
- #endif
-
- #define ETH_P_RAW 0x0000 /* Raw packet */
- #define ETH_P_IP 0x0800 /* Internet Protocl Packet */
- #define ETH_P_ARP 0x0806 /* Address Resolution Protocol */
- #define ETH_P_RARP 0x8035 /* Reverse Address resolution Protocol */
- #define ETH_P_IPV6 0x86DD /* IPv6 over blueblook */
- #define ETH_P_SLOW 0x8809 /* Ethernet slow protocols */
- #define ETH_P_AOE 0x88A2 /* ATA over Ethernet */
-
- /** An Ethernet link-layer header */
- struct ethhdr {
- /** Destination MAC address */
- uint8_t h_dest[ETH_ALEN];
- /** Source MAC address */
- uint8_t h_source[ETH_ALEN];
- /** Protocol ID */
- uint16_t h_protocol;
- } __attribute__ ((packed));
-
- #endif /* _GPXE_IF_ETHER_H */
|