public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
From: Leon Romanovsky <leonro@mellanox.com>
To: Stephen Hemminger <stephen@networkplumber.org>
Cc: Doug Ledford <dledford@redhat.com>,
	linux-rdma@vger.kernel.org,
	Dennis Dalessandro <dennis.dalessandro@intel.com>,
	Jason Gunthorpe <jgunthorpe@obsidianresearch.com>,
	Jiri Pirko <jiri@mellanox.com>, Ariel Almog <ariela@mellanox.com>,
	Linux Netdev <netdev@vger.kernel.org>
Subject: Re: [PATCH v4 iproute2 2/7] rdma: Add dev object
Date: Tue, 15 Aug 2017 19:43:50 +0300	[thread overview]
Message-ID: <20170815164350.GU24282@mtr-leonro.local> (raw)
In-Reply-To: <20170815091205.2c39ea91@xeon-e3>

[-- Attachment #1: Type: text/plain, Size: 3156 bytes --]

On Tue, Aug 15, 2017 at 09:12:05AM -0700, Stephen Hemminger wrote:
> On Tue, 15 Aug 2017 16:00:15 +0300
> Leon Romanovsky <leonro@mellanox.com> wrote:
>
> > +
> > +static const char *dev_caps_to_str(uint32_t idx)
> > +{
> > +	uint64_t cap = 1 << idx;
> > +
> > +	switch (cap) {
> > +	case RDMA_DEV_RESIZE_MAX_WR: return "RESIZE_MAX_WR";
> > +	case RDMA_DEV_BAD_PKEY_CNTR: return "BAD_PKEY_CNTR";
> > +	case RDMA_DEV_BAD_QKEY_CNTR: return "BAD_QKEY_CNTR";
> > +	case RDMA_DEV_RAW_MULTI: return "RAW_MULTI";
> > +	case RDMA_DEV_AUTO_PATH_MIG: return "AUTO_PATH_MIG";
> > +	case RDMA_DEV_CHANGE_PHY_PORT: return "CHANGE_PHY_POR";
> > +	case RDMA_DEV_UD_AV_PORT_ENFORCE: return "UD_AV_PORT_ENFORCE";
> > +	case RDMA_DEV_CURR_QP_STATE_MOD: return "CURR_QP_STATE_MOD";
> > +	case RDMA_DEV_SHUTDOWN_PORT: return "SHUTDOWN_PORT";
> > +	case RDMA_DEV_INIT_TYPE: return "INIT_TYPE";
> > +	case RDMA_DEV_PORT_ACTIVE_EVENT: return "PORT_ACTIVE_EVENT";
> > +	case RDMA_DEV_SYS_IMAGE_GUID: return "SYS_IMAGE_GUID";
> > +	case RDMA_DEV_RC_RNR_NAK_GEN: return "RC_RNR_NAK_GEN";
> > +	case RDMA_DEV_SRQ_RESIZE: return "SRQ_RESIZE";
> > +	case RDMA_DEV_N_NOTIFY_CQ: return "N_NOTIFY_CQ";
> > +	case RDMA_DEV_LOCAL_DMA_LKEY: return "LOCAL_DMA_LKEY";
> > +	case RDMA_DEV_MEM_WINDOW: return "MEM_WINDOW";
> > +	case RDMA_DEV_UD_IP_CSUM: return "UD_IP_CSUM";
> > +	case RDMA_DEV_UD_TSO: return "UD_TSO";
> > +	case RDMA_DEV_XRC: return "XRC";
> > +	case RDMA_DEV_MEM_MGT_EXTENSIONS: return "MEM_MGT_EXTENSIONS";
> > +	case RDMA_DEV_BLOCK_MULTICAST_LOOPBACK:
> > +					return "BLOCK_MULTICAST_LOOPBACK";
> > +	case RDMA_DEV_MEM_WINDOW_TYPE_2A: return "MEM_WINDOW_TYPE_2A";
> > +	case RDMA_DEV_MEM_WINDOW_TYPE_2B: return "MEM_WINDOW_TYPE_2B";
> > +	case RDMA_DEV_RC_IP_CSUM: return "RC_IP_CSUM";
> > +	case RDMA_DEV_RAW_IP_CSUM: return "RAW_IP_CSUM";
> > +	case RDMA_DEV_CROSS_CHANNEL: return "CROSS_CHANNEL";
> > +	case RDMA_DEV_MANAGED_FLOW_STEERING: return "MANAGED_FLOW_STEERING";
> > +	case RDMA_DEV_SIGNATURE_HANDOVER: return "SIGNATURE_HANDOVER";
> > +	case RDMA_DEV_ON_DEMAND_PAGING: return "ON_DEMAND_PAGING";
> > +	case RDMA_DEV_SG_GAPS_REG: return "SG_GAPS_REG";
> > +	case RDMA_DEV_VIRTUAL_FUNCTION: return "VIRTUAL_FUNCTION";
> > +	case RDMA_DEV_RAW_SCATTER_FCS: return "RAW_SCATTER_FCS";
> > +	case RDMA_DEV_RDMA_NETDEV_OPA_VNIC: return "RDMA_NETDEV_OPA_VNIC";
> > +	default: return "UNKNOWN";
> > +	}
>
> Could this be a table in future versions?

The device capability is 64 bit field -> the table will have 64 entry,
while most of them should be marked as "UNKNOWN". Because we have holes
[1] in the fields (for example bit 9), I can't use simple
"if (idx > max_value) return "uknown"" logic.

So the answer is yes, I can do it as a table, but it won't look better than
it is now :)

By writing "future versions", are you asking me to resubmit? or followup patch
will be possible solution too?

Thanks

[1] http://marc.info/?l=linux-rdma&m=150278850520856&w=2

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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  parent reply	other threads:[~2017-08-15 16:43 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-15 13:00 [PATCH v4 iproute2 0/7] RDMAtool Leon Romanovsky
2017-08-15 13:00 ` [PATCH v4 iproute2 1/7] rdma: Add basic infrastructure for RDMA tool Leon Romanovsky
2017-08-15 23:54   ` Stephen Hemminger
2017-08-16  5:32     ` Leon Romanovsky
2017-08-15 13:00 ` [PATCH v4 iproute2 3/7] rdma: Add link object Leon Romanovsky
     [not found] ` <20170815130020.29509-1-leonro-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2017-08-15 13:00   ` [PATCH v4 iproute2 2/7] rdma: Add dev object Leon Romanovsky
2017-08-15 16:12     ` Stephen Hemminger
2017-08-15 16:23       ` David Laight
     [not found]         ` <063D6719AE5E284EB5DD2968C1650D6DD005604E-VkEWCZq2GCInGFn1LkZF6NBPR1lH4CV8@public.gmane.org>
2017-08-15 16:47           ` Leon Romanovsky
2017-08-15 17:00             ` David Laight
     [not found]               ` <063D6719AE5E284EB5DD2968C1650D6DD005613D-VkEWCZq2GCInGFn1LkZF6NBPR1lH4CV8@public.gmane.org>
2017-08-15 17:46                 ` Leon Romanovsky
2017-08-15 16:43       ` Leon Romanovsky [this message]
2017-08-15 13:00   ` [PATCH v4 iproute2 4/7] rdma: Add initial manual for the tool Leon Romanovsky
2017-08-15 13:00 ` [PATCH v4 iproute2 5/7] rdma: Add json and pretty outputs Leon Romanovsky
2017-08-15 13:00 ` [PATCH v4 iproute2 6/7] rdma: Implement json output for dev object Leon Romanovsky
2017-08-15 13:00 ` [PATCH v4 iproute2 7/7] rdma: Add json output to link object Leon Romanovsky

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=20170815164350.GU24282@mtr-leonro.local \
    --to=leonro@mellanox.com \
    --cc=ariela@mellanox.com \
    --cc=dennis.dalessandro@intel.com \
    --cc=dledford@redhat.com \
    --cc=jgunthorpe@obsidianresearch.com \
    --cc=jiri@mellanox.com \
    --cc=linux-rdma@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=stephen@networkplumber.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