]> git.openfabrics.org - ~tnikolova/compat-rdma/.git/commitdiff
Interop related fixes for iWarp drivers i40iw and nes
authorTatyana Nikolova <tatyana.e.nikolova@intel.com>
Sun, 14 May 2017 23:28:49 +0000 (16:28 -0700)
committerTatyana Nikolova <tatyana.e.nikolova@intel.com>
Sun, 14 May 2017 23:33:12 +0000 (16:33 -0700)
The fixes are discovered and tested in the OFA Interop
Debug event at the UNH-IOL.

linux-next-pending/0001-i40iw-Don-t-set-0-length-FULPDU-RTR-indication-contr.patch [new file with mode: 0644]
linux-next-pending/0002-i40iw-ACK-MPA-Reject-frame.patch [new file with mode: 0644]
linux-next-pending/0003-nes-Don-t-set-0-length-FULPDU-RTR-indication-control.patch [new file with mode: 0644]
linux-next-pending/0004-nes-ACK-MPA-Reply-frame.patch [new file with mode: 0644]

diff --git a/linux-next-pending/0001-i40iw-Don-t-set-0-length-FULPDU-RTR-indication-contr.patch b/linux-next-pending/0001-i40iw-Don-t-set-0-length-FULPDU-RTR-indication-contr.patch
new file mode 100644 (file)
index 0000000..5c5a3d2
--- /dev/null
@@ -0,0 +1,29 @@
+From 769fee69761ae285cf8b59f55d4cbb1de5a89b9f Mon Sep 17 00:00:00 2001
+From: Tatyana Nikolova <tatyana.e.nikolova@intel.com>
+Date: Sun, 14 May 2017 17:28:30 -0500
+Subject: [PATCH 1/4] i40iw: Don't set 0-length FULPDU RTR indication control
+ flag
+
+Don't set control flag for 0-length FULPDU (Send) RTR indication
+in the enhanced MPA Request/Reply frames, because it isn't supported.
+
+Signed-off-by: Tatyana Nikolova <tatyana.e.nikolova@intel.com>
+---
+ drivers/infiniband/hw/i40iw/i40iw_cm.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/drivers/infiniband/hw/i40iw/i40iw_cm.c b/drivers/infiniband/hw/i40iw/i40iw_cm.c
+index 95a0586..2155fd8 100644
+--- a/drivers/infiniband/hw/i40iw/i40iw_cm.c
++++ b/drivers/infiniband/hw/i40iw/i40iw_cm.c
+@@ -784,7 +784,6 @@ static void i40iw_build_mpa_v2(struct i40iw_cm_node *cm_node,
+       }
+       ctrl_ird |= IETF_PEER_TO_PEER;
+-      ctrl_ird |= IETF_FLPDU_ZERO_LEN;
+       switch (mpa_key) {
+       case MPA_KEY_REQUEST:
+-- 
+1.8.3.1
+
diff --git a/linux-next-pending/0002-i40iw-ACK-MPA-Reject-frame.patch b/linux-next-pending/0002-i40iw-ACK-MPA-Reject-frame.patch
new file mode 100644 (file)
index 0000000..f97082c
--- /dev/null
@@ -0,0 +1,30 @@
+From dedc71c76797eaf154735d160c0d3720af41428e Mon Sep 17 00:00:00 2001
+From: Tatyana Nikolova <tatyana.e.nikolova@intel.com>
+Date: Sun, 14 May 2017 17:30:48 -0500
+Subject: [PATCH 2/4] i40iw: ACK MPA Reject frame
+
+Explicitly ACK the MPA Reject frame so the peer
+does not retransmit the frame.
+
+Signed-off-by: Tatyana Nikolova <tatyana.e.nikolova@intel.com>
+---
+ drivers/infiniband/hw/i40iw/i40iw_cm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/infiniband/hw/i40iw/i40iw_cm.c b/drivers/infiniband/hw/i40iw/i40iw_cm.c
+index 2155fd8..29c335f 100644
+--- a/drivers/infiniband/hw/i40iw/i40iw_cm.c
++++ b/drivers/infiniband/hw/i40iw/i40iw_cm.c
+@@ -2445,8 +2445,8 @@ static void i40iw_handle_rcv_mpa(struct i40iw_cm_node *cm_node,
+               } else {
+                       type = I40IW_CM_EVENT_CONNECTED;
+                       cm_node->state = I40IW_CM_STATE_OFFLOADED;
+-                      i40iw_send_ack(cm_node);
+               }
++              i40iw_send_ack(cm_node);
+               break;
+       default:
+               pr_err("%s wrong cm_node state =%d\n", __func__, cm_node->state);
+-- 
+1.8.3.1
+
diff --git a/linux-next-pending/0003-nes-Don-t-set-0-length-FULPDU-RTR-indication-control.patch b/linux-next-pending/0003-nes-Don-t-set-0-length-FULPDU-RTR-indication-control.patch
new file mode 100644 (file)
index 0000000..6551702
--- /dev/null
@@ -0,0 +1,29 @@
+From eea2e975cec4184e7fe237f2a1c6a32a4bcb26c6 Mon Sep 17 00:00:00 2001
+From: Tatyana Nikolova <tatyana.e.nikolova@intel.com>
+Date: Sun, 14 May 2017 17:42:04 -0500
+Subject: [PATCH 3/4] nes: Don't set 0-length FULPDU RTR indication control
+ flag
+
+Don't set control flag for 0-length FULPDU (Send) RTR indication
+in the enhanced MPA Request/Reply frames, because it isn't supported.
+
+Signed-off-by: Tatyana Nikolova <tatyana.e.nikolova@intel.com>
+---
+ drivers/infiniband/hw/nes/nes_cm.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/drivers/infiniband/hw/nes/nes_cm.c b/drivers/infiniband/hw/nes/nes_cm.c
+index 7f0aa23..b5ea25a 100644
+--- a/drivers/infiniband/hw/nes/nes_cm.c
++++ b/drivers/infiniband/hw/nes/nes_cm.c
+@@ -610,7 +610,6 @@ static void build_mpa_v2(struct nes_cm_node *cm_node,
+               ctrl_ord = cm_node->ord_size & IETF_NO_IRD_ORD;
+       }
+       ctrl_ird |= IETF_PEER_TO_PEER;
+-      ctrl_ird |= IETF_FLPDU_ZERO_LEN;
+       switch (mpa_key) {
+       case MPA_KEY_REQUEST:
+-- 
+1.8.3.1
+
diff --git a/linux-next-pending/0004-nes-ACK-MPA-Reply-frame.patch b/linux-next-pending/0004-nes-ACK-MPA-Reply-frame.patch
new file mode 100644 (file)
index 0000000..7e6cf27
--- /dev/null
@@ -0,0 +1,29 @@
+From 1b70e0c71095b51bfeeed94520cb79ec5d7660dc Mon Sep 17 00:00:00 2001
+From: Tatyana Nikolova <tatyana.e.nikolova@intel.com>
+Date: Sun, 14 May 2017 17:50:51 -0500
+Subject: [PATCH 4/4] nes: ACK MPA Reply frame
+
+Explicitly ACK the MPA Reply frame so the peer
+does not retransmit the frame.
+
+Signed-off-by: Tatyana Nikolova <tatyana.e.nikolova@intel.com>
+---
+ drivers/infiniband/hw/nes/nes_cm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/infiniband/hw/nes/nes_cm.c b/drivers/infiniband/hw/nes/nes_cm.c
+index b5ea25a..7def192 100644
+--- a/drivers/infiniband/hw/nes/nes_cm.c
++++ b/drivers/infiniband/hw/nes/nes_cm.c
+@@ -1825,7 +1825,7 @@ static void handle_rcv_mpa(struct nes_cm_node *cm_node, struct sk_buff *skb)
+                       type = NES_CM_EVENT_CONNECTED;
+                       cm_node->state = NES_CM_STATE_TSA;
+               }
+-
++              send_ack(cm_node, NULL);
+               break;
+       default:
+               WARN_ON(1);
+-- 
+1.8.3.1
+