Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / ipxe / src / include / ipxe / ib_srp.h
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
10 FILE_LICENCE ( BSD2 );
11
12 #include <stdint.h>
13 #include <ipxe/infiniband.h>
14 #include <ipxe/srp.h>
15
16 /** SRP initiator port identifier for Infiniband */
17 union ib_srp_initiator_port_id {
18         /** SRP version of port identifier */
19         union srp_port_id srp;
20         /** Infiniband version of port identifier */
21         struct {
22                 /** Identifier extension */
23                 union ib_guid id_ext;
24                 /** IB channel adapter GUID */
25                 union ib_guid hca_guid;
26         } __attribute__ (( packed )) ib;
27 };
28
29 /** SRP target port identifier for Infiniband */
30 union ib_srp_target_port_id {
31         /** SRP version of port identifier */
32         union srp_port_id srp;
33         /** Infiniband version of port identifier */
34         struct {
35                 /** Identifier extension */
36                 union ib_guid id_ext;
37                 /** I/O controller GUID */
38                 union ib_guid ioc_guid;
39         } __attribute__ (( packed )) ib;
40 };
41
42 /**
43  * sBFT Infiniband subtable
44  */
45 struct sbft_ib_subtable {
46         /** Source GID */
47         union ib_gid sgid;
48         /** Destination GID */
49         union ib_gid dgid;
50         /** Service ID */
51         union ib_guid service_id;
52         /** Partition key */
53         uint16_t pkey;
54         /** Reserved */
55         uint8_t reserved[6];
56 } __attribute__ (( packed ));
57
58 #endif /* _IPXE_IB_SRP_H */