From: Hal Rosenstock <hal-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
To: ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org
Cc: dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH 5/5] IB/core: Convert management helpers to core capability bits
Date: Thu, 14 May 2015 10:16:03 -0400 [thread overview]
Message-ID: <5554AE23.3020909@dev.mellanox.co.il> (raw)
In-Reply-To: <1431561779-13714-6-git-send-email-ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
On 5/13/2015 8:02 PM, ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org wrote:
<snip...>
> diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
> index de08dabcfa6a..29095fb6db5c 100644
> --- a/include/rdma/ib_verbs.h
> +++ b/include/rdma/ib_verbs.h
> @@ -353,6 +353,40 @@ union rdma_protocol_stats {
> struct iw_protocol_stats iw;
> };
>
> +/* Define bits for the various functionality this port needs to be supported by
> + * the core.
> + */
> +/* Management 0x00000FFF */
> +#define RDMA_CORE_CAP_IB_MAD 0x00000001
> +#define RDMA_CORE_CAP_IB_SMI 0x00000002
> +#define RDMA_CORE_CAP_IB_CM 0x00000004
> +#define RDMA_CORE_CAP_IW_CM 0x00000008
> +#define RDMA_CORE_CAP_IB_SA 0x00000010
> +
> +/* Address format 0x000FF000 */
> +#define RDMA_CORE_CAP_AF_IB 0x00001000
> +#define RDMA_CORE_CAP_ETH_AH 0x00002000
> +
> +/* Protocol 0xFFF00000 */
> +#define RDMA_CORE_CAP_PROT_IB 0x00100000
> +#define RDMA_CORE_CAP_PROT_ROCE 0x00200000
> +#define RDMA_CORE_CAP_PROT_IWARP 0x00400000
> +
> +#define RDMA_CORE_PORT_IBA_IB (RDMA_CORE_CAP_PROT_IB \
> + | RDMA_CORE_CAP_IB_MAD \
> + | RDMA_CORE_CAP_IB_SMI \
> + | RDMA_CORE_CAP_IB_CM \
> + | RDMA_CORE_CAP_IB_SA \
> + | RDMA_CORE_CAP_AF_IB)
> +#define RDMA_CORE_PORT_IBA_ROCE (RDMA_CORE_CAP_PROT_ROCE \
> + | RDMA_CORE_CAP_IB_MAD \
> + | RDMA_CORE_CAP_IB_CM \
> + | RDMA_CORE_CAP_IB_SA \
> + | RDMA_CORE_CAP_AF_IB \
> + | RDMA_CORE_CAP_ETH_AH)
> +#define RDMA_CORE_PORT_IWARP (RDMA_CORE_CAP_PROT_IWARP \
> + | RDMA_CORE_CAP_IW_CM)
> +
> struct ib_port_attr {
> enum ib_port_state state;
> enum ib_mtu max_mtu;
> @@ -1484,6 +1518,7 @@ struct iw_cm_verbs;
> struct ib_port_immutable {
> int pkey_tbl_len;
> int gid_tbl_len;
> + u32 core_cap_flags;
> };
>
> struct ib_device {
> @@ -1515,8 +1550,6 @@ struct ib_device {
> int (*query_port)(struct ib_device *device,
> u8 port_num,
> struct ib_port_attr *port_attr);
> - enum rdma_protocol_type (*query_protocol)(struct ib_device *device,
> - u8 port_num);
> enum rdma_link_layer (*get_link_layer)(struct ib_device *device,
> u8 port_num);
> int (*query_gid)(struct ib_device *device,
> @@ -1796,24 +1829,23 @@ static inline u8 rdma_end_port(const struct ib_device *device)
>
> static inline bool rdma_protocol_ib(struct ib_device *device, u8 port_num)
> {
> - return device->query_protocol(device, port_num) == RDMA_PROTOCOL_IB;
> + return device->port_immutable[port_num].core_cap_flags & RDMA_CORE_CAP_PROT_IB;
> }
>
> static inline bool rdma_protocol_iboe(struct ib_device *device, u8 port_num)
Should this helper be renamed rdma_protocol_roce (and change any
consumers of this helper to use that name) ? If so, should it be done in
this patch or follow on patch ?
-- Hal
<snip...>
--
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
next prev parent reply other threads:[~2015-05-14 14:16 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-14 0:02 [PATCH 0/5] Convert management helpers to Core Capability bits ira.weiny-ral2JQCrhuEAvxtiuMwx3w
[not found] ` <1431561779-13714-1-git-send-email-ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-05-14 0:02 ` [PATCH 1/5] IB/core: Create common start/end port functions ira.weiny-ral2JQCrhuEAvxtiuMwx3w
2015-05-14 0:02 ` [PATCH 2/5] IB/user_mad: Remove local start/end port variable and use the new common functions ira.weiny-ral2JQCrhuEAvxtiuMwx3w
2015-05-14 0:02 ` [PATCH 3/5] IB/user_mad: Fix bug in ib_umad_remove_one when rdma_cap_ib_mad implementation changed ira.weiny-ral2JQCrhuEAvxtiuMwx3w
2015-05-14 0:02 ` [PATCH 4/5] IB/core: Formalize the creation of immutable per port data within the ib_device object ira.weiny-ral2JQCrhuEAvxtiuMwx3w
2015-05-14 0:02 ` [PATCH 5/5] IB/core: Convert management helpers to core capability bits ira.weiny-ral2JQCrhuEAvxtiuMwx3w
[not found] ` <1431561779-13714-6-git-send-email-ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-05-14 14:16 ` Hal Rosenstock [this message]
[not found] ` <5554AE23.3020909-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-05-14 16:10 ` Weiny, Ira
[not found] ` <2807E5FD2F6FDA4886F6618EAC48510E1107E715-8k97q/ur5Z2krb+BlOpmy7fspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-05-14 16:26 ` ira.weiny
[not found] ` <20150514162654.GA10941-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-05-14 16:31 ` Doug Ledford
2015-05-14 6:24 ` [PATCH 0/5] Convert management helpers to Core Capability bits Or Gerlitz
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=5554AE23.3020909@dev.mellanox.co.il \
--to=hal-ldsdmyg8hgv8yrgs2mwiifqbs+8scbdb@public.gmane.org \
--cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox