IB/hfi1: Define 16B Management Packets
Add 16B Management Packet definition. This optimized packet format replaces the ib_other_headers and BTH with a source and destination QP number. To support these packets we introduce struct opa_16b_mgmt into the struct hfi1_16b_header. This packet format is only used for MAD packets using the IB_OPCODE_UD_SEND_ONLY opcode on QP0/1. The original 16B implementation failed to use 16B management packets so now we add their definition. Reviewed-by: Ira Weiny <ira.weiny@intel.com> Signed-off-by: Don Hiatt <don.hiatt@intel.com> Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>hifive-unleashed-5.1
parent
013f64a880
commit
4171a693a5
|
@ -392,6 +392,7 @@ struct hfi1_packet {
|
|||
*/
|
||||
#define OPA_16B_L4_9B 0x00
|
||||
#define OPA_16B_L2_TYPE 0x02
|
||||
#define OPA_16B_L4_FM 0x08
|
||||
#define OPA_16B_L4_IB_LOCAL 0x09
|
||||
#define OPA_16B_L4_IB_GLOBAL 0x0A
|
||||
#define OPA_16B_L4_ETHR OPA_VNIC_L4_ETHR
|
||||
|
|
|
@ -110,6 +110,12 @@ enum {
|
|||
#define LRH_9B_BYTES (FIELD_SIZEOF(struct ib_header, lrh))
|
||||
#define LRH_9B_DWORDS (LRH_9B_BYTES / sizeof(u32))
|
||||
|
||||
/* 24Bits for qpn, upper 8Bits reserved */
|
||||
struct opa_16b_mgmt {
|
||||
__be32 dest_qpn;
|
||||
__be32 src_qpn;
|
||||
};
|
||||
|
||||
struct hfi1_16b_header {
|
||||
u32 lrh[4];
|
||||
union {
|
||||
|
@ -118,6 +124,7 @@ struct hfi1_16b_header {
|
|||
struct ib_other_headers oth;
|
||||
} l;
|
||||
struct ib_other_headers oth;
|
||||
struct opa_16b_mgmt mgmt;
|
||||
} u;
|
||||
} __packed;
|
||||
|
||||
|
|
Loading…
Reference in New Issue