Re: [ewg] [ANNOUNCE] OFED 1.5.2 rc1 is available

2010-06-14 Thread Or Gerlitz
Or Gerlitz wrote:
 I don't see any mentioning of IBoE open issues, e.g depicted in ofa bz cases 
 such as: bz 2005 Rocce fails when 1 port is IB and the other is Ethernet bz 
 2024 clients fail when global pauses or PPP enabled on switch bz 2043 OFED 
 1.5.1 crashes after running Mcast over RoCE
Hi Tziporet, I didn't see any response from you, can this be addressed?

Or.
___
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg


[ewg] [PATCH v3] IB Core: RAW ETH support

2010-06-14 Thread Alekseys Senin
This patch adds support to RAW ETH QP in ib core.

diff --git a/kernel_patches/fixes/core_0560_raw_eth_common.patch 
b/kernel_patches/fixes/core_0560_raw_eth_common.patch
new file mode 100644
index 000..ae43298
--- /dev/null
+++ b/kernel_patches/fixes/core_0560_raw_eth_common.patch
@@ -0,0 +1,63 @@
+ Add new RAW_ETY QP type in order to build RAW Ethernet packets
+ over iWARP and RoCEE.
+
+
+Signed-off-by: Aleksey Senin aleks...@voltaire.com
+---
+ drivers/infiniband/core/verbs.c |   13 +++--
+ include/rdma/ib_verbs.h |1 +
+ 2 files changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c
+index 881850e..bb4dcd5 100644
+--- a/drivers/infiniband/core/verbs.c
 b/drivers/infiniband/core/verbs.c
+@@ -382,6 +382,7 @@ static const struct {
+   [IB_QPT_UD]  = (IB_QP_PKEY_INDEX
|
+   IB_QP_PORT  
|
+   IB_QP_QKEY),
++  [IB_QPT_RAW_ETH] = IB_QP_PORT,
+   [IB_QPT_UC]  = (IB_QP_PKEY_INDEX
|
+   IB_QP_PORT  
|
+   IB_QP_ACCESS_FLAGS),
+@@ -1004,7 +1005,11 @@ int ib_attach_mcast(struct ib_qp *qp, union ib_gid 
*gid, u16 lid)
+ 
+   switch (rdma_node_get_transport(qp-device-node_type)) {
+   case RDMA_TRANSPORT_IB:
+-  if (gid-raw[0] != 0xff || qp-qp_type != IB_QPT_UD)
++  if (qp-qp_type == IB_QPT_RAW_ETH) {
++  /* In raw Etherent mgids the 63 msb's should be 0 */
++  if (gid-global.subnet_prefix  cpu_to_be64(~1ULL))
++  return -EINVAL;
++  } else if (gid-raw[0] != 0xff || qp-qp_type != IB_QPT_UD)
+   return -EINVAL;
+   break;
+   case RDMA_TRANSPORT_IWARP:
+@@ -1023,7 +1028,11 @@ int ib_detach_mcast(struct ib_qp *qp, union ib_gid 
*gid, u16 lid)
+ 
+   switch (rdma_node_get_transport(qp-device-node_type)) {
+   case RDMA_TRANSPORT_IB:
+-  if (gid-raw[0] != 0xff || qp-qp_type != IB_QPT_UD)
++  if (qp-qp_type == IB_QPT_RAW_ETH) {
++  /* In raw Etherent mgids the 63 msb's should be 0 */
++  if (gid-global.subnet_prefix  cpu_to_be64(~1ULL))
++  return -EINVAL;
++  } else if (gid-raw[0] != 0xff || qp-qp_type != IB_QPT_UD)
+   return -EINVAL;
+   break;
+   case RDMA_TRANSPORT_IWARP:
+diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
+index 3a5a40f..2162253 100644
+--- a/include/rdma/ib_verbs.h
 b/include/rdma/ib_verbs.h
+@@ -571,6 +571,7 @@ enum ib_qp_type {
+   IB_QPT_UD,
+   IB_QPT_XRC,
+   IB_QPT_RAW_IPV6,
++  IB_QPT_RAW_ETH,
+   IB_QPT_RAW_ETY
+ };
+ 
+-- 
+1.6.5.2
+


___
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg


[ewg] [PATCH v3] MLX4: RAW ETH support

2010-06-14 Thread Alekseys Senin
This patch adds RAW ETH support to mlx4 driver.

diff --git a/kernel_patches/fixes/mlx4_x_0050_raw_eth.patch 
b/kernel_patches/fixes/mlx4_x_0050_raw_eth.patch
new file mode 100644
index 000..66a1c54
--- /dev/null
+++ b/kernel_patches/fixes/mlx4_x_0050_raw_eth.patch
@@ -0,0 +1,251 @@
+Add RAW ETH QP support to Mellanox adapters
+This patch relies on the RAW ETH patch to the ib core.
+
+Signed-off-by: Aleksey Senin aleks...@voltaire.com
+---
+ drivers/infiniband/hw/mlx4/main.c |   13 +
+ drivers/infiniband/hw/mlx4/qp.c   |   22 ++
+ drivers/net/mlx4/mcg.c|   22 +-
+ include/linux/mlx4/device.h   |7 +--
+ include/linux/mlx4/driver.h   |5 +
+ 5 files changed, 50 insertions(+), 19 deletions(-)
+
+diff --git a/drivers/infiniband/hw/mlx4/main.c 
b/drivers/infiniband/hw/mlx4/main.c
+index c146b84..43d0ccc 100644
+--- a/drivers/infiniband/hw/mlx4/main.c
 b/drivers/infiniband/hw/mlx4/main.c
+@@ -684,7 +684,9 @@ static int mlx4_ib_mcg_attach(struct ib_qp *ibqp, union 
ib_gid *gid, u16 lid)
+   struct mlx4_ib_qp *mqp = to_mqp(ibqp);
+ 
+   err = mlx4_multicast_attach(mdev-dev, mqp-mqp, gid-raw, 
!!(mqp-flags 
+-  MLX4_IB_QP_BLOCK_MULTICAST_LOOPBACK));
++  MLX4_IB_QP_BLOCK_MULTICAST_LOOPBACK),
++  (ibqp-qp_type == IB_QPT_RAW_ETH) ?
++  MLX4_MCAST_PROT_EN : MLX4_MCAST_PROT_IB);
+   if (err)
+   return err;
+ 
+@@ -695,7 +697,9 @@ static int mlx4_ib_mcg_attach(struct ib_qp *ibqp, union 
ib_gid *gid, u16 lid)
+   return 0;
+ 
+ err_add:
+-  mlx4_multicast_detach(mdev-dev, mqp-mqp, gid-raw);
++  mlx4_multicast_detach(mdev-dev, mqp-mqp, gid-raw,
++  (ibqp-qp_type == IB_QPT_RAW_ETH) ?
++  MLX4_MCAST_PROT_EN : MLX4_MCAST_PROT_IB);
+   return err;
+ }
+ 
+@@ -724,8 +728,9 @@ static int mlx4_ib_mcg_detach(struct ib_qp *ibqp, union 
ib_gid *gid, u16 lid)
+   struct net_device *ndev;
+   struct gid_entry *ge;
+ 
+-  err = mlx4_multicast_detach(mdev-dev,
+-  mqp-mqp, gid-raw);
++  err = mlx4_multicast_detach(mdev-dev, mqp-mqp, gid-raw,
++  (ibqp-qp_type == IB_QPT_RAW_ETH) ?
++  MLX4_MCAST_PROT_EN : MLX4_MCAST_PROT_IB);
+   if (err)
+   return err;
+ 
+diff --git a/drivers/infiniband/hw/mlx4/qp.c b/drivers/infiniband/hw/mlx4/qp.c
+index 422d367..c50e110 100644
+--- a/drivers/infiniband/hw/mlx4/qp.c
 b/drivers/infiniband/hw/mlx4/qp.c
