iPXE
ib_srp.h
Go to the documentation of this file.
1#ifndef _IPXE_IB_SRP_H
2#define _IPXE_IB_SRP_H
3
4/** @file
5 *
6 * SCSI RDMA Protocol over Infiniband
7 *
8 */
9
10FILE_LICENCE ( BSD2 );
11FILE_SECBOOT ( PERMITTED );
12
13#include <stdint.h>
14#include <ipxe/acpi.h>
15#include <ipxe/interface.h>
16#include <ipxe/infiniband.h>
17#include <ipxe/srp.h>
18
19/** SRP initiator port identifier for Infiniband */
21 /** SRP version of port identifier */
23 /** Infiniband version of port identifier */
24 struct {
25 /** Identifier extension */
27 /** IB channel adapter GUID */
29 } __attribute__ (( packed )) ib;
30};
31
32/** SRP target port identifier for Infiniband */
34 /** SRP version of port identifier */
36 /** Infiniband version of port identifier */
37 struct {
38 /** Identifier extension */
40 /** I/O controller GUID */
42 } __attribute__ (( packed )) ib;
43};
44
45/**
46 * sBFT Infiniband subtable
47 */
49 /** Source GID */
50 union ib_gid sgid;
51 /** Destination GID */
52 union ib_gid dgid;
53 /** Service ID */
55 /** Partition key */
57 /** Reserved */
59} __attribute__ (( packed ));
60
61/**
62 * An Infiniband SRP sBFT created by iPXE
63 */
65 /** The table header */
67 /** The SCSI subtable */
69 /** The SRP subtable */
71 /** The Infiniband subtable */
73};
74
75/** An Infiniband SRP device */
77 /** Reference count */
78 struct refcnt refcnt;
79
80 /** SRP transport interface */
81 struct interface srp;
82 /** CMRC interface */
84
85 /** Infiniband device */
87
88 /** ACPI descriptor */
90 /** Boot firmware table parameters */
92};
93
94#endif /* _IPXE_IB_SRP_H */
unsigned short uint16_t
Definition stdint.h:11
unsigned char uint8_t
Definition stdint.h:10
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
Definition compiler.h:896
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
Definition compiler.h:926
#define __attribute__(x)
Definition compiler.h:10
ACPI data structures.
Infiniband protocol.
Object interfaces.
SCSI RDMA Protocol.
An ACPI descriptor (used to construct ACPI tables)
Definition acpi.h:295
An Infiniband device.
Definition infiniband.h:399
An Infiniband SRP device.
Definition ib_srp.h:76
struct acpi_descriptor desc
ACPI descriptor.
Definition ib_srp.h:89
struct ib_device * ibdev
Infiniband device.
Definition ib_srp.h:86
struct refcnt refcnt
Reference count.
Definition ib_srp.h:78
struct interface cmrc
CMRC interface.
Definition ib_srp.h:83
struct ipxe_ib_sbft sbft
Boot firmware table parameters.
Definition ib_srp.h:91
struct interface srp
SRP transport interface.
Definition ib_srp.h:81
An object interface.
Definition interface.h:125
An Infiniband SRP sBFT created by iPXE.
Definition ib_srp.h:64
struct sbft_srp_subtable srp
The SRP subtable.
Definition ib_srp.h:70
struct sbft_ib_subtable ib
The Infiniband subtable.
Definition ib_srp.h:72
struct sbft_table table
The table header.
Definition ib_srp.h:66
struct sbft_scsi_subtable scsi
The SCSI subtable.
Definition ib_srp.h:68
sBFT Infiniband subtable
Definition ib_srp.h:48
uint16_t pkey
Partition key.
Definition ib_srp.h:56
union ib_guid service_id
Service ID.
Definition ib_srp.h:54
uint8_t reserved[6]
Reserved.
Definition ib_srp.h:58
union ib_gid sgid
Source GID.
Definition ib_srp.h:50
union ib_gid dgid
Destination GID.
Definition ib_srp.h:52
sBFT SCSI subtable
Definition srp.h:808
sBFT SRP subtable
Definition srp.h:816
SRP Boot Firmware Table.
Definition srp.h:792
An Infiniband Global Identifier.
Definition ib_packet.h:34
An Infiniband Globally Unique Identifier.
Definition ib_packet.h:19
SRP initiator port identifier for Infiniband.
Definition ib_srp.h:20
struct ib_srp_initiator_port_id::@154343277104075276025160007054207111074167164107 ib
Infiniband version of port identifier.
union ib_guid id_ext
Identifier extension.
Definition ib_srp.h:26
union srp_port_id srp
SRP version of port identifier.
Definition ib_srp.h:22
union ib_guid hca_guid
IB channel adapter GUID.
Definition ib_srp.h:28
SRP target port identifier for Infiniband.
Definition ib_srp.h:33
union srp_port_id srp
SRP version of port identifier.
Definition ib_srp.h:35
union ib_guid id_ext
Identifier extension.
Definition ib_srp.h:39
union ib_guid ioc_guid
I/O controller GUID.
Definition ib_srp.h:41
struct ib_srp_target_port_id::@376146030212244076235315256321366362014223144055 ib
Infiniband version of port identifier.
An SRP port ID.
Definition srp.h:37