From: Leon Romanovsky <leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: Ram Amrani <Ram.Amrani-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org>
Cc: dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org,
Yuval.Mintz-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org,
Ariel.Elior-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org,
Michal.Kalderon-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org,
rajesh.borundia-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org,
linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [RFC 06/11] Add support for QP verbs
Date: Thu, 15 Sep 2016 16:05:56 +0300 [thread overview]
Message-ID: <20160915130556.GA26069@leon.nu> (raw)
In-Reply-To: <1473696465-27986-7-git-send-email-Ram.Amrani-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 3191 bytes --]
On Mon, Sep 12, 2016 at 07:07:40PM +0300, Ram Amrani wrote:
> Add support for Queue Pair verbs which adds, deletes,
> modifies and queries Queue Pairs.
>
> Signed-off-by: Rajesh Borundia <rajesh.borundia-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org>
> Signed-off-by: Ram Amrani <Ram.Amrani-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org>
> ---
> drivers/infiniband/hw/qedr/main.c | 15 +-
> drivers/infiniband/hw/qedr/qedr.h | 126 +++
> drivers/infiniband/hw/qedr/qedr_cm.h | 40 +
> drivers/infiniband/hw/qedr/qedr_hsi_rdma.h | 11 +
> drivers/infiniband/hw/qedr/qedr_user.h | 34 +
> drivers/infiniband/hw/qedr/verbs.c | 1098 ++++++++++++++++++++++++-
> drivers/infiniband/hw/qedr/verbs.h | 7 +
> drivers/net/ethernet/qlogic/qed/qed_cxt.h | 1 +
> drivers/net/ethernet/qlogic/qed/qed_roce.c | 1211 ++++++++++++++++++++++++++++
> drivers/net/ethernet/qlogic/qed/qed_roce.h | 71 ++
> include/linux/qed/qed_roce_if.h | 144 ++++
> 11 files changed, 2756 insertions(+), 2 deletions(-)
> create mode 100644 drivers/infiniband/hw/qedr/qedr_cm.h
>
<....>
> +
> +static inline int get_gid_info_from_table(struct ib_qp *ibqp,
> + struct ib_qp_attr *attr,
> + int attr_mask,
> + struct qed_rdma_modify_qp_in_params
> + *qp_params)
> +{
> + enum rdma_network_type nw_type;
> + struct ib_gid_attr gid_attr;
> + union ib_gid gid;
> + u32 ipv4_addr;
> + int rc = 0;
> + int i;
> +
> + rc = ib_get_cached_gid(ibqp->device, attr->ah_attr.port_num,
> + attr->ah_attr.grh.sgid_index, &gid, &gid_attr);
> + if (!rc && !memcmp(&gid, &zgid, sizeof(gid)))
> + rc = -ENOENT;
> +
> + if (!rc && gid_attr.ndev) {
> + qp_params->vlan_id = rdma_vlan_dev_vlan_id(gid_attr.ndev);
> +
> + dev_put(gid_attr.ndev);
> + nw_type = ib_gid_to_network_type(gid_attr.gid_type, &gid);
> + switch (nw_type) {
> + case RDMA_NETWORK_IPV6:
> + memcpy(&qp_params->sgid.bytes[0], &gid.raw[0],
> + sizeof(qp_params->sgid));
> + memcpy(&qp_params->dgid.bytes[0],
> + &attr->ah_attr.grh.dgid,
> + sizeof(qp_params->dgid));
> + qp_params->roce_mode = ROCE_V2_IPV6;
> + SET_FIELD(qp_params->modify_flags,
> + QED_ROCE_MODIFY_QP_VALID_ROCE_MODE, 1);
> + break;
> + case RDMA_NETWORK_IB:
> + memcpy(&qp_params->sgid.bytes[0], &gid.raw[0],
> + sizeof(qp_params->sgid));
> + memcpy(&qp_params->dgid.bytes[0],
> + &attr->ah_attr.grh.dgid,
> + sizeof(qp_params->dgid));
> + qp_params->roce_mode = ROCE_V1;
> + break;
> + case RDMA_NETWORK_IPV4:
> + memset(&qp_params->sgid, 0, sizeof(qp_params->sgid));
> + memset(&qp_params->dgid, 0, sizeof(qp_params->dgid));
> + ipv4_addr = qedr_get_ipv4_from_gid(gid.raw);
> + qp_params->sgid.ipv4_addr = ipv4_addr;
> + ipv4_addr =
> + qedr_get_ipv4_from_gid(attr->ah_attr.grh.dgid.raw);
> + qp_params->dgid.ipv4_addr = ipv4_addr;
> + SET_FIELD(qp_params->modify_flags,
> + QED_ROCE_MODIFY_QP_VALID_ROCE_MODE, 1);
> + qp_params->roce_mode = ROCE_V2_IPV4;
> + break;
> + }
> + }
> + if (rc)
> + return -EINVAL;
I think it is better to check "rc" right after call to
ib_get_cached_gid().
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2016-09-15 13:05 UTC|newest]
Thread overview: 78+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-12 16:07 [RFC 00/11] QLogic RDMA Driver (qedr) RFC Ram Amrani
2016-09-12 16:07 ` Ram Amrani
2016-09-12 16:07 ` [RFC 03/11] Add support for RoCE HW init Ram Amrani
2016-09-12 16:07 ` Ram Amrani
[not found] ` <1473696465-27986-4-git-send-email-Ram.Amrani-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org>
2016-09-12 18:57 ` Mark Bloch
2016-09-12 18:57 ` Mark Bloch
2016-09-13 8:30 ` Ram Amrani
2016-09-13 14:38 ` Sagi Grimberg
2016-09-14 10:13 ` Amrani, Ram
2016-09-19 8:45 ` Amrani, Ram
2016-09-12 16:07 ` [RFC 04/11] Add support for user context verbs Ram Amrani
2016-09-12 16:07 ` Ram Amrani
2016-09-12 16:07 ` [RFC 05/11] Add support for PD,PKEY and CQ verbs Ram Amrani
2016-09-12 16:07 ` Ram Amrani
2016-09-12 16:07 ` [RFC 06/11] Add support for QP verbs Ram Amrani
2016-09-12 16:07 ` Ram Amrani
[not found] ` <1473696465-27986-7-git-send-email-Ram.Amrani-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org>
2016-09-15 13:05 ` Leon Romanovsky [this message]
[not found] ` <20160915130556.GA26069-2ukJVAZIZ/Y@public.gmane.org>
2016-09-19 9:00 ` Amrani, Ram
2016-09-12 16:07 ` [RFC 08/11] Add support for data path Ram Amrani
2016-09-12 16:07 ` Ram Amrani
[not found] ` <1473696465-27986-9-git-send-email-Ram.Amrani-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org>
2016-09-13 14:32 ` Sagi Grimberg
2016-09-14 10:16 ` Amrani, Ram
2016-09-15 7:24 ` Leon Romanovsky
2016-09-12 16:07 ` [RFC 09/11] Add LL2 RoCE interface Ram Amrani
2016-09-12 16:07 ` Ram Amrani
2016-09-15 10:20 ` Leon Romanovsky
[not found] ` <20160915102013.GZ26069-2ukJVAZIZ/Y@public.gmane.org>
2016-09-15 12:07 ` Amrani, Ram
2016-09-12 16:07 ` [RFC 10/11] Add GSI support Ram Amrani
2016-09-12 16:07 ` Ram Amrani
2016-09-12 16:07 ` [RFC 11/11] Add events support and register IB device Ram Amrani
2016-09-12 16:07 ` Ram Amrani
[not found] ` <1473696465-27986-1-git-send-email-Ram.Amrani-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org>
2016-09-12 16:07 ` [RFC 01/11] qed: Add LL2 Ram Amrani
2016-09-12 16:07 ` Ram Amrani
2016-09-12 16:07 ` [RFC 02/11] Add RoCE driver framework Ram Amrani
2016-09-12 16:07 ` Ram Amrani
[not found] ` <1473696465-27986-3-git-send-email-Ram.Amrani-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org>
2016-09-12 18:44 ` Mark Bloch
2016-09-12 18:44 ` Mark Bloch
[not found] ` <516b98c7-477a-4890-0d92-529dc32f2c4e-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2016-09-12 19:17 ` Yuval Mintz
[not found] ` <CY4PR11MB1720F9B74BBF82D0779FAC8F97FF0-JNf6+SjKdlG0ooKL/ADlEpPPoyLQLiKMvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2016-09-13 6:38 ` Leon Romanovsky
2016-09-13 7:18 ` Mintz, Yuval
2016-09-13 10:16 ` Leon Romanovsky
[not found] ` <20160913101616.GT8812-2ukJVAZIZ/Y@public.gmane.org>
2016-09-14 8:15 ` Mintz, Yuval
2016-09-14 13:00 ` Leon Romanovsky
[not found] ` <20160914130032.GB26069-2ukJVAZIZ/Y@public.gmane.org>
2016-09-14 18:25 ` Mintz, Yuval
[not found] ` <BL2PR07MB23066BBC4A019365A632E2FA8DF10-I6Fv6QFlT9L2NWYWB7JgfuFPX92sqiQdvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2016-09-15 4:37 ` Leon Romanovsky
[not found] ` <20160915043716.GD26069-2ukJVAZIZ/Y@public.gmane.org>
2016-09-15 5:11 ` Mintz, Yuval
[not found] ` <BL2PR07MB23060C776EDAE92B84FCFB768DF00-I6Fv6QFlT9L2NWYWB7JgfuFPX92sqiQdvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2016-09-15 5:42 ` Leon Romanovsky
2016-09-20 15:04 ` Elior, Ariel
[not found] ` <CY1PR0701MB13376438A5767BC844EA35C290F70-UpKza+2NMNLi6bjPjkn3FE5OhdzP3rhOnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2016-09-20 17:03 ` Leon Romanovsky
2016-09-13 9:22 ` Ram Amrani
[not found] ` <DM3PR1101MB1181337A65B7CEFC1A30F353E2FE0-xYdf0wd+uoGW1Nawvih6nR68uu4wjhmwnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2016-09-13 10:22 ` Leon Romanovsky
2016-09-13 6:46 ` Leon Romanovsky
2016-09-13 14:46 ` Steve Wise
2016-09-13 14:46 ` Steve Wise
2016-09-14 7:30 ` Amrani, Ram
2016-09-12 16:07 ` [RFC 07/11] Add support for memory registeration verbs Ram Amrani
2016-09-12 16:07 ` Ram Amrani
[not found] ` <1473696465-27986-8-git-send-email-Ram.Amrani-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org>
2016-09-13 14:26 ` Sagi Grimberg
2016-09-14 8:02 ` Amrani, Ram
2016-09-13 14:44 ` Sagi Grimberg
[not found] ` <7fa4a9b8-7cb1-0f83-d6e5-1055ae59bce4-NQWnxTmZq1alnMjI0IkVqw@public.gmane.org>
2016-09-14 8:59 ` Kalderon, Michal
2016-09-14 9:25 ` Sagi Grimberg
2016-09-14 10:02 ` Kalderon, Michal
2016-09-12 16:39 ` [RFC 00/11] QLogic RDMA Driver (qedr) RFC Leon Romanovsky
[not found] ` <20160912163928.GK8812-2ukJVAZIZ/Y@public.gmane.org>
2016-09-12 16:49 ` Parav Pandit
2016-09-12 17:39 ` Yuval Mintz
[not found] ` <CY4PR11MB17202A542AC07CBA4A65E93697FF0-JNf6+SjKdlG0ooKL/ADlEpPPoyLQLiKMvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2016-09-13 6:05 ` Leon Romanovsky
[not found] ` <20160913060545.GN8812-2ukJVAZIZ/Y@public.gmane.org>
2016-09-13 6:48 ` Mintz, Yuval
[not found] ` <BL2PR07MB23064356EA2492675AC980A78DFE0-I6Fv6QFlT9L2NWYWB7JgfuFPX92sqiQdvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2016-09-13 10:39 ` Leon Romanovsky
2016-09-12 18:05 ` Jason Gunthorpe
[not found] ` <20160912180508.GI5843-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-09-13 8:44 ` Ram Amrani
[not found] ` <DM3PR1101MB1181DF570D4F01A0CEB1CFC7E2FE0-xYdf0wd+uoGW1Nawvih6nR68uu4wjhmwnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2016-09-13 10:19 ` Leon Romanovsky
2016-09-13 15:40 ` Jason Gunthorpe
[not found] ` <20160913154000.GA25878-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-09-14 14:44 ` Amrani, Ram
2016-09-14 17:17 ` Jason Gunthorpe
[not found] ` <20160914171737.GH16014-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-09-15 5:55 ` Amrani, Ram
2016-09-13 14:23 ` Sagi Grimberg
[not found] ` <CY1PR0701MB133732FA8478FC0B5003D97A90F10@CY1PR0701MB1337.namprd07.prod.outlook.com>
[not found] ` <CY1PR0701MB133732FA8478FC0B5003D97A90F10-UpKza+2NMNLi6bjPjkn3FE5OhdzP3rhOnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2016-09-14 8:17 ` Sagi Grimberg
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=20160915130556.GA26069@leon.nu \
--to=leon-dgejt+ai2ygdnm+yrofe0a@public.gmane.org \
--cc=Ariel.Elior-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org \
--cc=Michal.Kalderon-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org \
--cc=Ram.Amrani-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org \
--cc=Yuval.Mintz-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org \
--cc=davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org \
--cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=rajesh.borundia-h88ZbnxC6KDQT0dZR+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.