+@@ -811,6 +811,7 @@ struct ib_qp *mlx4_ib_create_qp(struct ib_pd *pd,
+   case IB_QPT_RC:
+   case IB_QPT_UC:
+   case IB_QPT_UD:
++  case IB_QPT_RAW_ETH:
+   {
+   qp = kzalloc(sizeof *qp, GFP_KERNEL);
+   if (!qp)
+@@ -902,6 +903,7 @@ static int to_mlx4_st(enum ib_qp_type type)
+   case IB_QPT_RAW_ETY:
+   case IB_QPT_SMI:
+   case IB_QPT_GSI:return MLX4_QP_ST_MLX;
++  case IB_QPT_RAW_ETH:return MLX4_QP_ST_MLX;
+   default:return -1;
+   }
+ }
+@@ -1064,8 +1066,9 @@ static int __mlx4_ib_modify_qp(struct ib_qp *ibqp,
+   break;
+   }
+   }
+-
+-  if (ibqp-qp_type == IB_QPT_GSI || ibqp-qp_type == IB_QPT_SMI ||
++  if (ibqp-qp_type == IB_QPT_RAW_ETH)
++  context-mtu_msgmax = 0xff;
++  else if (ibqp-qp_type == IB_QPT_GSI || ibqp-qp_type == IB_QPT_SMI ||
+   ibqp-qp_type == IB_QPT_RAW_ETY)
+   context-mtu_msgmax = (IB_MTU_4096  5) | 11;
+   else if (ibqp-qp_type == IB_QPT_UD) {
+@@ -1237,7 +1240,8 @@ static int __mlx4_ib_modify_qp(struct ib_qp *ibqp,
+   if (cur_state == IB_QPS_INIT 
+   new_state == IB_QPS_RTR  
+   (ibqp-qp_type == IB_QPT_GSI || ibqp-qp_type == IB_QPT_SMI ||
+-   ibqp-qp_type == IB_QPT_UD || ibqp-qp_type == IB_QPT_RAW_ETY)) {
++   ibqp-qp_type == IB_QPT_UD || ibqp-qp_type == IB_QPT_RAW_ETY ||
++  ibqp-qp_type == IB_QPT_RAW_ETH)) {
+   context-pri_path.sched_queue = (qp-port - 1)  6;
+   if (is_qp0(dev, qp))
+   context-pri_path.sched_queue |= 
MLX4_IB_DEFAULT_QP0_SCHED_QUEUE;
+@@ -1356,7 +1360,7 @@ int mlx4_ib_modify_qp(struct ib_qp *ibqp, struct 
ib_qp_attr *attr,
+   goto out;
+   }
+ 
+-  if ((attr_mask  IB_QP_PORT) 
++  if ((attr_mask  IB_QP_PORT)  (ibqp-qp_type != IB_QPT_RAW_ETH) 
+   (attr-port_num == 0 || attr-port_num  dev-num_ports)) {
+   mlx4_ib_dbg(qpn 0x%x: invalid port number (%d) specified 
+   for transition %d to %d. qp_type %d,
+@@ -1365,6 +1369,16 @@ int mlx4_ib_modify_qp(struct ib_qp *ibqp, struct 
ib_qp_attr *attr,
+   goto out;
+   }
+ 
++  if ((attr_mask  IB_QP_PORT)  (ibqp-qp_type 

Re: [ewg] [PATCH v3] IB Core: RAW ETH support

2010-06-14 Thread Or Gerlitz
Alekseys Senin wrote:
 + Add new RAW_ETY QP type in order to build RAW Ethernet packets over iWARP 
 and RoCEE.

 +--- a/include/rdma/ib_verbs.h
  b/include/rdma/ib_verbs.h
 +@@ -571,6 +571,7 @@ enum ib_qp_type {
 + IB_QPT_UD,
 + IB_QPT_XRC,
 + IB_QPT_RAW_IPV6,
 ++IB_QPT_RAW_ETH,
 + IB_QPT_RAW_ETY

I got confused here, the change log say you add RAW_ETY wheres the patch adds 
RAW_ETH, which is correct? can you please fix that.

Or.
___
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg


[ewg] [PATCH v4] IB Core: RAW ETH support

2010-06-14 Thread Alekseys Senin
This patch adds support to RAW ETH QP in ib core.

diff --git a/kernel_patches/fixes/core_0560_raw_eth_common.patch 
b/kernel_patches/fixes/core_0560_raw_eth_common.patch
new file mode 100644
index 000..ae43298
--- /dev/null
+++ b/kernel_patches/fixes/core_0560_raw_eth_common.patch
@@ -0,0 +1,63 @@
+ Add new RAW_ETH QP type in order to build RAW Ethernet packets
+ over iWARP and RoCEE.
+
+
+Signed-off-by: Aleksey Senin aleks...@voltaire.com
+---
+ drivers/infiniband/core/verbs.c |   13 +++--
+ include/rdma/ib_verbs.h |1 +
+ 2 files changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c
+index 881850e..bb4dcd5 100644
+--- a/drivers/infiniband/core/verbs.c
 b/drivers/infiniband/core/verbs.c
+@@ -382,6 +382,7 @@ static const struct {
+   [IB_QPT_UD]  = (IB_QP_PKEY_INDEX
|
+   IB_QP_PORT  
|
+   IB_QP_QKEY),
++  [IB_QPT_RAW_ETH] = IB_QP_PORT,
+   [IB_QPT_UC]  = (IB_QP_PKEY_INDEX
|
+   IB_QP_PORT  
|
+   IB_QP_ACCESS_FLAGS),
+@@ -1004,7 +1005,11 @@ int ib_attach_mcast(struct ib_qp *qp, union ib_gid 
*gid, u16 lid)
+ 
+   switch (rdma_node_get_transport(qp-device-node_type)) {
+   case RDMA_TRANSPORT_IB:
+-  if (gid-raw[0] != 0xff || qp-qp_type != IB_QPT_UD)
++  if (qp-qp_type == IB_QPT_RAW_ETH) {
++  /* In raw Etherent mgids the 63 msb's should be 0 */
++  if (gid-global.subnet_prefix  cpu_to_be64(~1ULL))
++  return -EINVAL;
++  } else if (gid-raw[0] != 0xff || qp-qp_type != IB_QPT_UD)
+   return -EINVAL;
+   break;
+   case RDMA_TRANSPORT_IWARP:
+@@ -1023,7 +1028,11 @@ int ib_detach_mcast(struct ib_qp *qp, union ib_gid 
*gid, u16 lid)
+ 
+   switch (rdma_node_get_transport(qp-device-node_type)) {
+   case RDMA_TRANSPORT_IB:
+-  if (gid-raw[0] != 0xff || qp-qp_type != IB_QPT_UD)
++  if (qp-qp_type == IB_QPT_RAW_ETH) {
++  /* In raw Etherent mgids the 63 msb's should be 0 */
++  if (gid-global.subnet_prefix  cpu_to_be64(~1ULL))
++  return -EINVAL;
++  } else if (gid-raw[0] != 0xff || qp-qp_type != IB_QPT_UD)
+   return -EINVAL;
+   break;
+   case RDMA_TRANSPORT_IWARP:
+diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
+index 3a5a40f..2162253 100644
+--- a/include/rdma/ib_verbs.h
 b/include/rdma/ib_verbs.h
+@@ -571,6 +571,7 @@ enum ib_qp_type {
+   IB_QPT_UD,
+   IB_QPT_XRC,
+   IB_QPT_RAW_IPV6,
++  IB_QPT_RAW_ETH,
+   IB_QPT_RAW_ETY
+ };
+ 
+-- 
+1.6.5.2
+


___
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg

___
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg


[ewg] [PATCH v4] MLX4: RAW ETH support

2010-06-14 Thread Alekseys Senin
This patch adds RAW ETH support to mlx4 driver.

diff --git a/kernel_patches/fixes/mlx4_x_0050_raw_eth.patch 
b/kernel_patches/fixes/mlx4_x_0050_raw_eth.patch
new file mode 100644
index 000..66a1c54
--- /dev/null
+++ b/kernel_patches/fixes/mlx4_x_0050_raw_eth.patch
@@ -0,0 +1,251 @@
+Add RAW ETH QP support to Mellanox adapters
+This patch relies on the RAW ETH patch to the ib core.
+
+Signed-off-by: Aleksey Senin aleks...@voltaire.com
+---
+ drivers/infiniband/hw/mlx4/main.c |   13 +
+ drivers/infiniband/hw/mlx4/qp.c   |   22 ++
+ drivers/net/mlx4/mcg.c|   22 +-
+ include/linux/mlx4/device.h   |7 +--
+ include/linux/mlx4/driver.h   |5 +
+ 5 files changed, 50 insertions(+), 19 deletions(-)
+
+diff --git a/drivers/infiniband/hw/mlx4/main.c 
b/drivers/infiniband/hw/mlx4/main.c
+index c146b84..43d0ccc 100644
+--- a/drivers/infiniband/hw/mlx4/main.c
 b/drivers/infiniband/hw/mlx4/main.c
+@@ -684,7 +684,9 @@ static int mlx4_ib_mcg_attach(struct ib_qp *ibqp, union 
ib_gid *gid, u16 lid)
+   struct mlx4_ib_qp *mqp = to_mqp(ibqp);
+ 
+   err = mlx4_multicast_attach(mdev-dev, mqp-mqp, gid-raw, 
!!(mqp-flags 
+-  MLX4_IB_QP_BLOCK_MULTICAST_LOOPBACK));
++  MLX4_IB_QP_BLOCK_MULTICAST_LOOPBACK),
++  (ibqp-qp_type == IB_QPT_RAW_ETH) ?
++  MLX4_MCAST_PROT_EN : MLX4_MCAST_PROT_IB);
+   if (err)
+   return err;
+ 
+@@ -695,7 +697,9 @@ static int mlx4_ib_mcg_attach(struct ib_qp *ibqp, union 
ib_gid *gid, u16 lid)
+   return 0;
+ 
+ err_add:
+-  mlx4_multicast_detach(mdev-dev, mqp-mqp, gid-raw);
++  mlx4_multicast_detach(mdev-dev, mqp-mqp, gid-raw,
++  (ibqp-qp_type == IB_QPT_RAW_ETH) ?
++  MLX4_MCAST_PROT_EN : MLX4_MCAST_PROT_IB);
+   return err;
+ }
+ 
+@@ -724,8 +728,9 @@ static int mlx4_ib_mcg_detach(struct ib_qp *ibqp, union 
ib_gid *gid, u16 lid)
+   struct net_device *ndev;
+   struct gid_entry *ge;
+ 
+-  err = mlx4_multicast_detach(mdev-dev,
+-  mqp-mqp, gid-raw);
++  err = mlx4_multicast_detach(mdev-dev, mqp-mqp, gid-raw,
++  (ibqp-qp_type == IB_QPT_RAW_ETH) ?
++  MLX4_MCAST_PROT_EN : MLX4_MCAST_PROT_IB);
+   if (err)
+   return err;
+ 
+diff --git a/drivers/infiniband/hw/mlx4/qp.c b/drivers/infiniband/hw/mlx4/qp.c
+index 422d367..c50e110 100644
+--- a/drivers/infiniband/hw/mlx4/qp.c
 b/drivers/infiniband/hw/mlx4/qp.c
+@@ -811,6 +811,7 @@ struct ib_qp *mlx4_ib_create_qp(struct ib_pd *pd,
+   case IB_QPT_RC:
+   case IB_QPT_UC:
+   case IB_QPT_UD:
++  case IB_QPT_RAW_ETH:
+   {
+   qp = kzalloc(sizeof *qp, GFP_KERNEL);
+   if (!qp)
+@@ -902,6 +903,7 @@ static int to_mlx4_st(enum ib_qp_type type)
+   case IB_QPT_RAW_ETY:
+   case IB_QPT_SMI:
+   case IB_QPT_GSI:return MLX4_QP_ST_MLX;
++  case IB_QPT_RAW_ETH:return MLX4_QP_ST_MLX;
+   default:return -1;
+   }
+ }
+@@ -1064,8 +1066,9 @@ static int __mlx4_ib_modify_qp(struct ib_qp *ibqp,
+   break;
+   }
+   }
+-
+-  if (ibqp-qp_type == IB_QPT_GSI || ibqp-qp_type == IB_QPT_SMI ||
++  if (ibqp-qp_type == IB_QPT_RAW_ETH)
++  context-mtu_msgmax = 0xff;
++  else if (ibqp-qp_type == IB_QPT_GSI || ibqp-qp_type == IB_QPT_SMI ||
+   ibqp-qp_type == IB_QPT_RAW_ETY)
+   context-mtu_msgmax = (IB_MTU_4096  5) | 11;
+   else if (ibqp-qp_type == IB_QPT_UD) {
+@@ -1237,7 +1240,8 @@ static int __mlx4_ib_modify_qp(struct ib_qp *ibqp,
+   if (cur_state == IB_QPS_INIT 
+   new_state == IB_QPS_RTR  
+   (ibqp-qp_type == IB_QPT_GSI || ibqp-qp_type == IB_QPT_SMI ||
+-   ibqp-qp_type == IB_QPT_UD || ibqp-qp_type == IB_QPT_RAW_ETY)) {
++   ibqp-qp_type == IB_QPT_UD || ibqp-qp_type == IB_QPT_RAW_ETY ||
++  ibqp-qp_type == IB_QPT_RAW_ETH)) {
+   context-pri_path.sched_queue = (qp-port - 1)  6;
+   if (is_qp0(dev, qp))
+   context-pri_path.sched_queue |= 
MLX4_IB_DEFAULT_QP0_SCHED_QUEUE;
+@@ -1356,7 +1360,7 @@ int mlx4_ib_modify_qp(struct ib_qp *ibqp, struct 
ib_qp_attr *attr,
+   goto out;
+   }
+ 
+-  if ((attr_mask  IB_QP_PORT) 
++  if ((attr_mask  IB_QP_PORT)  (ibqp-qp_type != IB_QPT_RAW_ETH) 
+   (attr-port_num == 0 || attr-port_num  dev-num_ports)) {
+   mlx4_ib_dbg(qpn 0x%x: invalid port number (%d) specified 
+   for transition %d to %d. qp_type %d,
+@@ -1365,6 +1369,16 @@ int mlx4_ib_modify_qp(struct ib_qp *ibqp, struct 
ib_qp_attr *attr,
+   goto out;
+   }
+ 
++  if ((attr_mask  IB_QP_PORT)  (ibqp-qp_type == 

Re: [ewg] [PATCH v4] IB Core: RAW ETH support

2010-06-14 Thread Eli Cohen
Vlad,
please push to OFED.

On Mon, Jun 14, 2010 at 11:48 AM, Alekseys Senin aleks...@voltaire.com wrote:
 This patch adds support to RAW ETH QP in ib core.

 diff --git a/kernel_patches/fixes/core_0560_raw_eth_common.patch 
 b/kernel_patches/fixes/core_0560_raw_eth_common.patch
 new file mode 100644
 index 000..ae43298
 --- /dev/null
 +++ b/kernel_patches/fixes/core_0560_raw_eth_common.patch
 @@ -0,0 +1,63 @@
 + Add new RAW_ETH QP type in order to build RAW Ethernet packets
 + over iWARP and RoCEE.
 +
 +
 +Signed-off-by: Aleksey Senin aleks...@voltaire.com
 +---
 + drivers/infiniband/core/verbs.c |   13 +++--
 + include/rdma/ib_verbs.h         |    1 +
 + 2 files changed, 12 insertions(+), 2 deletions(-)
 +
 +diff --git a/drivers/infiniband/core/verbs.c 
 b/drivers/infiniband/core/verbs.c
 +index 881850e..bb4dcd5 100644
 +--- a/drivers/infiniband/core/verbs.c
  b/drivers/infiniband/core/verbs.c
 +@@ -382,6 +382,7 @@ static const struct {
 +                               [IB_QPT_UD]  = (IB_QP_PKEY_INDEX              
   |
 +                                               IB_QP_PORT                    
   |
 +                                               IB_QP_QKEY),
 ++                              [IB_QPT_RAW_ETH] = IB_QP_PORT,
 +                               [IB_QPT_UC]  = (IB_QP_PKEY_INDEX              
   |
 +                                               IB_QP_PORT                    
   |
 +                                               IB_QP_ACCESS_FLAGS),
 +@@ -1004,7 +1005,11 @@ int ib_attach_mcast(struct ib_qp *qp, union ib_gid 
 *gid, u16 lid)
 +
 +       switch (rdma_node_get_transport(qp-device-node_type)) {
 +       case RDMA_TRANSPORT_IB:
 +-              if (gid-raw[0] != 0xff || qp-qp_type != IB_QPT_UD)
 ++              if (qp-qp_type == IB_QPT_RAW_ETH) {
 ++                      /* In raw Etherent mgids the 63 msb's should be 0 */
 ++                      if (gid-global.subnet_prefix  cpu_to_be64(~1ULL))
 ++                              return -EINVAL;
 ++              } else if (gid-raw[0] != 0xff || qp-qp_type != IB_QPT_UD)
 +                       return -EINVAL;
 +               break;
 +       case RDMA_TRANSPORT_IWARP:
 +@@ -1023,7 +1028,11 @@ int ib_detach_mcast(struct ib_qp *qp, union ib_gid 
 *gid, u16 lid)
 +
 +       switch (rdma_node_get_transport(qp-device-node_type)) {
 +       case RDMA_TRANSPORT_IB:
 +-              if (gid-raw[0] != 0xff || qp-qp_type != IB_QPT_UD)
 ++              if (qp-qp_type == IB_QPT_RAW_ETH) {
 ++                      /* In raw Etherent mgids the 63 msb's should be 0 */
 ++                      if (gid-global.subnet_prefix  cpu_to_be64(~1ULL))
 ++                              return -EINVAL;
 ++              } else if (gid-raw[0] != 0xff || qp-qp_type != IB_QPT_UD)
 +                       return -EINVAL;
 +               break;
 +       case RDMA_TRANSPORT_IWARP:
 +diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
 +index 3a5a40f..2162253 100644
 +--- a/include/rdma/ib_verbs.h
  b/include/rdma/ib_verbs.h
 +@@ -571,6 +571,7 @@ enum ib_qp_type {
 +       IB_QPT_UD,
 +       IB_QPT_XRC,
 +       IB_QPT_RAW_IPV6,
 ++      IB_QPT_RAW_ETH,
 +       IB_QPT_RAW_ETY
 + };
 +
 +--
 +1.6.5.2
 +


 ___
 ewg mailing list
 ewg@lists.openfabrics.org
 http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg

 ___
 ewg mailing list
 ewg@lists.openfabrics.org
 http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg

___
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg


Re: [ewg] [PATCH v4] MLX4: RAW ETH support

2010-06-14 Thread Eli Cohen
On Mon, Jun 14, 2010 at 11:56 AM, Alekseys Senin aleks...@voltaire.com wrote:

 +@@ -902,6 +903,7 @@ static int to_mlx4_st(enum ib_qp_type type)
 +       case IB_QPT_RAW_ETY:
 +       case IB_QPT_SMI:
 +       case IB_QPT_GSI:        return MLX4_QP_ST_MLX;
 ++      case IB_QPT_RAW_ETH:    return MLX4_QP_ST_MLX;
It would look cleaner if you'd remove the first return above let it
fallback to the later.
___
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg


Re: [ewg] [PATCH v4] IB Core: RAW ETH support

2010-06-14 Thread Or Gerlitz
Alekseys Senin wrote:
 This patch adds support to RAW ETH QP in ib core.
are these patches applicable to the mainstream kernel code or would only 
apply/function over ofed?

Or.
___
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg


Re: [ewg] [PATCH v4] IB Core: RAW ETH support

2010-06-14 Thread Moni Shoua
The patches can't be applies to upstream kernel. An attempt to do this
failed about a week or 2 ago.
I guess that some of RoCEE patches are still missing in kernel upstream.

-Original Message-
From: Or Gerlitz 
Sent: Monday, June 14, 2010 12:15 PM
To: Aleksey Senin
Cc: Vladimir Sokolovsky; v...@dev.mellanox.co.il; e...@openfabrics.org;
e...@mellanox.co.il; Moni Shoua
Subject: Re: [ewg] [PATCH v4] IB Core: RAW ETH support

Alekseys Senin wrote:
 This patch adds support to RAW ETH QP in ib core.
are these patches applicable to the mainstream kernel code or would only
apply/function over ofed?

Or.
___
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg


[ewg] ofa_1_5_kernel 20100614-0200 daily build status

2010-06-14 Thread Vladimir Sokolovsky (Mellanox)
This email was generated automatically, please do not reply


git_url: git://git.openfabrics.org/ofed_1_5/linux-2.6.git
git_branch: ofed_kernel_1_5

Common build parameters: 

Passed:
Passed on i686 with linux-2.6.21.1
Passed on i686 with linux-2.6.18
Passed on i686 with linux-2.6.19
Passed on i686 with linux-2.6.26
Passed on i686 with linux-2.6.24
Passed on i686 with linux-2.6.22
Passed on i686 with linux-2.6.27
Passed on x86_64 with linux-2.6.16.60-0.54.5-smp
Passed on x86_64 with linux-2.6.16.60-0.21-smp
Passed on x86_64 with linux-2.6.18
Passed on x86_64 with linux-2.6.18-128.el5
Passed on x86_64 with linux-2.6.18-164.el5
Passed on x86_64 with linux-2.6.18-194.el5
Passed on x86_64 with linux-2.6.19
Passed on x86_64 with linux-2.6.18-93.el5
Passed on x86_64 with linux-2.6.20
Passed on x86_64 with linux-2.6.21.1
Passed on x86_64 with linux-2.6.22
Passed on x86_64 with linux-2.6.26
Passed on x86_64 with linux-2.6.24
Passed on x86_64 with linux-2.6.25
Passed on x86_64 with linux-2.6.27
Passed on x86_64 with linux-2.6.27.19-5-smp
Passed on x86_64 with linux-2.6.9-67.ELsmp
Passed on x86_64 with linux-2.6.9-78.ELsmp
Passed on x86_64 with linux-2.6.9-89.ELsmp
Passed on ia64 with linux-2.6.19
Passed on ia64 with linux-2.6.18
Passed on ia64 with linux-2.6.21.1
Passed on ia64 with linux-2.6.23
Passed on ia64 with linux-2.6.22
Passed on ia64 with linux-2.6.26
Passed on ia64 with linux-2.6.24
Passed on ia64 with linux-2.6.25
Passed on ppc64 with linux-2.6.18
Passed on ppc64 with linux-2.6.19

Failed:
___
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg


Re: [ewg] [PATCH v4] IB Core: RAW ETH support

2010-06-14 Thread Or Gerlitz
Moni Shoua wrote:
 The patches can't be applies to upstream kernel. An attempt to do this 
 failed. I guess that some of RoCEE patches are still missing in kernel 
 upstream.
Eli, can you elaborate on that? is there any real dependence between the 
RoCE patches to the raw qp ones? what is this dependence in high level, 
is it placement of change sets in the code or actual flows?

Or.
___
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg


[ewg] [PATCH v5] IB Core: RAW ETH support

2010-06-14 Thread Alekseys Senin
This patch adds support to RAW ETH QP in ib core.

diff --git a/kernel_patches/fixes/core_0560_raw_eth_common.patch 
b/kernel_patches/fixes/core_0560_raw_eth_common.patch
new file mode 100644
index 000..ae43298
--- /dev/null
+++ b/kernel_patches/fixes/core_0560_raw_eth_common.patch
@@ -0,0 +1,63 @@
+ Add new RAW_ETH QP type in order to build RAW Ethernet packets
+ over iWARP and RoCEE.
+
+
+Signed-off-by: Aleksey Senin aleks...@voltaire.com
+---
+ drivers/infiniband/core/verbs.c |   13 +++--
+ include/rdma/ib_verbs.h |1 +
+ 2 files changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c
+index 881850e..bb4dcd5 100644
+--- a/drivers/infiniband/core/verbs.c
 b/drivers/infiniband/core/verbs.c
+@@ -382,6 +382,7 @@ static const struct {
+   [IB_QPT_UD]  = (IB_QP_PKEY_INDEX
|
+   IB_QP_PORT  
|
+   IB_QP_QKEY),
++  [IB_QPT_RAW_ETH] = IB_QP_PORT,
+   [IB_QPT_UC]  = (IB_QP_PKEY_INDEX
|
+   IB_QP_PORT  
|
+   IB_QP_ACCESS_FLAGS),
+@@ -1004,7 +1005,11 @@ int ib_attach_mcast(struct ib_qp *qp, union ib_gid 
*gid, u16 lid)
+ 
+   switch (rdma_node_get_transport(qp-device-node_type)) {
+   case RDMA_TRANSPORT_IB:
+-  if (gid-raw[0] != 0xff || qp-qp_type != IB_QPT_UD)
++  if (qp-qp_type == IB_QPT_RAW_ETH) {
++  /* In raw Etherent mgids the 63 msb's should be 0 */
++  if (gid-global.subnet_prefix  cpu_to_be64(~1ULL))
++  return -EINVAL;
++  } else if (gid-raw[0] != 0xff || qp-qp_type != IB_QPT_UD)
+   return -EINVAL;
+   break;
+   case RDMA_TRANSPORT_IWARP:
+@@ -1023,7 +1028,11 @@ int ib_detach_mcast(struct ib_qp *qp, union ib_gid 
*gid, u16 lid)
+ 
+   switch (rdma_node_get_transport(qp-device-node_type)) {
+   case RDMA_TRANSPORT_IB:
+-  if (gid-raw[0] != 0xff || qp-qp_type != IB_QPT_UD)
++  if (qp-qp_type == IB_QPT_RAW_ETH) {
++  /* In raw Etherent mgids the 63 msb's should be 0 */
++  if (gid-global.subnet_prefix  cpu_to_be64(~1ULL))
++  return -EINVAL;
++  } else if (gid-raw[0] != 0xff || qp-qp_type != IB_QPT_UD)
+   return -EINVAL;
+   break;
+   case RDMA_TRANSPORT_IWARP:
+diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
+index 3a5a40f..2162253 100644
+--- a/include/rdma/ib_verbs.h
 b/include/rdma/ib_verbs.h
+@@ -571,6 +571,7 @@ enum ib_qp_type {
+   IB_QPT_UD,
+   IB_QPT_XRC,
+   IB_QPT_RAW_IPV6,
++  IB_QPT_RAW_ETH,
+   IB_QPT_RAW_ETY
+ };
+ 
+-- 
+1.6.5.2
+

___
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg


[ewg] [PATCH v5] MLX: RAW ETH support

2010-06-14 Thread Alekseys Senin
RAW ETH Mellanox support
Diffs from V4:
Removed unnecessary 'return' from to_mlx4_st function


Signed-off-by: Aleksey Senin aleks...@voltaire.com
---
 kernel_patches/fixes/mlx4_x_0050_raw_eth.patch |  255 
 1 files changed, 255 insertions(+), 0 deletions(-)
 create mode 100644 kernel_patches/fixes/mlx4_x_0050_raw_eth.patch

diff --git a/kernel_patches/fixes/mlx4_x_0050_raw_eth.patch 
b/kernel_patches/fixes/mlx4_x_0050_raw_eth.patch
new file mode 100644
index 000..8e72d3c
--- /dev/null
+++ b/kernel_patches/fixes/mlx4_x_0050_raw_eth.patch
@@ -0,0 +1,255 @@
+From 37e6adf1ff039e13242636e988299e53099798d1 Mon Sep 17 00:00:00 2001
+From: Aleksey Senin aleks...@voltaire.com
+Date: Mon, 14 Jun 2010 13:32:37 +0300
+Subject: [PATCH] Mellanox RAW ETH support
+
+This patch adds RAW ETH support for Mellanox drivers
+
+Signed-off-by: Aleksey Senin aleks...@voltaire.com
+---
+ drivers/infiniband/hw/mlx4/main.c |   13 +
+ drivers/infiniband/hw/mlx4/qp.c   |   24 +++-
+ drivers/net/mlx4/mcg.c|   20 
+ include/linux/mlx4/device.h   |7 +--
+ include/linux/mlx4/driver.h   |5 +
+ 5 files changed, 50 insertions(+), 19 deletions(-)
+
+diff --git a/drivers/infiniband/hw/mlx4/main.c 
b/drivers/infiniband/hw/mlx4/main.c
+index c146b84..43d0ccc 100644
+--- a/drivers/infiniband/hw/mlx4/main.c
 b/drivers/infiniband/hw/mlx4/main.c
+@@ -684,7 +684,9 @@ static int mlx4_ib_mcg_attach(struct ib_qp *ibqp, union 
ib_gid *gid, u16 lid)
+   struct mlx4_ib_qp *mqp = to_mqp(ibqp);
+ 
+   err = mlx4_multicast_attach(mdev-dev, mqp-mqp, gid-raw, 
!!(mqp-flags 
+-  MLX4_IB_QP_BLOCK_MULTICAST_LOOPBACK));
++  MLX4_IB_QP_BLOCK_MULTICAST_LOOPBACK),
++  (ibqp-qp_type == IB_QPT_RAW_ETH) ?
++  MLX4_MCAST_PROT_EN : MLX4_MCAST_PROT_IB);
+   if (err)
+   return err;
+ 
+@@ -695,7 +697,9 @@ static int mlx4_ib_mcg_attach(struct ib_qp *ibqp, union 
ib_gid *gid, u16 lid)
+   return 0;
+ 
+ err_add:
+-  mlx4_multicast_detach(mdev-dev, mqp-mqp, gid-raw);
++  mlx4_multicast_detach(mdev-dev, mqp-mqp, gid-raw,
++  (ibqp-qp_type == IB_QPT_RAW_ETH) ?
++  MLX4_MCAST_PROT_EN : MLX4_MCAST_PROT_IB);
+   return err;
+ }
+ 
+@@ -724,8 +728,9 @@ static int mlx4_ib_mcg_detach(struct ib_qp *ibqp, union 
ib_gid *gid, u16 lid)
+   struct net_device *ndev;
+   struct gid_entry *ge;
+ 
+-  err = mlx4_multicast_detach(mdev-dev,
+-  mqp-mqp, gid-raw);
++  err = mlx4_multicast_detach(mdev-dev, mqp-mqp, gid-raw,
++  (ibqp-qp_type == IB_QPT_RAW_ETH) ?
++  MLX4_MCAST_PROT_EN : MLX4_MCAST_PROT_IB);
+   if (err)
+   return err;
+ 
+diff --git a/drivers/infiniband/hw/mlx4/qp.c b/drivers/infiniband/hw/mlx4/qp.c
+index 1fe4d77..a0dd1d5 100644
+--- a/drivers/infiniband/hw/mlx4/qp.c
 b/drivers/infiniband/hw/mlx4/qp.c
+@@ -811,6 +811,7 @@ struct ib_qp *mlx4_ib_create_qp(struct ib_pd *pd,
+   case IB_QPT_RC:
+   case IB_QPT_UC:
+   case IB_QPT_UD:
++  case IB_QPT_RAW_ETH:
+   {
+   qp = kzalloc(sizeof *qp, GFP_KERNEL);
+   if (!qp)
+@@ -901,7 +902,8 @@ static int to_mlx4_st(enum ib_qp_type type)
+   case IB_QPT_XRC:return MLX4_QP_ST_XRC;
+   case IB_QPT_RAW_ETY:
+   case IB_QPT_SMI:
+-  case IB_QPT_GSI:return MLX4_QP_ST_MLX;
++  case IB_QPT_GSI:
++  case IB_QPT_RAW_ETH:return MLX4_QP_ST_MLX;
+   default:return -1;
+   }
+ }
+@@ -1066,8 +1068,9 @@ static int __mlx4_ib_modify_qp(struct ib_qp *ibqp,
+   break;
+   }
+   }
+-
+-  if (ibqp-qp_type == IB_QPT_GSI || ibqp-qp_type == IB_QPT_SMI ||
++  if (ibqp-qp_type == IB_QPT_RAW_ETH)
++  context-mtu_msgmax = 0xff;
++  else if (ibqp-qp_type == IB_QPT_GSI || ibqp-qp_type == IB_QPT_SMI ||
+   ibqp-qp_type == IB_QPT_RAW_ETY)
+   context-mtu_msgmax = (IB_MTU_4096  5) | 11;
+   else if (ibqp-qp_type == IB_QPT_UD) {
+@@ -1239,7 +1242,8 @@ static int __mlx4_ib_modify_qp(struct ib_qp *ibqp,
+   if (cur_state == IB_QPS_INIT 
+   new_state == IB_QPS_RTR  
+   (ibqp-qp_type == IB_QPT_GSI || ibqp-qp_type == IB_QPT_SMI ||
+-   ibqp-qp_type == IB_QPT_UD || ibqp-qp_type == IB_QPT_RAW_ETY)) {
++   ibqp-qp_type == IB_QPT_UD || ibqp-qp_type == IB_QPT_RAW_ETY ||
++  ibqp-qp_type == IB_QPT_RAW_ETH)) {
+   context-pri_path.sched_queue = (qp-port - 1)  6;
+   if (is_qp0(dev, qp))
+   context-pri_path.sched_queue |= 
MLX4_IB_DEFAULT_QP0_SCHED_QUEUE;
+@@ -1358,7 +1362,7 @@ int mlx4_ib_modify_qp(struct ib_qp *ibqp, struct 
ib_qp_attr *attr,
+  

Re: [ewg] [PATCH v4] IB Core: RAW ETH support

2010-06-14 Thread Eli Cohen
I don't think there is a substantial dependence between RoCEE and raw
ethernet. I don't know what Moni meant. Moni? 

-Original Message-
From: Or Gerlitz [mailto:ogerl...@voltaire.com] 
Sent: Monday, June 14, 2010 1:42 PM
To: Moni Shoua; Eli Cohen
Cc: Aleksey Senin; Vladimir Sokolovsky; v...@dev.mellanox.co.il; 
e...@openfabrics.org
Subject: Re: [ewg] [PATCH v4] IB Core: RAW ETH support

Moni Shoua wrote:
 The patches can't be applies to upstream kernel. An attempt to do this 
 failed. I guess that some of RoCEE patches are still missing in kernel 
 upstream.
Eli, can you elaborate on that? is there any real dependence between the RoCE 
patches to the raw qp ones? what is this dependence in high level, is it 
placement of change sets in the code or actual flows?

Or.
___
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg


Re: [ewg] [PATCH v5] IB Core: RAW ETH support

2010-06-14 Thread Vladimir Sokolovsky
Alekseys Senin wrote:
 This patch adds support to RAW ETH QP in ib core.
 
 diff --git a/kernel_patches/fixes/core_0560_raw_eth_common.patch 
 b/kernel_patches/fixes/core_0560_raw_eth_common.patch

Hi Aleksey,
This patches do not pass scripts/checkpatch.pl:

ERROR: patch seems to be corrupt (line wrapped?)
#54: FILE: kernel_patches/fixes/mlx4_x_0050_raw_eth.patch:13:
4/main.c

Please send them in text format (not HTML) and not from Microsoft Outlook.

Thanks,
Vladimir

 new file mode 100644
 index 000..ae43298
 --- /dev/null
 +++ b/kernel_patches/fixes/core_0560_raw_eth_common.patch
 @@ -0,0 +1,63 @@
 + Add new RAW_ETH QP type in order to build RAW Ethernet packets
 + over iWARP and RoCEE.
 +
 +
 +Signed-off-by: Aleksey Senin aleks...@voltaire.com
 +---
 + drivers/infiniband/core/verbs.c |   13 +++--
 + include/rdma/ib_verbs.h |1 +
 + 2 files changed, 12 insertions(+), 2 deletions(-)
 +
 +diff --git a/drivers/infiniband/core/verbs.c 
 b/drivers/infiniband/core/verbs.c
 +index 881850e..bb4dcd5 100644
 +--- a/drivers/infiniband/core/verbs.c
  b/drivers/infiniband/core/verbs.c
 +@@ -382,6 +382,7 @@ static const struct {
 + [IB_QPT_UD]  = (IB_QP_PKEY_INDEX
 |
 + IB_QP_PORT  
 |
 + IB_QP_QKEY),
 ++[IB_QPT_RAW_ETH] = IB_QP_PORT,
 + [IB_QPT_UC]  = (IB_QP_PKEY_INDEX
 |
 + IB_QP_PORT  
 |
 + IB_QP_ACCESS_FLAGS),
 +@@ -1004,7 +1005,11 @@ int ib_attach_mcast(struct ib_qp *qp, union ib_gid 
 *gid, u16 lid)
 + 
 + switch (rdma_node_get_transport(qp-device-node_type)) {
 + case RDMA_TRANSPORT_IB:
 +-if (gid-raw[0] != 0xff || qp-qp_type != IB_QPT_UD)
 ++if (qp-qp_type == IB_QPT_RAW_ETH) {
 ++/* In raw Etherent mgids the 63 msb's should be 0 */
 ++if (gid-global.subnet_prefix  cpu_to_be64(~1ULL))
 ++return -EINVAL;
 ++} else if (gid-raw[0] != 0xff || qp-qp_type != IB_QPT_UD)
 + return -EINVAL;
 + break;
 + case RDMA_TRANSPORT_IWARP:
 +@@ -1023,7 +1028,11 @@ int ib_detach_mcast(struct ib_qp *qp, union ib_gid 
 *gid, u16 lid)
 + 
 + switch (rdma_node_get_transport(qp-device-node_type)) {
 + case RDMA_TRANSPORT_IB:
 +-if (gid-raw[0] != 0xff || qp-qp_type != IB_QPT_UD)
 ++if (qp-qp_type == IB_QPT_RAW_ETH) {
 ++/* In raw Etherent mgids the 63 msb's should be 0 */
 ++if (gid-global.subnet_prefix  cpu_to_be64(~1ULL))
 ++return -EINVAL;
 ++} else if (gid-raw[0] != 0xff || qp-qp_type != IB_QPT_UD)
 + return -EINVAL;
 + break;
 + case RDMA_TRANSPORT_IWARP:
 +diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
 +index 3a5a40f..2162253 100644
 +--- a/include/rdma/ib_verbs.h
  b/include/rdma/ib_verbs.h
 +@@ -571,6 +571,7 @@ enum ib_qp_type {
 + IB_QPT_UD,
 + IB_QPT_XRC,
 + IB_QPT_RAW_IPV6,
 ++IB_QPT_RAW_ETH,
 + IB_QPT_RAW_ETY
 + };
 + 
 +-- 
 +1.6.5.2
 +
 
 

___
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg


Re: [ewg] [PATCH v4] IB Core: RAW ETH support

2010-06-14 Thread Alekseys Senin
I tested it before on the Roland tree ( iboe branch ) and it fails,
because it writen in the way suitable for OFED. If adapt the patch to
the Roland tree, then appling Mellanox OFED patches will fail, because
it changes the same functions in the code.
Here is one example:
Look at __mlx4_ib_modify_qp at the Roland tree - there is no RAW_ETY
support. But in the OFED version of the same function this support is
present.
RAW_ETH patch modify this function and looking for RAW_ETY word and
without this RAW_ETH Mellanox patch will fail.

The similar thing happens with patch for the verbs. There is no iWARP
present in the Roland tree.

On Mon, 2010-06-14 at 13:50 +0300, Eli Cohen wrote:
 I don't think there is a substantial dependence between RoCEE and raw
 ethernet. I don't know what Moni meant. Moni? 
 
 -Original Message-
 From: Or Gerlitz [mailto:ogerl...@voltaire.com] 
 Sent: Monday, June 14, 2010 1:42 PM
 To: Moni Shoua; Eli Cohen
 Cc: Aleksey Senin; Vladimir Sokolovsky; v...@dev.mellanox.co.il; 
 e...@openfabrics.org
 Subject: Re: [ewg] [PATCH v4] IB Core: RAW ETH support
 
 Moni Shoua wrote:
  The patches can't be applies to upstream kernel. An attempt to do this 
  failed. I guess that some of RoCEE patches are still missing in kernel 
  upstream.
 Eli, can you elaborate on that? is there any real dependence between the RoCE 
 patches to the raw qp ones? what is this dependence in high level, is it 
 placement of change sets in the code or actual flows?
 
 Or.

___
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg


Re: [ewg] [ANNOUNCE] OFED 1.5.2 rc1 is available

2010-06-14 Thread Tziporet Koren

On 6/14/2010 10:30 AM, Or Gerlitz wrote:

Or Gerlitz wrote:
   

I don't see any mentioning of IBoE open issues, e.g depicted in ofa bz cases such as: bz 2005 Rocce 
fails when 1 port is IB and the other is Ethernet bz 2024 clients fail when global pauses or PPP 
enabled on switch bz 2043 OFED 1.5.1 crashes after running Mcast over RoCE
 

Hi Tziporet, I didn't see any response from you, can this be addressed?

Or.

   

Hi Or
Sorry for not answering before

Issue 2043 - is already fixed

Issue 2005 - We released 2.7.700 FW that solve this issue.

Issue 2024 - Eli just answered in bugzilla.


Tziporet



___
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg

Re: [ewg] [ANNOUNCE] OFED 1.5.2 rc1 is available

2010-06-14 Thread Or Gerlitz
Tziporet Koren wrote:
 Hi Or, sorry for not answering before
 Issue 2043 - is already fixed
 Issue 2005 - We released 2.7.700 FW that solve this issue.
 Issue 2024 - Eli just answered in bugzilla.

Hi Tziporet,

1st and most, good to hear from you... thanks for the detailed answer. 

Still, for bz 2024, Eli's reply was addressing a case where the Cisco switch 
was instrumented for PFC, but not the case of global pause under which the 
problem still happens, per the original description. 

Did someone from Mellanox actually got to validate bz 2043, it was declared 
fixed and verified in the very same minute and by the same person...

Or.
___
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg


Re: [ewg] [ANNOUNCE] OFED 1.5.2 rc1 is available

2010-06-14 Thread Tziporet Koren
On 6/14/2010 2:17 PM, Or Gerlitz wrote:
 Did someone from Mellanox actually got to validate bz 2043, it was declared 
 fixed and verified in the very same minute and by the same person...


I will check

Tziporet

___
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg


Re: [ewg] [ANNOUNCE] OFED 1.5.2 rc1 is available

2010-06-14 Thread Eli Cohen
Or,
I don't know what you're talking about WRT 2043. It's status is RESOLVED, not 
VERIFIED. And you may address me directly, we've met a few times, haven't we?

We'll check about the global frames case.

-Original Message-
From: Or Gerlitz [mailto:ogerl...@voltaire.com] 
Sent: Monday, June 14, 2010 2:17 PM
To: tzipo...@dev.mellanox.co.il
Cc: OpenFabrics EWG; Eli Cohen
Subject: Re: [ewg] [ANNOUNCE] OFED 1.5.2 rc1 is available

Tziporet Koren wrote:
 Hi Or, sorry for not answering before
 Issue 2043 - is already fixed
 Issue 2005 - We released 2.7.700 FW that solve this issue.
 Issue 2024 - Eli just answered in bugzilla.

Hi Tziporet,

1st and most, good to hear from you... thanks for the detailed answer. 

Still, for bz 2024, Eli's reply was addressing a case where the Cisco switch 
was instrumented for PFC, but not the case of global pause under which the 
problem still happens, per the original description. 

Did someone from Mellanox actually got to validate bz 2043, it was declared 
fixed and verified in the very same minute and by the same person...

Or.
___
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg


Re: [ewg] [ANNOUNCE] OFED 1.5.2 rc1 is available

2010-06-14 Thread Or Gerlitz
Eli Cohen wrote:
 I don't know what you're talking about WRT 2043. It's status is RESOLVED, 
 not VERIFIED. And you may address me directly [...] we'll check about the 
 global frames case
Hi Eli, please hold the horses... I was confusing between resolved to 
verified, mistakes happen, you know. Saying all that, thanks for 
looking into validating the case!

Or.
___
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg


Re: [ewg] [ANNOUNCE] OFED 1.5.2 rc1 is available

2010-06-14 Thread Eli Cohen
OK, no problem. 

-Original Message-
From: Or Gerlitz [mailto:ogerl...@voltaire.com] 
Sent: Monday, June 14, 2010 3:10 PM
To: Eli Cohen
Cc: tzipo...@dev.mellanox.co.il; OpenFabrics EWG
Subject: Re: [ewg] [ANNOUNCE] OFED 1.5.2 rc1 is available

Eli Cohen wrote:
 I don't know what you're talking about WRT 2043. It's status is 
 RESOLVED, not VERIFIED. And you may address me directly [...] 
 we'll check about the global frames case
Hi Eli, please hold the horses... I was confusing between resolved to 
verified, mistakes happen, you know. Saying all that, thanks for looking into 
validating the case!

Or.
___
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg


[ewg] [PATCH v6] IB CORE: RAW ETH support

2010-06-14 Thread Aleksey Senin
This patch add RAW ETH support to IB core.


Signed-off-by: Aleksey Senin aleks...@voltaire.com
---
 .../fixes/core_0560_raw_eth_common.patch   |   66 
 1 files changed, 66 insertions(+), 0 deletions(-)
 create mode 100644 kernel_patches/fixes/core_0560_raw_eth_common.patch

diff --git a/kernel_patches/fixes/core_0560_raw_eth_common.patch 
b/kernel_patches/fixes/core_0560_raw_eth_common.patch
new file mode 100644
index 000..52d7be7
--- /dev/null
+++ b/kernel_patches/fixes/core_0560_raw_eth_common.patch
@@ -0,0 +1,66 @@
+From b76993213461212cfdb40817b454513a91ee4e6e Mon Sep 17 00:00:00 2001
+From: Aleksey Senin aleks...@voltaire.com
+Date: Mon, 14 Jun 2010 15:20:40 +0300
+Subject: [PATCH 1/2] Verbs RAW ETH support
+
+This patch add RAW ETH support in IB core.
+
+Signed-off-by: Aleksey Senin aleks...@voltaire.com
+---
+ drivers/infiniband/core/verbs.c |   13 +++--
+ include/rdma/ib_verbs.h |1 +
+ 2 files changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c
+index 881850e..bb4dcd5 100644
+--- a/drivers/infiniband/core/verbs.c
 b/drivers/infiniband/core/verbs.c
+@@ -382,6 +382,7 @@ static const struct {
+   [IB_QPT_UD]  = (IB_QP_PKEY_INDEX
|
+   IB_QP_PORT  
|
+   IB_QP_QKEY),
++  [IB_QPT_RAW_ETH] = IB_QP_PORT,
+   [IB_QPT_UC]  = (IB_QP_PKEY_INDEX
|
+   IB_QP_PORT  
|
+   IB_QP_ACCESS_FLAGS),
+@@ -1004,7 +1005,11 @@ int ib_attach_mcast(struct ib_qp *qp, union ib_gid 
*gid, u16 lid)
+ 
+   switch (rdma_node_get_transport(qp-device-node_type)) {
+   case RDMA_TRANSPORT_IB:
+-  if (gid-raw[0] != 0xff || qp-qp_type != IB_QPT_UD)
++  if (qp-qp_type == IB_QPT_RAW_ETH) {
++  /* In raw Etherent mgids the 63 msb's should be 0 */
++  if (gid-global.subnet_prefix  cpu_to_be64(~1ULL))
++  return -EINVAL;
++  } else if (gid-raw[0] != 0xff || qp-qp_type != IB_QPT_UD)
+   return -EINVAL;
+   break;
+   case RDMA_TRANSPORT_IWARP:
+@@ -1023,7 +1028,11 @@ int ib_detach_mcast(struct ib_qp *qp, union ib_gid 
*gid, u16 lid)
+ 
+   switch (rdma_node_get_transport(qp-device-node_type)) {
+   case RDMA_TRANSPORT_IB:
+-  if (gid-raw[0] != 0xff || qp-qp_type != IB_QPT_UD)
++  if (qp-qp_type == IB_QPT_RAW_ETH) {
++  /* In raw Etherent mgids the 63 msb's should be 0 */
++  if (gid-global.subnet_prefix  cpu_to_be64(~1ULL))
++  return -EINVAL;
++  } else if (gid-raw[0] != 0xff || qp-qp_type != IB_QPT_UD)
+   return -EINVAL;
+   break;
+   case RDMA_TRANSPORT_IWARP:
+diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
+index 3a5a40f..2162253 100644
+--- a/include/rdma/ib_verbs.h
 b/include/rdma/ib_verbs.h
+@@ -571,6 +571,7 @@ enum ib_qp_type {
+   IB_QPT_UD,
+   IB_QPT_XRC,
+   IB_QPT_RAW_IPV6,
++  IB_QPT_RAW_ETH,
+   IB_QPT_RAW_ETY
+ };
+ 
+-- 
+1.6.5.2
+
-- 
1.6.5.2

___
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg


[ewg] [PATCH v6] MLX: RAW ETH support

2010-06-14 Thread Aleksey Senin
This patch add RAW ETH support in mlx4 driver.


Signed-off-by: Aleksey Senin aleks...@voltaire.com
---
 kernel_patches/fixes/mlx4_x_0050_raw_eth.patch |  255 
 1 files changed, 255 insertions(+), 0 deletions(-)
 create mode 100644 kernel_patches/fixes/mlx4_x_0050_raw_eth.patch

diff --git a/kernel_patches/fixes/mlx4_x_0050_raw_eth.patch 
b/kernel_patches/fixes/mlx4_x_0050_raw_eth.patch
new file mode 100644
index 000..c8f89c0
--- /dev/null
+++ b/kernel_patches/fixes/mlx4_x_0050_raw_eth.patch
@@ -0,0 +1,255 @@
+From fb0b22d037f469b8f052ec650aeed78f4d21cec9 Mon Sep 17 00:00:00 2001
+From: Aleksey Senin aleks...@voltaire.com
+Date: Mon, 14 Jun 2010 15:26:25 +0300
+Subject: [PATCH 2/2] Mellanox RAW ETH support.
+ Add RAW ETH support in mlx4 drivers.
+
+
+Signed-off-by: Aleksey Senin aleks...@voltaire.com
+---
+ drivers/infiniband/hw/mlx4/main.c |   13 +
+ drivers/infiniband/hw/mlx4/qp.c   |   24 +++-
+ drivers/net/mlx4/mcg.c|   20 
+ include/linux/mlx4/device.h   |7 +--
+ include/linux/mlx4/driver.h   |5 +
+ 5 files changed, 50 insertions(+), 19 deletions(-)
+
+diff --git a/drivers/infiniband/hw/mlx4/main.c 
b/drivers/infiniband/hw/mlx4/main.c
+index c146b84..43d0ccc 100644
+--- a/drivers/infiniband/hw/mlx4/main.c
 b/drivers/infiniband/hw/mlx4/main.c
+@@ -684,7 +684,9 @@ static int mlx4_ib_mcg_attach(struct ib_qp *ibqp, union 
ib_gid *gid, u16 lid)
+   struct mlx4_ib_qp *mqp = to_mqp(ibqp);
+ 
+   err = mlx4_multicast_attach(mdev-dev, mqp-mqp, gid-raw, 
!!(mqp-flags 
+-  MLX4_IB_QP_BLOCK_MULTICAST_LOOPBACK));
++  MLX4_IB_QP_BLOCK_MULTICAST_LOOPBACK),
++  (ibqp-qp_type == IB_QPT_RAW_ETH) ?
++  MLX4_MCAST_PROT_EN : MLX4_MCAST_PROT_IB);
+   if (err)
+   return err;
+ 
+@@ -695,7 +697,9 @@ static int mlx4_ib_mcg_attach(struct ib_qp *ibqp, union 
ib_gid *gid, u16 lid)
+   return 0;
+ 
+ err_add:
+-  mlx4_multicast_detach(mdev-dev, mqp-mqp, gid-raw);
++  mlx4_multicast_detach(mdev-dev, mqp-mqp, gid-raw,
++  (ibqp-qp_type == IB_QPT_RAW_ETH) ?
++  MLX4_MCAST_PROT_EN : MLX4_MCAST_PROT_IB);
+   return err;
+ }
+ 
+@@ -724,8 +728,9 @@ static int mlx4_ib_mcg_detach(struct ib_qp *ibqp, union 
ib_gid *gid, u16 lid)
+   struct net_device *ndev;
+   struct gid_entry *ge;
+ 
+-  err = mlx4_multicast_detach(mdev-dev,
+-  mqp-mqp, gid-raw);
++  err = mlx4_multicast_detach(mdev-dev, mqp-mqp, gid-raw,
++  (ibqp-qp_type == IB_QPT_RAW_ETH) ?
++  MLX4_MCAST_PROT_EN : MLX4_MCAST_PROT_IB);
+   if (err)
+   return err;
+ 
+diff --git a/drivers/infiniband/hw/mlx4/qp.c b/drivers/infiniband/hw/mlx4/qp.c
+index 1fe4d77..a0dd1d5 100644
+--- a/drivers/infiniband/hw/mlx4/qp.c
 b/drivers/infiniband/hw/mlx4/qp.c
+@@ -811,6 +811,7 @@ struct ib_qp *mlx4_ib_create_qp(struct ib_pd *pd,
+   case IB_QPT_RC:
+   case IB_QPT_UC:
+   case IB_QPT_UD:
++  case IB_QPT_RAW_ETH:
+   {
+   qp = kzalloc(sizeof *qp, GFP_KERNEL);
+   if (!qp)
+@@ -901,7 +902,8 @@ static int to_mlx4_st(enum ib_qp_type type)
+   case IB_QPT_XRC:return MLX4_QP_ST_XRC;
+   case IB_QPT_RAW_ETY:
+   case IB_QPT_SMI:
+-  case IB_QPT_GSI:return MLX4_QP_ST_MLX;
++  case IB_QPT_GSI:
++  case IB_QPT_RAW_ETH:return MLX4_QP_ST_MLX;
+   default:return -1;
+   }
+ }
+@@ -1066,8 +1068,9 @@ static int __mlx4_ib_modify_qp(struct ib_qp *ibqp,
+   break;
+   }
+   }
+-
+-  if (ibqp-qp_type == IB_QPT_GSI || ibqp-qp_type == IB_QPT_SMI ||
++  if (ibqp-qp_type == IB_QPT_RAW_ETH)
++  context-mtu_msgmax = 0xff;
++  else if (ibqp-qp_type == IB_QPT_GSI || ibqp-qp_type == IB_QPT_SMI ||
+   ibqp-qp_type == IB_QPT_RAW_ETY)
+   context-mtu_msgmax = (IB_MTU_4096  5) | 11;
+   else if (ibqp-qp_type == IB_QPT_UD) {
+@@ -1239,7 +1242,8 @@ static int __mlx4_ib_modify_qp(struct ib_qp *ibqp,
+   if (cur_state == IB_QPS_INIT 
+   new_state == IB_QPS_RTR  
+   (ibqp-qp_type == IB_QPT_GSI || ibqp-qp_type == IB_QPT_SMI ||
+-   ibqp-qp_type == IB_QPT_UD || ibqp-qp_type == IB_QPT_RAW_ETY)) {
++   ibqp-qp_type == IB_QPT_UD || ibqp-qp_type == IB_QPT_RAW_ETY ||
++  ibqp-qp_type == IB_QPT_RAW_ETH)) {
+   context-pri_path.sched_queue = (qp-port - 1)  6;
+   if (is_qp0(dev, qp))
+   context-pri_path.sched_queue |= 
MLX4_IB_DEFAULT_QP0_SCHED_QUEUE;
+@@ -1358,7 +1362,7 @@ int mlx4_ib_modify_qp(struct ib_qp *ibqp, struct 
ib_qp_attr *attr,
+   goto out;
+   }
+ 
+-  if ((attr_mask  

Re: [ewg] [PATCH v6] IB CORE: RAW ETH support

2010-06-14 Thread Vladimir Sokolovsky
Aleksey Senin wrote:
 This patch add RAW ETH support to IB core.
 
 
 Signed-off-by: Aleksey Senin aleks...@voltaire.com
 ---

Applied,

Regards,
Vladimir
___
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg


Re: [ewg] [PATCH v6] MLX: RAW ETH support

2010-06-14 Thread Vladimir Sokolovsky
Aleksey Senin wrote:
 This patch add RAW ETH support in mlx4 driver.
 
 
 Signed-off-by: Aleksey Senin aleks...@voltaire.com
 ---


Applied,

Regards,
Vladimir
___
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg


[ewg] RAW ETH for NES

2010-06-14 Thread Aleksey Senin
Hi, Miroslaw.
My patches for new RAW ETH was applied to the OFED kernel so can you fix your 
code to use RAW ETH instead of RAW ETY and push changes to OFED?

thanks.


___
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg


Re: [ewg] [PATCH] ofa_kernel madeye.c

2010-06-14 Thread Mike Heinz
Thanks!

From: Vladimir Sokolovsky [v...@dev.mellanox.co.il]
Sent: Sunday, June 13, 2010 5:01 AM
To: Mike Heinz
Cc: e...@openfabrics.org
Subject: Re: [ewg] [PATCH] ofa_kernel madeye.c

Mike Heinz wrote:
 This is a simple fix. Several of the snoop filters in 
 ./drivers/infiniband/util/madeye.c don't switch the attribute id to host byte 
 order before checking it.

 Signed-off-by: Michael Heinz michael.he...@qlogic.com


Applied,

Regards,
Vladimir
___
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg


Re: [ewg] RAW_ETH support [PATCH 1/2]

2010-06-14 Thread Moni Shoua
Hi Vlad
Please apply this patch.
Now, when RAW patches that you accepted today are applied, RAW ETH QP support 
is broken for NE driver unless this patch is applied.

thanks

Aleksey Senin wrote:
 This patch will fix existing NES code to support RAW_ETH instead of RAW_ETY 
 type.
 
 
 Signed-off-by: Aleksey Senin aleks...@voltaire.com
 ---
  kernel_patches/fixes/nes_0033_ima.patch |   10 +-
  1 files changed, 5 insertions(+), 5 deletions(-)
 
 diff --git a/kernel_patches/fixes/nes_0033_ima.patch 
 b/kernel_patches/fixes/nes_0033_ima.patch
 index ed21edd..304fe73 100755
 --- a/kernel_patches/fixes/nes_0033_ima.patch
 +++ b/kernel_patches/fixes/nes_0033_ima.patch
 @@ -1,8 +1,8 @@
  RDMA/nes: add support of iWARP multicast acceleration over
 - IB_QPT_RAW_ETY QP type
 + IB_QPT_RAW_ETH QP type
  
  This patch implements iWarp multicast acceleration (IMA)
 -over IB_QPT_RAW_ETY QP type in nes driver.
 +over IB_QPT_RAW_ETH QP type in nes driver.
  
  Application creates a raw eth QP (IBV_QPT_RAW_ETH in user-space) and
  manages the multicast via ibv_attach_mcast and ibv_detach_mcast calls.
 @@ -2301,7 +2301,7 @@ index 098b56f..1801a54 100644
  -nes_debug(NES_DBG_QP, Invalid QP type: %d\n, 
 init_attr-qp_type);
  -return ERR_PTR(-EINVAL);
  +
 -+case IB_QPT_RAW_ETY:
 ++case IB_QPT_RAW_ETH:
  +if (!ibpd-uobject)
  +return ERR_PTR(-EINVAL);
  +
 @@ -2428,7 +2428,7 @@ index 098b56f..1801a54 100644
   atomic_inc(sw_qps_destroyed);
   nesqp-destroyed = 1;
   
 -+if (nesqp-ibqp.qp_type == IB_QPT_RAW_ETY) {
 ++if (nesqp-ibqp.qp_type == IB_QPT_RAW_ETH) {
  +/* check the QP refernece count */
  +if (atomic_read(nesqp-refcount) == 0)
  +BUG();
 @@ -2558,7 +2558,7 @@ index 098b56f..1801a54 100644
   nesqp-hwqp.qp_id, attr-qp_state, nesqp-ibqp_state,
   nesqp-iwarp_state, atomic_read(nesqp-refcount));
   
 -+if (ibqp-qp_type == IB_QPT_RAW_ETY)
 ++if (ibqp-qp_type == IB_QPT_RAW_ETH)
  +return 0;
  +
   spin_lock_irqsave(nesqp-lock, qplockflags);

___
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg


Re: [ewg] RAW_ETH support [PATCH 1/2]

2010-06-14 Thread Vladimir Sokolovsky
Moni Shoua wrote:
 Hi Vlad
 Please apply this patch.
 Now, when RAW patches that you accepted today are applied, RAW ETH QP support 
 is broken for NE driver unless this patch is applied.
 
 thanks
 

Applied,

Regards,
Vladimir


 Aleksey Senin wrote:
 This patch will fix existing NES code to support RAW_ETH instead of RAW_ETY 
 type.


 Signed-off-by: Aleksey Senin aleks...@voltaire.com
 ---
  kernel_patches/fixes/nes_0033_ima.patch |   10 +-
  1 files changed, 5 insertions(+), 5 deletions(-)

 diff --git a/kernel_patches/fixes/nes_0033_ima.patch 
 b/kernel_patches/fixes/nes_0033_ima.patch
 index ed21edd..304fe73 100755
 --- a/kernel_patches/fixes/nes_0033_ima.patch
 +++ b/kernel_patches/fixes/nes_0033_ima.patch
 @@ -1,8 +1,8 @@
  RDMA/nes: add support of iWARP multicast acceleration over
 -IB_QPT_RAW_ETY QP type
 +IB_QPT_RAW_ETH QP type
  
  This patch implements iWarp multicast acceleration (IMA)
 -over IB_QPT_RAW_ETY QP type in nes driver.
 +over IB_QPT_RAW_ETH QP type in nes driver.
  
  Application creates a raw eth QP (IBV_QPT_RAW_ETH in user-space) and
  manages the multicast via ibv_attach_mcast and ibv_detach_mcast calls.
 @@ -2301,7 +2301,7 @@ index 098b56f..1801a54 100644
  -   nes_debug(NES_DBG_QP, Invalid QP type: %d\n, 
 init_attr-qp_type);
  -   return ERR_PTR(-EINVAL);
  +
 -+   case IB_QPT_RAW_ETY:
 ++   case IB_QPT_RAW_ETH:
  +   if (!ibpd-uobject)
  +   return ERR_PTR(-EINVAL);
  +
 @@ -2428,7 +2428,7 @@ index 098b56f..1801a54 100644
  atomic_inc(sw_qps_destroyed);
  nesqp-destroyed = 1;
   
 -+   if (nesqp-ibqp.qp_type == IB_QPT_RAW_ETY) {
 ++   if (nesqp-ibqp.qp_type == IB_QPT_RAW_ETH) {
  +   /* check the QP refernece count */
  +   if (atomic_read(nesqp-refcount) == 0)
  +   BUG();
 @@ -2558,7 +2558,7 @@ index 098b56f..1801a54 100644
  nesqp-hwqp.qp_id, attr-qp_state, nesqp-ibqp_state,
  nesqp-iwarp_state, atomic_read(nesqp-refcount));
   
 -+   if (ibqp-qp_type == IB_QPT_RAW_ETY)
 ++   if (ibqp-qp_type == IB_QPT_RAW_ETH)
  +   return 0;
  +
  spin_lock_irqsave(nesqp-lock, qplockflags);
 
 ___
 ewg mailing list
 ewg@lists.openfabrics.org
 http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg
 

___
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg


[ewg] 2.6.32 patch has carriage returns in it that are causing rejects

2010-06-14 Thread Jeff Becker
I cloned ofed_1_5/linux-2.6.git and tried to do:

./ofed_scripts/ofed_patch.sh --with-backport=2.6.32

It rejected kernel_patches/backport/2.6.32/mlx4_semaphore_include.patch
because the latter ends lines with carriage return and newline. I
checked other patches and they only have newline. Should I submit a
patch to the patch? Thanks.

-jeff
___
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg

Re: [ewg] 2.6.32 patch has carriage returns in it that are causing rejects

2010-06-14 Thread Jeff Becker
On 06/14/10 11:16, Jeff Becker wrote:
 I cloned ofed_1_5/linux-2.6.git and tried to do:

 ./ofed_scripts/ofed_patch.sh --with-backport=2.6.32

 It rejected
 kernel_patches/backport/2.6.32/mlx4_semaphore_include.patch because
 the latter ends lines with carriage return and newline. I checked
 other patches and they only have newline. Should I submit a patch to
 the patch? Thanks.

I find the ^M's in:

kernel_patches/backport/2.6.32/new_frags_interface.patch
kernel_patches/backport/2.6.32/net_skb-dst_accessors.patch

as well. Is there a special option I need to give to ofed_checkout.sh?
Thanks.

-jeff


 -jeff

___
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg