Skip to content

Commit

Permalink
[infiniband] Centralise SMA and GMA queue constants
Browse files Browse the repository at this point in the history
  • Loading branch information
Michael Brown committed Jul 17, 2009
1 parent 887d296 commit 365b8db
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 20 deletions.
14 changes: 7 additions & 7 deletions src/drivers/net/ipoib.c
Expand Up @@ -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,
Expand Down Expand Up @@ -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,
Expand Down Expand Up @@ -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 {
Expand Down Expand Up @@ -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;
Expand All @@ -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;
Expand Down
6 changes: 0 additions & 6 deletions src/include/gpxe/ib_packet.h
Expand Up @@ -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 */
Expand Down
19 changes: 14 additions & 5 deletions src/include/gpxe/infiniband.h
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion src/net/infiniband/ib_packet.c
Expand Up @@ -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 );
Expand Down
2 changes: 1 addition & 1 deletion src/net/infiniband/ib_sma.c
Expand Up @@ -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;
Expand Down

0 comments on commit 365b8db

Please sign in to comment.