public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
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

  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