7 * Fibre Channel over Ethernet
11 FILE_LICENCE ( GPL2_OR_LATER );
15 #include <ipxe/if_ether.h>
19 /** Fibre Channel name */
23 /** Naming authority */
26 uint8_t mac[ETH_ALEN];
27 } __attribute__ (( packed )) fcoe;
30 /** IEEE 48-bit address */
31 #define FCOE_AUTHORITY_IEEE 0x1000
34 #define FCOE_AUTHORITY_IEEE_EXTENDED 0x2000
36 /** An FCoE MAC address prefix (FC-MAP) */
39 } __attribute__ (( packed ));
41 /** An FCoE (fabric-assigned) MAC address */
43 /** MAC address prefix */
46 struct fc_port_id port_id;
47 } __attribute__ (( packed ));
51 /** FCoE frame version */
55 /** Start of Frame marker */
57 } __attribute__ (( packed ));
59 /** FCoE frame version */
60 #define FCOE_FRAME_VER 0x00
62 /** Start of Frame marker values */
64 FCOE_SOF_F = 0x28, /**< Start of Frame Class F */
65 FCOE_SOF_I2 = 0x2d, /**< Start of Frame Initiate Class 2 */
66 FCOE_SOF_N2 = 0x35, /**< Start of Frame Normal Class 2 */
67 FCOE_SOF_I3 = 0x2e, /**< Start of Frame Initiate Class 3 */
68 FCOE_SOF_N3 = 0x36, /**< Start of Frame Normal Class 3 */
75 /** End of frame marker */
79 } __attribute__ (( packed ));
81 /** End of Frame marker value */
83 FCOE_EOF_N = 0x41, /**< End of Frame Normal */
84 FCOE_EOF_T = 0x42, /**< End of Frame Terminate */
85 FCOE_EOF_NI = 0x49, /**< End of Frame Invalid */
86 FCOE_EOF_A = 0x50, /**< End of Frame Abort */
89 /** FCoE VLAN priority */
90 #define FCOE_VLAN_PRIORITY 3
92 #endif /* _IPXE_FCOE_H */