47#define FIP_VERSION 0x10
121#define FIP_IS_CRITICAL( type ) ( (type) <= 0x7f )
139#define FIP_DEFAULT_PRIORITY 128
142#define FIP_LOWEST_PRIORITY 255
418#define FIP_DESCRIPTOR( type, name ) \
419 static inline __attribute__ (( always_inline )) \
420 typeof ( ( ( union fip_descriptor * ) NULL )->name ) * \
421 fip_ ## name ( struct fip_descriptors *descs ) { \
422 return &(descs->desc[type]->name); \
Fibre Channel Extended Link Services.
Fibre Channel over Ethernet.
fip_vitality_subcode
FIP protocol subcode for keep alive / clear links.
@ FIP_MAINTAIN_KEEP_ALIVE
Keep alive.
@ FIP_MAINTAIN_CLEAR_LINKS
Clear virtual links.
fip_code
FIP protocol code.
@ FIP_CODE_ELS
Extended link services.
@ FIP_CODE_DISCOVERY
Discovery.
@ FIP_CODE_MAINTAIN
Maintain virtual links.
fip_els_subcode
FIP protocol subcode for extended link services.
@ FIP_ELS_REQUEST
ELS request.
@ FIP_ELS_RESPONSE
ELS response.
@ FIP_SP
Server-provided MAC address.
@ FIP_FP
Fabric-provided MAC address.
@ FIP_A
Available for login.
fip_vlan_subcode
FIP protocol subcode for VLAN.
@ FIP_VLAN_REQUEST
VLAN request.
@ FIP_VLAN_NOTIFY
VLAN notification.
fip_fka_adv_p_flags
FIP FKA ADV period flags.
@ FIP_NO_KEEPALIVE
Do not send keepalives.
#define FIP_DESCRIPTOR(type, name)
Define a function to extract a specific FIP descriptor type from a list.
fip_type
FIP descriptor types.
@ FIP_NPIV_FDISC
NPIV FDISC.
@ FIP_MAX_FCOE_SIZE
Max FCoE size.
@ FIP_FKA_ADV_P
FKA ADV period.
@ FIP_VENDOR_ID
Vendor ID.
@ FIP_VX_PORT_ID
Vx port identification.
@ FIP_MAC_ADDRESS
MAC address.
@ FIP_NUM_DESCRIPTOR_TYPES
@ FIP_NAME_ID
Name identifier.
fip_discovery_subcode
FIP protocol subcode for discovery.
@ FIP_DISCOVERY_SOLICIT
Discovery solicitation.
@ FIP_DISCOVERY_ADVERTISE
Discovery advertisement.
uint16_t priority
Priotity.
Fibre Channel ELS frame common parameters.
A Fibre Channel FLOGI/PLOGI frame.
A Fibre Channel LOGO request frame.
A Fibre Channel LOGO response frame.
A Fibre Channel LS_RJT frame.
A Fibre Channel port identifier.
An FCoE MAC address prefix (FC-MAP)
FIP descriptor common fields.
uint8_t reserved[2]
Reserved.
uint8_t len
Length in 32-bit words.
union fip_descriptor * desc[FIP_NUM_DESCRIPTOR_TYPES]
Descriptors, indexed by type.
A FIP descriptor containing an encapsulated ELP frame.
struct fc_frame_header fc
Fibre Channel frame header.
uint8_t len
Length in 32-bit words.
uint32_t dull[25]
Uninteresting content.
uint8_t reserved[2]
Reserved.
struct fc_els_frame_common els
ELS frame.
A FIP descriptor containing an encapsulated ELS frame.
struct fc_els_frame_common els
ELS frame.
struct fc_frame_header fc
Fibre Channel frame header.
uint8_t reserved[2]
Reserved.
uint8_t len
Length in 32-bit words.
struct fc_name name
Fabric name.
uint8_t len
Length in 32-bit words.
uint16_t vf_id
Virtual Fabric ID, if any.
struct fcoe_map map
FC-MAP.
uint8_t reserved
Reserved.
struct fcoe_map map
FC-MAP.
uint8_t reserved[3]
Reserved.
uint8_t len
Length in 32-bit words.
A FIP FKA ADV period descriptor.
uint8_t reserved
Reserved.
uint8_t len
Length in 32-bit words.
uint32_t period
Keep alive advertisement period in milliseconds.
A FIP descriptor containing an encapsulated login frame.
struct fc_login_frame els
ELS frame.
struct fc_frame_header fc
Fibre Channel frame header.
uint8_t reserved[2]
Reserved.
uint8_t len
Length in 32-bit words.
A FIP descriptor containing an encapsulated LOGO request frame.
uint8_t len
Length in 32-bit words.
struct fc_logout_request_frame els
ELS frame.
uint8_t reserved[2]
Reserved.
struct fc_frame_header fc
Fibre Channel frame header.
A FIP descriptor containing an encapsulated LOGO response frame.
uint8_t len
Length in 32-bit words.
struct fc_logout_response_frame els
ELS frame.
struct fc_frame_header fc
Fibre Channel frame header.
uint8_t reserved[2]
Reserved.
A FIP descriptor containing an encapsulated LS_RJT frame.
struct fc_frame_header fc
Fibre Channel frame header.
struct fc_ls_rjt_frame els
ELS frame.
uint8_t reserved[2]
Reserved.
uint8_t len
Length in 32-bit words.
A FIP MAC address descriptor.
uint8_t mac[ETH_ALEN]
MAC address.
uint8_t len
Length in 32-bit words.
A FIP max FCoE size descriptor.
uint8_t len
Length in 32-bit words.
uint16_t mtu
Maximum FCoE size.
A FIP name identifier descriptor.
uint8_t len
Length in 32-bit words.
struct fc_name name
Name identifier.
uint8_t reserved[2]
Reserved.
A FIP priority descriptor.
uint8_t priority
Priority.
uint8_t reserved
Reserved.
uint8_t len
Length in 32-bit words.
A FIP vendor ID descriptor.
uint8_t reserved[2]
Reserved.
uint8_t len
Length in 32-bit words.
uint8_t vendor[8]
Vendor ID.
uint8_t len
Length in 32-bit words.
A FIP Vx port identification descriptor.
struct fc_name name
Port name.
uint8_t len
Length in 32-bit words.
uint8_t mac[ETH_ALEN]
MAC address.
uint8_t reserved
Reserved.
struct fc_port_id id
Address identifier.
struct fip_login flogi_ls_acc
FLOGI LS_ACC descriptor.
struct fip_vendor_id vendor_id
Vendor ID descriptor.
struct fip_ls_rjt elp_ls_rjt
ELP LS_RJT descriptor.
struct fip_fka_adv_p fka_adv_p
FKA ADV period descriptor.
struct fip_common common
Common fields.
struct fip_els npiv_fdisc
NPIV FDISC descriptor.
struct fip_name_id name_id
Name identifier descriptor.
struct fip_elp elp_request
ELP request descriptor.
struct fip_logo_request logo_request
LOGO request descriptor.
struct fip_els flogi
FLOGI descriptor.
struct fip_ls_rjt flogi_ls_rjt
FLOGI LS_RJT descriptor.
struct fip_elp elp_ls_acc
ELP LS_ACC descriptor.
struct fip_login flogi_request
FLOGI request descriptor.
struct fip_logo_response logo_ls_acc
LOGO LS_ACC descriptor.
struct fip_priority priority
Priority descriptor.
struct fip_els logo
LOGO descriptor.
struct fip_max_fcoe_size max_fcoe_size
Max FCoE size descriptor.
struct fip_fabric fabric
Fabric descriptor.
struct fip_ls_rjt logo_ls_rjt
LOGO LS_RJT descriptor.
struct fip_els elp
ELS descriptor.
struct fip_vx_port_id vx_port_id
Vx port identification descriptor.
struct fip_login npiv_fdisc_request
NPIV FDISC request descriptor.
struct fip_vlan vlan
VLAN descriptor.
struct fip_ls_rjt npiv_fdisc_ls_rjt
NPIV FDISC LS_RJT descriptor.
struct fip_login npiv_fdisc_ls_acc
NPIV FDISC LS_ACC descriptor.
struct fip_mac_address mac_address
MAC address descriptor.
struct fip_fc_map fc_map
FC-MAP descriptor.