Skip to contentSkip to conversation

rdma/ib_pack.h: add new bth opcodes

PATCH In review Robert Pearson 3 participants 5 messages Aug 9, 2010 – Aug 11, 2010 2 messages not in the archive InfiniBand

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 rdma/ib_pack.h: add new bth opcodes

Resending. Managed to mangle the patch in the first send. Please ignore the previous send.

-----Original Message-----
From: Robert Pearson [mailto:[email protected]]
Sent: Monday, August 09, 2010 12:00 AM
To: '[email protected]'
Subject: [PATCH] rdma/ib_pack.h: add new bth opcodes

Several new opcodes have been added since the last time ib_pack.h was updated.
These changes add them.

---

include/rdma/ib_pack.h +38 -1
index cbb50f4..df10acc 100644
@@ -73,8 +73,11 @@ enum {
        IB_OPCODE_UC                                = 0x20,
        IB_OPCODE_RD                                = 0x40,
        IB_OPCODE_UD                                = 0x60,
+       IB_OPCODE_CN                                = 0x80,
+       IB_OPCODE_XRC                               = 0xA0,
 
        /* operations -- just used to define real constants */
+       IB_OPCODE_CNP                               = 0x00,
        IB_OPCODE_SEND_FIRST                        = 0x00,
        IB_OPCODE_SEND_MIDDLE                       = 0x01,
        IB_OPCODE_SEND_LAST                         = 0x02,
@@ -96,6 +99,9 @@ enum {
        IB_OPCODE_ATOMIC_ACKNOWLEDGE                = 0x12,
        IB_OPCODE_COMPARE_SWAP                      = 0x13,
        IB_OPCODE_FETCH_ADD                         = 0x14,
+       IB_OPCODE_RESYNC                            = 0x15,
+       IB_OPCODE_SEND_LAST_WITH_INVALIDATE         = 0x16,
+       IB_OPCODE_SEND_ONLY_WITH_INVALIDATE         = 0x17,
 
        /* real constants follow -- see comment about above IB_OPCODE()
           macro for more details */
@@ -122,6 +128,8 @@ enum {
        IB_OPCODE(RC, ATOMIC_ACKNOWLEDGE),
        IB_OPCODE(RC, COMPARE_SWAP),
        IB_OPCODE(RC, FETCH_ADD),
+       IB_OPCODE(RC, SEND_LAST_WITH_INVALIDATE),
+       IB_OPCODE(RC, SEND_ONLY_WITH_INVALIDATE),
 
        /* UC */
        IB_OPCODE(UC, SEND_FIRST),
@@ -159,10 +167,39 @@ enum {
        IB_OPCODE(RD, ATOMIC_ACKNOWLEDGE),
        IB_OPCODE(RD, COMPARE_SWAP),
        IB_OPCODE(RD, FETCH_ADD),
+       IB_OPCODE(RD, RESYNC),
 
        /* UD */
        IB_OPCODE(UD, SEND_ONLY),
-       IB_OPCODE(UD, SEND_ONLY_WITH_IMMEDIATE)
+       IB_OPCODE(UD, SEND_ONLY_WITH_IMMEDIATE),
+
+       /* CN */
+       IB_OPCODE(CN, CNP),
+
+       /* XRC */
+       IB_OPCODE(XRC, SEND_FIRST),
+       IB_OPCODE(XRC, SEND_MIDDLE),
+       IB_OPCODE(XRC, SEND_LAST),
+       IB_OPCODE(XRC, SEND_LAST_WITH_IMMEDIATE),
+       IB_OPCODE(XRC, SEND_ONLY),
+       IB_OPCODE(XRC, SEND_ONLY_WITH_IMMEDIATE),
+       IB_OPCODE(XRC, RDMA_WRITE_FIRST),
+       IB_OPCODE(XRC, RDMA_WRITE_MIDDLE),
+       IB_OPCODE(XRC, RDMA_WRITE_LAST),
+       IB_OPCODE(XRC, RDMA_WRITE_LAST_WITH_IMMEDIATE),
+       IB_OPCODE(XRC, RDMA_WRITE_ONLY),
+       IB_OPCODE(XRC, RDMA_WRITE_ONLY_WITH_IMMEDIATE),
+       IB_OPCODE(XRC, RDMA_READ_REQUEST),
+       IB_OPCODE(XRC, RDMA_READ_RESPONSE_FIRST),
+       IB_OPCODE(XRC, RDMA_READ_RESPONSE_MIDDLE),
+       IB_OPCODE(XRC, RDMA_READ_RESPONSE_LAST),
+       IB_OPCODE(XRC, RDMA_READ_RESPONSE_ONLY),
+       IB_OPCODE(XRC, ACKNOWLEDGE),
+       IB_OPCODE(XRC, ATOMIC_ACKNOWLEDGE),
+       IB_OPCODE(XRC, COMPARE_SWAP),
+       IB_OPCODE(XRC, FETCH_ADD),
+       IB_OPCODE(XRC, SEND_LAST_WITH_INVALIDATE),
+       IB_OPCODE(XRC, SEND_ONLY_WITH_INVALIDATE),
 };
 
 enum {

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#1 lore raw

include/rdma/ib_pack.h enum { · line 77

Quoted 5 lines · Robert Pearson

Several new opcodes have been added since the last time ib_pack.h was updated. These changes add them.
+++ b/include/rdma/ib_pack.h

include/rdma/ib_pack.h +2 -0
+       IB_OPCODE_CN                                = 0x80,
+       IB_OPCODE_XRC                               = 0xA0,

Is this tied to some IBA 1.2 existing/new annex? pointer would be appreciated

Or.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#2 lore raw
In reply to Robert Pearson
Quoted 3 lines

Several new opcodes have been added since the last time ib_pack.h was updated.
These changes add them.

Will anything make use of these?

include/rdma/ib_pack.h enum { · line 77

Quoted 10 lines
include/rdma/ib_pack.h +2 -0
index cbb50f4..df10acc 100644
@@ -73,8 +73,11 @@ enum {
        IB_OPCODE_UC                                = 0x20,
        IB_OPCODE_RD                                = 0x40,
        IB_OPCODE_UD                                = 0x60,
+       IB_OPCODE_CN                                = 0x80,
+       IB_OPCODE_XRC                               = 0xA0,

The XRC and RD values all look correct, but I must have fallen asleep and missed something. What's CN?

- Sean
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#4 lore raw
In reply to a message not in the archive
Quoted 20 lines · Sean
Quoted 4 lines

Several new opcodes have been added since the last time ib_pack.h was updated.
These changes add them.

Will anything make use of these?

include/rdma/ib_pack.h enum { · line 78

Quoted 11 lines
include/rdma/ib_pack.h +2 -0
index cbb50f4..df10acc 100644
@@ -73,8 +73,11 @@ enum {
         IB_OPCODE_UC                                = 0x20,
         IB_OPCODE_RD                                = 0x40,
         IB_OPCODE_UD                                = 0x60,
+       IB_OPCODE_CN                                = 0x80,
+       IB_OPCODE_XRC                               = 0xA0,
 

The XRC and RD values all look correct, but I must have fallen asleep and missed something. What's CN

Quoted 3 lines

- Sean

Or also asked this question. Thanks to both of you.

CN is (backwards) congestion notification. It has a single opcode and caries no payload. It is described in an annex in IBA Vol 1. I started adding the opcodes for send_xxx_with_invalidate but figured we may as well capture all of them.
My interest is supporting the rxe driver, a software implementation of the IB transport over Ethernet, and we have looked at supporting xrc as an option, and I spent a little time looking at trying to exploit congestion notification to see if it would bu useful in this context.

Bob Pearson

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#6 lore raw
In reply to a message not in the archive
Quoted 3 lines · Bob Pearson

My interest is supporting the rxe driver, a software implementation of the IB transport over Ethernet, [...] I spent a little time looking at trying to exploit congestion notification to see if it would bu useful in this context.

Hi Bob,

As the IB congestion control / notification has the part of the IB switches marking packets with FECNs, I don't see how does IB CCA fits into IBoE scheme, Paul?

Or.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html