mirror of https://github.com/ipxe/ipxe.git
[infiniband] Centralise SMA and GMA queue constants
parent
887d296b88
commit
365b8db5cf
|
@ -394,8 +394,8 @@ static int ipoib_get_path_record ( struct ipoib_device *ipoib,
|
|||
memset ( &av, 0, sizeof ( av ) );
|
||||
av.lid = ibdev->sm_lid;
|
||||
av.sl = ibdev->sm_sl;
|
||||
av.qpn = IB_SA_QPN;
|
||||
av.qkey = IB_GLOBAL_QKEY;
|
||||
av.qpn = IB_QPN_GMA;
|
||||
av.qkey = IB_QKEY_GMA;
|
||||
|
||||
/* Post send request */
|
||||
if ( ( rc = ib_post_send ( ibdev, ipoib->meta.qp, &av,
|
||||
|
@ -455,8 +455,8 @@ static int ipoib_mc_member_record ( struct ipoib_device *ipoib,
|
|||
memset ( &av, 0, sizeof ( av ) );
|
||||
av.lid = ibdev->sm_lid;
|
||||
av.sl = ibdev->sm_sl;
|
||||
av.qpn = IB_SA_QPN;
|
||||
av.qkey = IB_GLOBAL_QKEY;
|
||||
av.qpn = IB_QPN_GMA;
|
||||
av.qkey = IB_QKEY_GMA;
|
||||
|
||||
/* Post send request */
|
||||
if ( ( rc = ib_post_send ( ibdev, ipoib->meta.qp, &av,
|
||||
|
@ -511,7 +511,7 @@ static int ipoib_transmit ( struct net_device *netdev,
|
|||
av.gid_present = 1;
|
||||
if ( dest->mac.qpn == htonl ( IPOIB_BROADCAST_QPN ) ) {
|
||||
/* Broadcast */
|
||||
av.qpn = IB_BROADCAST_QPN;
|
||||
av.qpn = IB_QPN_BROADCAST;
|
||||
av.lid = ipoib->broadcast_lid;
|
||||
gid = &ipoib->broadcast_gid;
|
||||
} else {
|
||||
|
@ -835,7 +835,7 @@ static int ipoib_open ( struct net_device *netdev ) {
|
|||
IPOIB_META_NUM_CQES, &ipoib_meta_cq_op,
|
||||
IPOIB_META_NUM_SEND_WQES,
|
||||
IPOIB_META_NUM_RECV_WQES,
|
||||
IB_GLOBAL_QKEY ) ) != 0 ) {
|
||||
IB_QKEY_GMA ) ) != 0 ) {
|
||||
DBGC ( ipoib, "IPoIB %p could not allocate metadata QP: %s\n",
|
||||
ipoib, strerror ( rc ) );
|
||||
goto err_create_meta_qset;
|
||||
|
@ -847,7 +847,7 @@ static int ipoib_open ( struct net_device *netdev ) {
|
|||
IPOIB_DATA_NUM_CQES, &ipoib_data_cq_op,
|
||||
IPOIB_DATA_NUM_SEND_WQES,
|
||||
IPOIB_DATA_NUM_RECV_WQES,
|
||||
IB_GLOBAL_QKEY ) ) != 0 ) {
|
||||
IB_QKEY_GMA ) ) != 0 ) {
|
||||
DBGC ( ipoib, "IPoIB %p could not allocate data QP: %s\n",
|
||||
ipoib, strerror ( rc ) );
|
||||
goto err_create_data_qset;
|
||||
|
|
|
@ -106,12 +106,6 @@ enum ib_bth_opcode {
|
|||
BTH_OPCODE_UD_SEND = 0x64,
|
||||
};
|
||||
|
||||
/** Default Infiniband partition key */
|
||||
#define IB_PKEY_NONE 0xffff
|
||||
|
||||
/** Subnet management queue pair number */
|
||||
#define IB_QPN_SMP 0
|
||||
|
||||
/** An Infiniband Datagram Extended Transport Header */
|
||||
struct ib_datagram_extended_transport_header {
|
||||
/** Queue key */
|
||||
|
|
|
@ -15,14 +15,23 @@ FILE_LICENCE ( GPL2_OR_LATER );
|
|||
#include <gpxe/ib_packet.h>
|
||||
#include <gpxe/ib_mad.h>
|
||||
|
||||
/** Subnet administrator QPN */
|
||||
#define IB_SA_QPN 1
|
||||
/** Subnet management QPN */
|
||||
#define IB_QPN_SMA 0
|
||||
|
||||
/** Subnet management queue key */
|
||||
#define IB_QKEY_SMA 0
|
||||
|
||||
/** General management QPN */
|
||||
#define IB_QPN_GMA 1
|
||||
|
||||
/** General management queue key */
|
||||
#define IB_QKEY_GMA 0x80010000UL
|
||||
|
||||
/** Broadcast QPN */
|
||||
#define IB_BROADCAST_QPN 0xffffffUL
|
||||
#define IB_QPN_BROADCAST 0xffffffUL
|
||||
|
||||
/** Subnet administrator queue key */
|
||||
#define IB_GLOBAL_QKEY 0x80010000UL
|
||||
/** Default Infiniband partition key */
|
||||
#define IB_PKEY_NONE 0xffff
|
||||
|
||||
/**
|
||||
* Maximum payload size
|
||||
|
|
|
@ -76,7 +76,7 @@ int ib_push ( struct ib_device *ibdev, struct io_buffer *iobuf,
|
|||
lrh_len = ( payload_len + iob_len ( iobuf ) - orig_iob_len );
|
||||
|
||||
/* Construct LRH */
|
||||
vl = ( ( av->qpn == IB_QPN_SMP ) ? IB_VL_SMP : IB_VL_DEFAULT );
|
||||
vl = ( ( av->qpn == IB_QPN_SMA ) ? IB_VL_SMP : IB_VL_DEFAULT );
|
||||
lrh->vl__lver = ( vl << 4 );
|
||||
lnh = ( grh ? IB_LNH_GRH : IB_LNH_BTH );
|
||||
lrh->sl__lnh = ( ( av->sl << 4 ) | lnh );
|
||||
|
|
|
@ -460,7 +460,7 @@ int ib_create_sma ( struct ib_sma *sma, struct ib_device *ibdev,
|
|||
ib_qp_set_ownerdata ( sma->qp, sma );
|
||||
|
||||
/* If we don't get QP0, we can't function */
|
||||
if ( sma->qp->qpn != IB_QPN_SMP ) {
|
||||
if ( sma->qp->qpn != IB_QPN_SMA ) {
|
||||
DBGC ( sma, "SMA %p on QPN %lx, needs to be on QPN 0\n",
|
||||
sma, sma->qp->qpn );
|
||||
rc = -ENOTSUP;
|
||||
|
|
Loading…
Reference in New Issue