/* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright(c) 2007 Intel Corporation. All rights reserved. * * Maintained at www.Open-FCoE.org */ #ifndef _FC_FCOE_H_ #define _FC_FCOE_H_ /* * FCoE - Fibre Channel over Ethernet. * See T11 FC-BB-5 Rev 2.00 (09-056v5.pdf) */ /* * Default FC_FCOE_OUI / FC-MAP value. */ #define FC_FCOE_OUI … /* * Fabric Login (FLOGI) MAC for non-FIP use. Non-FIP use is deprecated. */ #define FC_FCOE_FLOGI_MAC … #define FC_FCOE_VER … /* * Ethernet Addresses based on FC S_ID and D_ID. * Generated by FC_FCOE_OUI | S_ID/D_ID */ #define FC_FCOE_ENCAPS_ID(n) … #define FC_FCOE_DECAPS_ID(n) … /* * FCoE frame header - 14 bytes * This follows the VLAN header, which includes the ethertype. */ struct fcoe_hdr { … }; #define FC_FCOE_DECAPS_VER(hp) … #define FC_FCOE_ENCAPS_VER(hp, ver) … /* * FCoE CRC & EOF - 8 bytes. */ struct fcoe_crc_eof { … } __attribute__((packed)); /* * Minimum FCoE + FC header length * 14 bytes FCoE header + 24 byte FC header = 38 bytes */ #define FCOE_HEADER_LEN … /* * Minimum FCoE frame size * 14 bytes FCoE header + 24 byte FC header + 8 byte FCoE trailer = 46 bytes */ #define FCOE_MIN_FRAME … /* * FCoE Link Error Status Block: T11 FC-BB-5 Rev2.0, Clause 7.10. */ struct fcoe_fc_els_lesb { … }; /* * fc_fcoe_set_mac - Store OUI + DID into MAC address field. * @mac: mac address to be set * @did: fc dest id to use */ static inline void fc_fcoe_set_mac(u8 *mac, u8 *did) { … } #endif /* _FC_FCOE_H_ */