All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Wang <yun.wang-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
To: Roland Dreier <roland-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Sean Hefty <sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Hal Rosenstock
	<hal-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>,
	Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: Michael Wang <yun.wang-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>,
	Tom Tucker
	<tom-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>,
	Steve Wise
	<swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>,
	Hoang-Nam Nguyen
	<hnguyen-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>,
	Christoph Raisch <raisch-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>,
	Mike Marciniszyn
	<infinipath-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Eli Cohen <eli-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
	Faisal Latif
	<faisal.latif-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Jack Morgenstein
	<jackm-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>,
	Or Gerlitz <ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
	Haggai Eran <haggaie-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
	Ira Weiny <ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Tom Talpey <tom-CLs1Zie5N5HQT0dZR+AlfA@public.gmane.org>,
	Jason Gunthorpe
	<jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>,
	Devesh Sharma
	<Devesh.Sharma-iH1Dq9VlAzfQT0dZR+AlfA@public.gmane.org>,
	Liran Liss <liranl-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
	Dave Goodell <dgoodell-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org>
Subject: [PATCH v8 23/23] IB/Verbs: Use management helper rdma_cap_eth_ah()
Date: Tue,  5 May 2015 14:50:40 +0200	[thread overview]
Message-ID: <1430830240-32389-24-git-send-email-yun.wang@profitbricks.com> (raw)
In-Reply-To: <1430830240-32389-1-git-send-email-yun.wang-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>

Introduce helper rdma_cap_eth_ah() to help us check if the port of an
IB device support Ethernet Address Handler.

Signed-off-by: Michael Wang <yun.wang-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
---
 drivers/infiniband/core/cma.c      |  2 +-
 drivers/infiniband/core/sa_query.c |  2 +-
 drivers/infiniband/core/verbs.c    |  4 ++--
 include/rdma/ib_verbs.h            | 15 +++++++++++++++
 4 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c
