[infiniband] Centralise SMA and GMA queue constants
authorMichael Brown <mcb30@etherboot.org>
Mon, 6 Jul 2009 19:31:44 +0000 (20:31 +0100)
committerMichael Brown <mcb30@etherboot.org>
Fri, 17 Jul 2009 22:06:33 +0000 (23:06 +0100)
src/drivers/net/ipoib.c
src/include/gpxe/ib_packet.h
src/include/gpxe/infiniband.h
src/net/infiniband/ib_packet.c
src/net/infiniband/ib_sma.c

index a559d01..d6815ec 100644 (file)
@@ -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;
index fb95912..a014352 100644 (file)
@@ -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 */
index 41c55ac..be22b7f 100644 (file)
@@ -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
index d67ba1d..3170a20 100644 (file)
@@ -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 );
index 5fd1319..007b4d1 100644 (file)
@@ -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;