index a6cbf42..0a3e859 100644
--- a/drivers/infiniband/core/cma.c
+++ b/drivers/infiniband/core/cma.c
@@ -711,7 +711,7 @@ static int cma_ib_init_qp_attr(struct rdma_id_private *id_priv,
 	int ret;
 	u16 pkey;
 
-	if (rdma_protocol_iboe(id_priv->id.device, id_priv->id.port_num))
+	if (rdma_cap_eth_ah(id_priv->id.device, id_priv->id.port_num))
 		pkey = 0xffff;
 	else
 		pkey = ib_addr_get_pkey(dev_addr);
diff --git a/drivers/infiniband/core/sa_query.c b/drivers/infiniband/core/sa_query.c
index 30aa5e5..7f7c8c9 100644
--- a/drivers/infiniband/core/sa_query.c
+++ b/drivers/infiniband/core/sa_query.c
@@ -540,7 +540,7 @@ int ib_init_ah_from_path(struct ib_device *device, u8 port_num,
 	ah_attr->port_num = port_num;
 	ah_attr->static_rate = rec->rate;
 
-	force_grh = rdma_protocol_iboe(device, port_num);
+	force_grh = rdma_cap_eth_ah(device, port_num);
 
 	if (rec->hop_limit > 1 || force_grh) {
 		ah_attr->ah_flags = IB_AH_GRH;
diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c
index 7dd2f51..d110a5e 100644
--- a/drivers/infiniband/core/verbs.c
+++ b/drivers/infiniband/core/verbs.c
@@ -200,7 +200,7 @@ int ib_init_ah_from_wc(struct ib_device *device, u8 port_num, struct ib_wc *wc,
 	int ret;
 
 	memset(ah_attr, 0, sizeof *ah_attr);
-	if (rdma_protocol_iboe(device, port_num)) {
+	if (rdma_cap_eth_ah(device, port_num)) {
 		if (!(wc->wc_flags & IB_WC_GRH))
 			return -EPROTOTYPE;
 
@@ -869,7 +869,7 @@ int ib_resolve_eth_l2_attrs(struct ib_qp *qp,
 	union ib_gid  sgid;
 
 	if ((*qp_attr_mask & IB_QP_AV)  &&
-	    (rdma_protocol_iboe(qp->device, qp_attr->ah_attr.port_num))) {
+	    (rdma_cap_eth_ah(qp->device, qp_attr->ah_attr.port_num))) {
 		ret = ib_query_gid(qp->device, qp_attr->ah_attr.port_num,
 				   qp_attr->ah_attr.grh.sgid_index, &sgid);
 		if (ret)
diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
index 41f8445..721c378 100644
--- a/include/rdma/ib_verbs.h
+++ b/include/rdma/ib_verbs.h
@@ -1880,6 +1880,21 @@ static inline bool rdma_cap_af_ib(struct ib_device *device, u8 port_num)
 }
 
 /**
+ * rdma_cap_eth_ah - Check if the port of device has the capability
+ * Ethernet Address Handler.
+ *
+ * @device: Device to be checked
+ * @port_num: Port number of the device
+ *
+ * Return false when port of the device don't support
+ * Ethernet Address Handler.
+ */
+static inline bool rdma_cap_eth_ah(struct ib_device *device, u8 port_num)
+{
+	return rdma_protocol_iboe(device, port_num);
+}
+
+/**
  * rdma_cap_read_multi_sge - Check if the port of device has the capability
  * RDMA Read Multiple Scatter-Gather Entries.
  *
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: Michael Wang <yun.wang@profitbricks.com>
To: Roland Dreier <roland@kernel.org>,
	Sean Hefty <sean.hefty@intel.com>,
	Hal Rosenstock <hal@dev.mellanox.co.il>,
	Doug Ledford <dledford@redhat.com>,
	linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: Michael Wang <yun.wang@profitbricks.com>,
	Tom Tucker <tom@opengridcomputing.com>,
	Steve Wise <swise@opengridcomputing.com>,
	Hoang-Nam Nguyen <hnguyen@de.ibm.com>,
	Christoph Raisch <raisch@de.ibm.com>,
	Mike Marciniszyn <infinipath@intel.com>,
	Eli Cohen <eli@mellanox.com>,
	Faisal Latif <faisal.latif@intel.com>,
	Jack Morgenstein <jackm@dev.mellanox.co.il>,
	Or Gerlitz <ogerlitz@mellanox.com>,
	Haggai Eran <haggaie@mellanox.com>,
	Ira Weiny <ira.weiny@intel.com>, Tom Talpey <tom@talpey.com>,
	Jason Gunthorpe <jgunthorpe@obsidianresearch.com>,
	Devesh Sharma <Devesh.Sharma@Emulex.Com>,
	Liran Liss <liranl@mellanox.com>,
	Dave Goodell <dgoodell@cisco.com>
Subject: [PATCH v8 23/23] IB/Verbs: Use management helper rdma_cap_eth_ah()
Date: Tue,  5 May 2015 14:50:40 +0200	[thread overview]
Message-ID: <1430830240-32389-24-git-send-email-yun.wang@profitbricks.com> (raw)
In-Reply-To: <1430830240-32389-1-git-send-email-yun.wang@profitbricks.com>

Introduce helper rdma_cap_eth_ah() to help us check if the port of an
IB device support Ethernet Address Handler.

Signed-off-by: Michael Wang <yun.wang@profitbricks.com>
---
 drivers/infiniband/core/cma.c      |  2 +-
 drivers/infiniband/core/sa_query.c |  2 +-
 drivers/infiniband/core/verbs.c    |  4 ++--
 include/rdma/ib_verbs.h            | 15 +++++++++++++++
 4 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c
index a6cbf42..0a3e859 100644
--- a/drivers/infiniband/core/cma.c
+++ b/drivers/infiniband/core/cma.c
@@ -711,7 +711,7 @@ static int cma_ib_init_qp_attr(struct rdma_id_private *id_priv,
 	int ret;
 	u16 pkey;
 
-	if (rdma_protocol_iboe(id_priv->id.device, id_priv->id.port_num))
+	if (rdma_cap_eth_ah(id_priv->id.device, id_priv->id.port_num))
 		pkey = 0xffff;
 	else
 		pkey = ib_addr_get_pkey(dev_addr);
diff --git a/drivers/infiniband/core/sa_query.c b/drivers/infiniband/core/sa_query.c
index 30aa5e5..7f7c8c9 100644
--- a/drivers/infiniband/core/sa_query.c
+++ b/drivers/infiniband/core/sa_query.c
@@ -540,7 +540,7 @@ int ib_init_ah_from_path(struct ib_device *device, u8 port_num,
 	ah_attr->port_num = port_num;
 	ah_attr->static_rate = rec->rate;
 
-	force_grh = rdma_protocol_iboe(device, port_num);
+	force_grh = rdma_cap_eth_ah(device, port_num);
 
 	if (rec->hop_limit > 1 || force_grh) {
 		ah_attr->ah_flags = IB_AH_GRH;
diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c
index 7dd2f51..d110a5e 100644
--- a/drivers/infiniband/core/verbs.c
+++ b/drivers/infiniband/core/verbs.c
@@ -200,7 +200,7 @@ int ib_init_ah_from_wc(struct ib_device *device, u8 port_num, struct ib_wc *wc,
 	int ret;
 
 	memset(ah_attr, 0, sizeof *ah_attr);
-	if (rdma_protocol_iboe(device, port_num)) {
+	if (rdma_cap_eth_ah(device, port_num)) {
 		if (!(wc->wc_flags & IB_WC_GRH))
 			return -EPROTOTYPE;
 
@@ -869,7 +869,7 @@ int ib_resolve_eth_l2_attrs(struct ib_qp *qp,
 	union ib_gid  sgid;
 
 	if ((*qp_attr_mask & IB_QP_AV)  &&
-	    (rdma_protocol_iboe(qp->device, qp_attr->ah_attr.port_num))) {
+	    (rdma_cap_eth_ah(qp->device, qp_attr->ah_attr.port_num))) {
 		ret = ib_query_gid(qp->device, qp_attr->ah_attr.port_num,
 				   qp_attr->ah_attr.grh.sgid_index, &sgid);
 		if (ret)
diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
index 41f8445..721c378 100644
--- a/include/rdma/ib_verbs.h
+++ b/include/rdma/ib_verbs.h
@@ -1880,6 +1880,21 @@ static inline bool rdma_cap_af_ib(struct ib_device *device, u8 port_num)
 }
 
 /**
+ * rdma_cap_eth_ah - Check if the port of device has the capability
+ * Ethernet Address Handler.
+ *
+ * @device: Device to be checked
+ * @port_num: Port number of the device
+ *
+ * Return false when port of the device don't support
+ * Ethernet Address Handler.
+ */
+static inline bool rdma_cap_eth_ah(struct ib_device *device, u8 port_num)
+{
+	return rdma_protocol_iboe(device, port_num);
+}
+
+/**
  * rdma_cap_read_multi_sge - Check if the port of device has the capability
  * RDMA Read Multiple Scatter-Gather Entries.
  *
-- 
2.1.0


  parent reply	other threads:[~2015-05-05 12:50 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-05 12:50 [PATCH v8 00/23] IB/Verbs: IB Management Helpers Michael Wang
2015-05-05 12:50 ` Michael Wang
2015-05-05 12:50 ` [PATCH v8 01/23] IB/Verbs: Implement new callback query_protocol() Michael Wang
     [not found] ` <1430830240-32389-1-git-send-email-yun.wang-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-05-05 12:50   ` [PATCH v8 02/23] IB/Verbs: Implement raw management helpers Michael Wang
2015-05-05 12:50     ` Michael Wang
2015-05-05 12:50   ` [PATCH v8 03/23] IB/Verbs: Reform IB-core mad/agent/user_mad Michael Wang
2015-05-05 12:50     ` Michael Wang
2015-05-05 12:50   ` [PATCH v8 04/23] IB/Verbs: Reform IB-core cm Michael Wang
2015-05-05 12:50     ` Michael Wang
2015-05-05 12:50   ` [PATCH v8 05/23] IB/Verbs: Reform IB-core sa_query Michael Wang
2015-05-05 12:50     ` Michael Wang
2015-05-05 12:50   ` [PATCH v8 06/23] IB/Verbs: Reform IB-core multicast Michael Wang
2015-05-05 12:50     ` Michael Wang
2015-05-05 12:50   ` [PATCH v8 07/23] IB/Verbs: Reform IB-ulp ipoib Michael Wang
2015-05-05 12:50     ` Michael Wang
2015-05-05 12:50   ` [PATCH v8 08/23] IB/Verbs: Reform IB-ulp xprtrdma Michael Wang
2015-05-05 12:50     ` Michael Wang
2015-05-05 12:50   ` [PATCH v8 09/23] IB/Verbs: Reform IB-core verbs Michael Wang
2015-05-05 12:50     ` Michael Wang
2015-05-05 12:50   ` [PATCH v8 10/23] IB/Verbs: Reform cm related part in IB-core cma/ucm Michael Wang
2015-05-05 12:50     ` Michael Wang
2015-05-05 12:50   ` [PATCH v8 11/23] IB/Verbs: Reform route related part in IB-core cma Michael Wang
2015-05-05 12:50     ` Michael Wang
2015-05-05 12:50   ` [PATCH v8 13/23] IB/Verbs: Reform cma_acquire_dev() Michael Wang
2015-05-05 12:50     ` Michael Wang
2015-05-05 12:50   ` [PATCH v8 14/23] IB/Verbs: Reform rest part in IB-core cma Michael Wang
2015-05-05 12:50     ` Michael Wang
2015-05-05 12:50   ` [PATCH v8 16/23] IB/Verbs: Use management helper rdma_cap_ib_smi() Michael Wang
2015-05-05 12:50     ` Michael Wang
2015-05-05 12:50   ` [PATCH v8 17/23] IB/Verbs: Use management helper rdma_cap_ib_cm() Michael Wang
2015-05-05 12:50     ` Michael Wang
2015-05-05 12:50   ` [PATCH v8 18/23] IB/Verbs: Use management helper rdma_cap_iw_cm() Michael Wang
2015-05-05 12:50     ` Michael Wang
2015-05-05 12:50   ` [PATCH v8 19/23] IB/Verbs: Use management helper rdma_cap_ib_sa() Michael Wang
2015-05-05 12:50     ` Michael Wang
2015-05-05 12:50   ` [PATCH v8 21/23] IB/Verbs: Use management helper rdma_cap_read_multi_sge() Michael Wang
2015-05-05 12:50     ` Michael Wang
2015-05-05 12:50   ` [PATCH v8 22/23] IB/Verbs: Use management helper rdma_cap_af_ib() Michael Wang
2015-05-05 12:50     ` Michael Wang
2015-05-05 12:50   ` Michael Wang [this message]
2015-05-05 12:50     ` [PATCH v8 23/23] IB/Verbs: Use management helper rdma_cap_eth_ah() Michael Wang
2015-05-05 14:16   ` [PATCH v8 00/23] IB/Verbs: IB Management Helpers Or Gerlitz
2015-05-05 14:16     ` Or Gerlitz
2015-05-05 14:40     ` Michael Wang
2015-05-08 16:28       ` Devesh Sharma
2015-05-11 23:49   ` ira.weiny
2015-05-11 23:49     ` ira.weiny
     [not found]     ` <20150511234910.GA20027-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-05-12  0:27       ` Doug Ledford
2015-05-12  0:27         ` Doug Ledford
     [not found]         ` <1431390420.43876.4.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-05-12  7:57           ` Michael Wang
2015-05-12  7:57             ` Michael Wang
2015-05-12 14:24             ` Doug Ledford
     [not found]               ` <1431440667.43876.23.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-05-12 14:28                 ` Michael Wang
2015-05-12 14:28                   ` Michael Wang
2015-05-12 18:09           ` Jason Gunthorpe
2015-05-12 18:09             ` Jason Gunthorpe
     [not found]             ` <20150512180942.GC15891-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-05-12 20:09               ` Doug Ledford
2015-05-12 20:09                 ` Doug Ledford
     [not found]                 ` <1431461362.43876.81.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-05-13  7:44                   ` Michael Wang
2015-05-13  7:44                     ` Michael Wang
2015-05-12  8:04     ` Michael Wang
2015-05-05 12:50 ` [PATCH v8 12/23] IB/Verbs: Reform mcast related part in IB-core cma Michael Wang
2015-05-05 12:50 ` [PATCH v8 15/23] IB/Verbs: Use management helper rdma_cap_ib_mad() Michael Wang
2015-05-05 12:50 ` [PATCH v8 20/23] IB/Verbs: Use management helper rdma_cap_ib_mcast() Michael Wang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1430830240-32389-24-git-send-email-yun.wang@profitbricks.com \
    --to=yun.wang-eikl63zcoxah+58jc4qpia@public.gmane.org \
    --cc=Devesh.Sharma-iH1Dq9VlAzfQT0dZR+AlfA@public.gmane.org \
    --cc=dgoodell-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org \
    --cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=eli-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    --cc=faisal.latif-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=haggaie-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    --cc=hal-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org \
    --cc=hnguyen-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org \
    --cc=infinipath-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=jackm-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org \
    --cc=jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=liranl-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    --cc=ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    --cc=raisch-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org \
    --cc=roland-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org \
    --cc=tom-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org \
    --cc=tom-CLs1Zie5N5HQT0dZR+AlfA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.