All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6] libibverbs: display gid type in ibv_devinfo
@ 2020-02-04  9:47 Devesh Sharma
  2020-02-04 13:08 ` Leon Romanovsky
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Devesh Sharma @ 2020-02-04  9:47 UTC (permalink / raw)
  To: linux-rdma; +Cc: jgg, leon

It becomes difficult to make out from the output of ibv_devinfo
if a particular gid index is RoCE v2 or not.

Adding a string to the output of ibv_devinfo -v to display the
gid type at the end of gid.

The output would look something like below:
$ ibv_devinfo -v -d bnxt_re2
hca_id: bnxt_re2
 transport:             InfiniBand (0)
 fw_ver:                216.0.220.0
 node_guid:             b226:28ff:fed3:b0f0
 sys_image_guid:        b226:28ff:fed3:b0f0
  .
  .
  .
  .
	phys_state:     LINK_UP (5)
	GID[  0]:       fe80:0000:0000:0000:b226:28ff:fed3:b0f0, IB/RoCE v1
	GID[  1]:       fe80:0000:0000:0000:b226:28ff:fed3:b0f0, RoCE v2
	GID[  1]:       fe80::b226:28ff:fed3:b0f0
	GID[  2]:       0000:0000:0000:0000:0000:ffff:c0aa:0165, IB/RoCE v1
	GID[  3]:       0000:0000:0000:0000:0000:ffff:c0aa:0165, RoCE v2
	GID[  3]:       ::ffff:192.170.1.101
$
$
$

Reviewed-by: Jason Gunthrope <jgg@ziepe.ca>
Reviewed-by: Leon Romanovsky <leon@kernel.org>
Reviewed-by: Gal Pressman <galpress@amazon.com>
Reviewed-by: Parav Pandit <parav@mellanox.com>
Signed-off-by: Devesh Sharma <devesh.sharma@broadcom.com>
---
 libibverbs/examples/devinfo.c | 60 ++++++++++++++++++++++++++++++++++---------
 1 file changed, 48 insertions(+), 12 deletions(-)

diff --git a/libibverbs/examples/devinfo.c b/libibverbs/examples/devinfo.c
index bf53eac..83acc22 100644
--- a/libibverbs/examples/devinfo.c
+++ b/libibverbs/examples/devinfo.c
@@ -40,6 +40,7 @@
 #include <getopt.h>
 #include <endian.h>
 #include <inttypes.h>
+#include <arpa/inet.h>
 
 #include <infiniband/verbs.h>
 #include <infiniband/driver.h>
@@ -162,12 +163,49 @@ static const char *vl_str(uint8_t vl_num)
 	}
 }
 
-static int print_all_port_gids(struct ibv_context *ctx, uint8_t port_num, int tbl_len)
+#define DEVINFO_INVALID_GID_TYPE	2
+static const char *gid_type_str(enum ibv_gid_type type)
 {
+	switch (type) {
+	case IBV_GID_TYPE_IB_ROCE_V1: return "IB/RoCE v1";
+	case IBV_GID_TYPE_ROCE_V2: return "RoCE v2";
+	default: return "Invalid gid type";
+	}
+}
+
+static void print_formated_gid(union ibv_gid *gid, int i,
+			       enum ibv_gid_type type, int ll)
+{
+	char gid_str[INET6_ADDRSTRLEN] = {};
+	char str[20] = {};
+
+	if (ll == IBV_LINK_LAYER_ETHERNET) {
+		sprintf(str, ", %s", gid_type_str(type));
+		printf("\t\t\tGID[%3d]:\t\t%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x%s\n",
+		       i, gid->raw[0], gid->raw[1], gid->raw[2],
+		       gid->raw[3], gid->raw[4], gid->raw[5], gid->raw[6],
+		       gid->raw[7], gid->raw[8], gid->raw[9], gid->raw[10],
+		       gid->raw[11], gid->raw[12], gid->raw[13], gid->raw[14],
+		       gid->raw[15], str);
+	}
+
+	if (type == IBV_GID_TYPE_ROCE_V2) {
+		inet_ntop(AF_INET6, gid->raw, gid_str, sizeof(gid_str));
+		printf("\t\t\tGID[%3d]:\t\t%s\n", i, gid_str);
+	}
+}
+
+static int print_all_port_gids(struct ibv_context *ctx,
+			       struct ibv_port_attr *port_attr,
+			       uint8_t port_num)
+{
+	enum ibv_gid_type type;
 	union ibv_gid gid;
+	int tbl_len;
 	int rc = 0;
 	int i;
 
+	tbl_len = port_attr->gid_tbl_len;
 	for (i = 0; i < tbl_len; i++) {
 		rc = ibv_query_gid(ctx, port_num, i, &gid);
 		if (rc) {
@@ -175,17 +213,15 @@ static int print_all_port_gids(struct ibv_context *ctx, uint8_t port_num, int tb
 			       port_num, i);
 			return rc;
 		}
+
+		rc = ibv_query_gid_type(ctx, port_num, i, &type);
+		if (rc) {
+			rc = 0;
+			type = DEVINFO_INVALID_GID_TYPE;
+		}
 		if (!null_gid(&gid))
-			printf("\t\t\tGID[%3d]:\t\t%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x\n",
-			       i,
-			       gid.raw[ 0], gid.raw[ 1],
-			       gid.raw[ 2], gid.raw[ 3],
-			       gid.raw[ 4], gid.raw[ 5],
-			       gid.raw[ 6], gid.raw[ 7],
-			       gid.raw[ 8], gid.raw[ 9],
-			       gid.raw[10], gid.raw[11],
-			       gid.raw[12], gid.raw[13],
-			       gid.raw[14], gid.raw[15]);
+			print_formated_gid(&gid, i, type,
+					   port_attr->link_layer);
 	}
 	return rc;
 }
@@ -614,7 +650,7 @@ static int print_hca_cap(struct ibv_device *ib_dev, uint8_t ib_port)
 				printf("\t\t\tphys_state:\t\t%s (%d)\n",
 				       port_phy_state_str(port_attr.phys_state), port_attr.phys_state);
 
-			if (print_all_port_gids(ctx, port, port_attr.gid_tbl_len))
+			if (print_all_port_gids(ctx, &port_attr, port))
 				goto cleanup;
 		}
 		printf("\n");
-- 
1.8.3.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH v6] libibverbs: display gid type in ibv_devinfo
  2020-02-04  9:47 [PATCH v6] libibverbs: display gid type in ibv_devinfo Devesh Sharma
@ 2020-02-04 13:08 ` Leon Romanovsky
  2020-02-04 14:31 ` Parav Pandit
  2020-02-04 15:41 ` Devesh Sharma
  2 siblings, 0 replies; 7+ messages in thread
From: Leon Romanovsky @ 2020-02-04 13:08 UTC (permalink / raw)
  To: Devesh Sharma; +Cc: linux-rdma, jgg

On Tue, Feb 04, 2020 at 04:47:24AM -0500, Devesh Sharma wrote:
> It becomes difficult to make out from the output of ibv_devinfo
> if a particular gid index is RoCE v2 or not.
>
> Adding a string to the output of ibv_devinfo -v to display the
> gid type at the end of gid.
>
> The output would look something like below:
> $ ibv_devinfo -v -d bnxt_re2
> hca_id: bnxt_re2
>  transport:             InfiniBand (0)
>  fw_ver:                216.0.220.0
>  node_guid:             b226:28ff:fed3:b0f0
>  sys_image_guid:        b226:28ff:fed3:b0f0
>   .
>   .
>   .
>   .
> 	phys_state:     LINK_UP (5)
> 	GID[  0]:       fe80:0000:0000:0000:b226:28ff:fed3:b0f0, IB/RoCE v1
> 	GID[  1]:       fe80:0000:0000:0000:b226:28ff:fed3:b0f0, RoCE v2
> 	GID[  1]:       fe80::b226:28ff:fed3:b0f0
> 	GID[  2]:       0000:0000:0000:0000:0000:ffff:c0aa:0165, IB/RoCE v1
> 	GID[  3]:       0000:0000:0000:0000:0000:ffff:c0aa:0165, RoCE v2
> 	GID[  3]:       ::ffff:192.170.1.101
> $
> $
> $
>
> Reviewed-by: Jason Gunthrope <jgg@ziepe.ca>
> Reviewed-by: Leon Romanovsky <leon@kernel.org>

At least with my ROB tag, you was too fast :)

> Reviewed-by: Gal Pressman <galpress@amazon.com>
> Reviewed-by: Parav Pandit <parav@mellanox.com>
> Signed-off-by: Devesh Sharma <devesh.sharma@broadcom.com>
> ---
>  libibverbs/examples/devinfo.c | 60 ++++++++++++++++++++++++++++++++++---------
>  1 file changed, 48 insertions(+), 12 deletions(-)
>
> diff --git a/libibverbs/examples/devinfo.c b/libibverbs/examples/devinfo.c
> index bf53eac..83acc22 100644
> --- a/libibverbs/examples/devinfo.c
> +++ b/libibverbs/examples/devinfo.c
> @@ -40,6 +40,7 @@
>  #include <getopt.h>
>  #include <endian.h>
>  #include <inttypes.h>
> +#include <arpa/inet.h>
>
>  #include <infiniband/verbs.h>
>  #include <infiniband/driver.h>
> @@ -162,12 +163,49 @@ static const char *vl_str(uint8_t vl_num)
>  	}
>  }
>
> -static int print_all_port_gids(struct ibv_context *ctx, uint8_t port_num, int tbl_len)
> +#define DEVINFO_INVALID_GID_TYPE	2
> +static const char *gid_type_str(enum ibv_gid_type type)
>  {
> +	switch (type) {
> +	case IBV_GID_TYPE_IB_ROCE_V1: return "IB/RoCE v1";
> +	case IBV_GID_TYPE_ROCE_V2: return "RoCE v2";
> +	default: return "Invalid gid type";
> +	}
> +}
> +
> +static void print_formated_gid(union ibv_gid *gid, int i,
> +			       enum ibv_gid_type type, int ll)
> +{
> +	char gid_str[INET6_ADDRSTRLEN] = {};
> +	char str[20] = {};
> +
> +	if (ll == IBV_LINK_LAYER_ETHERNET) {
> +		sprintf(str, ", %s", gid_type_str(type));
> +		printf("\t\t\tGID[%3d]:\t\t%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x%s\n",
> +		       i, gid->raw[0], gid->raw[1], gid->raw[2],
> +		       gid->raw[3], gid->raw[4], gid->raw[5], gid->raw[6],
> +		       gid->raw[7], gid->raw[8], gid->raw[9], gid->raw[10],
> +		       gid->raw[11], gid->raw[12], gid->raw[13], gid->raw[14],
> +		       gid->raw[15], str);
> +	}
> +
> +	if (type == IBV_GID_TYPE_ROCE_V2) {
> +		inet_ntop(AF_INET6, gid->raw, gid_str, sizeof(gid_str));
> +		printf("\t\t\tGID[%3d]:\t\t%s\n", i, gid_str);
> +	}
> +}
> +
> +static int print_all_port_gids(struct ibv_context *ctx,
> +			       struct ibv_port_attr *port_attr,
> +			       uint8_t port_num)
> +{
> +	enum ibv_gid_type type;
>  	union ibv_gid gid;
> +	int tbl_len;
>  	int rc = 0;
>  	int i;
>
> +	tbl_len = port_attr->gid_tbl_len;
>  	for (i = 0; i < tbl_len; i++) {
>  		rc = ibv_query_gid(ctx, port_num, i, &gid);
>  		if (rc) {
> @@ -175,17 +213,15 @@ static int print_all_port_gids(struct ibv_context *ctx, uint8_t port_num, int tb
>  			       port_num, i);
>  			return rc;
>  		}
> +
> +		rc = ibv_query_gid_type(ctx, port_num, i, &type);
> +		if (rc) {
> +			rc = 0;
> +			type = DEVINFO_INVALID_GID_TYPE;
> +		}
>  		if (!null_gid(&gid))
> -			printf("\t\t\tGID[%3d]:\t\t%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x\n",
> -			       i,
> -			       gid.raw[ 0], gid.raw[ 1],
> -			       gid.raw[ 2], gid.raw[ 3],
> -			       gid.raw[ 4], gid.raw[ 5],
> -			       gid.raw[ 6], gid.raw[ 7],
> -			       gid.raw[ 8], gid.raw[ 9],
> -			       gid.raw[10], gid.raw[11],
> -			       gid.raw[12], gid.raw[13],
> -			       gid.raw[14], gid.raw[15]);
> +			print_formated_gid(&gid, i, type,
> +					   port_attr->link_layer);
>  	}
>  	return rc;
>  }
> @@ -614,7 +650,7 @@ static int print_hca_cap(struct ibv_device *ib_dev, uint8_t ib_port)
>  				printf("\t\t\tphys_state:\t\t%s (%d)\n",
>  				       port_phy_state_str(port_attr.phys_state), port_attr.phys_state);
>
> -			if (print_all_port_gids(ctx, port, port_attr.gid_tbl_len))
> +			if (print_all_port_gids(ctx, &port_attr, port))
>  				goto cleanup;
>  		}
>  		printf("\n");
> --
> 1.8.3.1
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* RE: [PATCH v6] libibverbs: display gid type in ibv_devinfo
  2020-02-04  9:47 [PATCH v6] libibverbs: display gid type in ibv_devinfo Devesh Sharma
  2020-02-04 13:08 ` Leon Romanovsky
@ 2020-02-04 14:31 ` Parav Pandit
  2020-02-04 15:26   ` Devesh Sharma
  2020-02-04 15:41 ` Devesh Sharma
  2 siblings, 1 reply; 7+ messages in thread
From: Parav Pandit @ 2020-02-04 14:31 UTC (permalink / raw)
  To: Devesh Sharma, linux-rdma; +Cc: Jason Gunthorpe, leon

Hi Devesh,

> From: linux-rdma-owner@vger.kernel.org <linux-rdma-
> owner@vger.kernel.org> On Behalf Of Devesh Sharma
> 	phys_state:     LINK_UP (5)
> 	GID[  0]:       fe80:0000:0000:0000:b226:28ff:fed3:b0f0, IB/RoCE v1
> 	GID[  1]:       fe80:0000:0000:0000:b226:28ff:fed3:b0f0, RoCE v2
> 	GID[  1]:       fe80::b226:28ff:fed3:b0f0
Showing two entries as individual raw like this is surely confusing to user.
Either all content should be in single raw or as Leon said just single different format for RoCEv2 is fine.

> 	GID[  2]:       0000:0000:0000:0000:0000:ffff:c0aa:0165, IB/RoCE v1
> 	GID[  3]:       0000:0000:0000:0000:0000:ffff:c0aa:0165, RoCE v2
> 	GID[  3]:       ::ffff:192.170.1.101

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v6] libibverbs: display gid type in ibv_devinfo
  2020-02-04 14:31 ` Parav Pandit
@ 2020-02-04 15:26   ` Devesh Sharma
  2020-02-05 19:07     ` Jason Gunthorpe
  0 siblings, 1 reply; 7+ messages in thread
From: Devesh Sharma @ 2020-02-04 15:26 UTC (permalink / raw)
  To: Parav Pandit; +Cc: linux-rdma, Jason Gunthorpe, leon

On Tue, Feb 4, 2020 at 8:01 PM Parav Pandit <parav@mellanox.com> wrote:
>
> Hi Devesh,
>
> > From: linux-rdma-owner@vger.kernel.org <linux-rdma-
> > owner@vger.kernel.org> On Behalf Of Devesh Sharma
> >       phys_state:     LINK_UP (5)
> >       GID[  0]:       fe80:0000:0000:0000:b226:28ff:fed3:b0f0, IB/RoCE v1
> >       GID[  1]:       fe80:0000:0000:0000:b226:28ff:fed3:b0f0, RoCE v2
> >       GID[  1]:       fe80::b226:28ff:fed3:b0f0
> Showing two entries as individual raw like this is surely confusing to user.
> Either all content should be in single raw or as Leon said just single different format for RoCEv2 is fine.
Yes, I liked the single display in new format, I would wait for Jason
to agree/disagree and then send a rev.
>
> >       GID[  2]:       0000:0000:0000:0000:0000:ffff:c0aa:0165, IB/RoCE v1
> >       GID[  3]:       0000:0000:0000:0000:0000:ffff:c0aa:0165, RoCE v2
> >       GID[  3]:       ::ffff:192.170.1.101

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v6] libibverbs: display gid type in ibv_devinfo
  2020-02-04  9:47 [PATCH v6] libibverbs: display gid type in ibv_devinfo Devesh Sharma
  2020-02-04 13:08 ` Leon Romanovsky
  2020-02-04 14:31 ` Parav Pandit
@ 2020-02-04 15:41 ` Devesh Sharma
  2 siblings, 0 replies; 7+ messages in thread
From: Devesh Sharma @ 2020-02-04 15:41 UTC (permalink / raw)
  To: linux-rdma; +Cc: Jason Gunthorpe, Leon Romanovsky

On Tue, Feb 4, 2020 at 3:17 PM Devesh Sharma <devesh.sharma@broadcom.com> wrote:
>
> It becomes difficult to make out from the output of ibv_devinfo
> if a particular gid index is RoCE v2 or not.
>
> Adding a string to the output of ibv_devinfo -v to display the
> gid type at the end of gid.
>
> The output would look something like below:
> $ ibv_devinfo -v -d bnxt_re2
> hca_id: bnxt_re2
>  transport:             InfiniBand (0)
>  fw_ver:                216.0.220.0
>  node_guid:             b226:28ff:fed3:b0f0
>  sys_image_guid:        b226:28ff:fed3:b0f0
>   .
>   .
>   .
>   .
>         phys_state:     LINK_UP (5)
>         GID[  0]:       fe80:0000:0000:0000:b226:28ff:fed3:b0f0, IB/RoCE v1
>         GID[  1]:       fe80:0000:0000:0000:b226:28ff:fed3:b0f0, RoCE v2
>         GID[  1]:       fe80::b226:28ff:fed3:b0f0
>         GID[  2]:       0000:0000:0000:0000:0000:ffff:c0aa:0165, IB/RoCE v1
>         GID[  3]:       0000:0000:0000:0000:0000:ffff:c0aa:0165, RoCE v2
>         GID[  3]:       ::ffff:192.170.1.101
> $
> $
> $
>
> Reviewed-by: Jason Gunthrope <jgg@ziepe.ca>
> Reviewed-by: Leon Romanovsky <leon@kernel.org>
> Reviewed-by: Gal Pressman <galpress@amazon.com>
> Reviewed-by: Parav Pandit <parav@mellanox.com>
> Signed-off-by: Devesh Sharma <devesh.sharma@broadcom.com>
> ---
>  libibverbs/examples/devinfo.c | 60 ++++++++++++++++++++++++++++++++++---------
>  1 file changed, 48 insertions(+), 12 deletions(-)
>
> diff --git a/libibverbs/examples/devinfo.c b/libibverbs/examples/devinfo.c
> index bf53eac..83acc22 100644
> --- a/libibverbs/examples/devinfo.c
> +++ b/libibverbs/examples/devinfo.c
> @@ -40,6 +40,7 @@
>  #include <getopt.h>
>  #include <endian.h>
>  #include <inttypes.h>
> +#include <arpa/inet.h>
>
>  #include <infiniband/verbs.h>
>  #include <infiniband/driver.h>
> @@ -162,12 +163,49 @@ static const char *vl_str(uint8_t vl_num)
>         }
>  }
>
> -static int print_all_port_gids(struct ibv_context *ctx, uint8_t port_num, int tbl_len)
> +#define DEVINFO_INVALID_GID_TYPE       2
> +static const char *gid_type_str(enum ibv_gid_type type)
>  {
> +       switch (type) {
> +       case IBV_GID_TYPE_IB_ROCE_V1: return "IB/RoCE v1";
> +       case IBV_GID_TYPE_ROCE_V2: return "RoCE v2";
> +       default: return "Invalid gid type";
> +       }
> +}
> +
> +static void print_formated_gid(union ibv_gid *gid, int i,
> +                              enum ibv_gid_type type, int ll)
> +{
> +       char gid_str[INET6_ADDRSTRLEN] = {};
> +       char str[20] = {};
> +
> +       if (ll == IBV_LINK_LAYER_ETHERNET) {
> +               sprintf(str, ", %s", gid_type_str(type));
> +               printf("\t\t\tGID[%3d]:\t\t%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x%s\n",
> +                      i, gid->raw[0], gid->raw[1], gid->raw[2],
> +                      gid->raw[3], gid->raw[4], gid->raw[5], gid->raw[6],
> +                      gid->raw[7], gid->raw[8], gid->raw[9], gid->raw[10],
> +                      gid->raw[11], gid->raw[12], gid->raw[13], gid->raw[14],
> +                      gid->raw[15], str);
> +       }
Opps!! this needs a rev in anycase, for IB devices gid won't be
printed at all, my bad!
> +
> +       if (type == IBV_GID_TYPE_ROCE_V2) {
> +               inet_ntop(AF_INET6, gid->raw, gid_str, sizeof(gid_str));
> +               printf("\t\t\tGID[%3d]:\t\t%s\n", i, gid_str);
> +       }
> +}
> +
> +static int print_all_port_gids(struct ibv_context *ctx,
> +                              struct ibv_port_attr *port_attr,
> +                              uint8_t port_num)
> +{
> +       enum ibv_gid_type type;
>         union ibv_gid gid;
> +       int tbl_len;
>         int rc = 0;
>         int i;
>
> +       tbl_len = port_attr->gid_tbl_len;
>         for (i = 0; i < tbl_len; i++) {
>                 rc = ibv_query_gid(ctx, port_num, i, &gid);
>                 if (rc) {
> @@ -175,17 +213,15 @@ static int print_all_port_gids(struct ibv_context *ctx, uint8_t port_num, int tb
>                                port_num, i);
>                         return rc;
>                 }
> +
> +               rc = ibv_query_gid_type(ctx, port_num, i, &type);
> +               if (rc) {
> +                       rc = 0;
> +                       type = DEVINFO_INVALID_GID_TYPE;
> +               }
>                 if (!null_gid(&gid))
> -                       printf("\t\t\tGID[%3d]:\t\t%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x\n",
> -                              i,
> -                              gid.raw[ 0], gid.raw[ 1],
> -                              gid.raw[ 2], gid.raw[ 3],
> -                              gid.raw[ 4], gid.raw[ 5],
> -                              gid.raw[ 6], gid.raw[ 7],
> -                              gid.raw[ 8], gid.raw[ 9],
> -                              gid.raw[10], gid.raw[11],
> -                              gid.raw[12], gid.raw[13],
> -                              gid.raw[14], gid.raw[15]);
> +                       print_formated_gid(&gid, i, type,
> +                                          port_attr->link_layer);
>         }
>         return rc;
>  }
> @@ -614,7 +650,7 @@ static int print_hca_cap(struct ibv_device *ib_dev, uint8_t ib_port)
>                                 printf("\t\t\tphys_state:\t\t%s (%d)\n",
>                                        port_phy_state_str(port_attr.phys_state), port_attr.phys_state);
>
> -                       if (print_all_port_gids(ctx, port, port_attr.gid_tbl_len))
> +                       if (print_all_port_gids(ctx, &port_attr, port))
>                                 goto cleanup;
>                 }
>                 printf("\n");
> --
> 1.8.3.1
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v6] libibverbs: display gid type in ibv_devinfo
  2020-02-04 15:26   ` Devesh Sharma
@ 2020-02-05 19:07     ` Jason Gunthorpe
  2020-02-06  5:29       ` Devesh Sharma
  0 siblings, 1 reply; 7+ messages in thread
From: Jason Gunthorpe @ 2020-02-05 19:07 UTC (permalink / raw)
  To: Devesh Sharma; +Cc: Parav Pandit, linux-rdma, leon

On Tue, Feb 04, 2020 at 08:56:54PM +0530, Devesh Sharma wrote:
> On Tue, Feb 4, 2020 at 8:01 PM Parav Pandit <parav@mellanox.com> wrote:
> >
> > Hi Devesh,
> >
> > > From: linux-rdma-owner@vger.kernel.org <linux-rdma-
> > > owner@vger.kernel.org> On Behalf Of Devesh Sharma
> > >       phys_state:     LINK_UP (5)
> > >       GID[  0]:       fe80:0000:0000:0000:b226:28ff:fed3:b0f0, IB/RoCE v1
> > >       GID[  1]:       fe80:0000:0000:0000:b226:28ff:fed3:b0f0, RoCE v2
> > >       GID[  1]:       fe80::b226:28ff:fed3:b0f0
> > Showing two entries as individual raw like this is surely confusing to user.
> > Either all content should be in single raw or as Leon said just single different format for RoCEv2 is fine.
> Yes, I liked the single display in new format, I would wait for Jason
> to agree/disagree and then send a rev.

Well, I wasn't thinking to display the GID[xx] prefix for the 2nd
entry

It seems like other people want to just show one, that seems OK too

Jason

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v6] libibverbs: display gid type in ibv_devinfo
  2020-02-05 19:07     ` Jason Gunthorpe
@ 2020-02-06  5:29       ` Devesh Sharma
  0 siblings, 0 replies; 7+ messages in thread
From: Devesh Sharma @ 2020-02-06  5:29 UTC (permalink / raw)
  To: Jason Gunthorpe; +Cc: Parav Pandit, linux-rdma, leon

On Thu, Feb 6, 2020 at 12:37 AM Jason Gunthorpe <jgg@ziepe.ca> wrote:
>
> On Tue, Feb 04, 2020 at 08:56:54PM +0530, Devesh Sharma wrote:
> > On Tue, Feb 4, 2020 at 8:01 PM Parav Pandit <parav@mellanox.com> wrote:
> > >
> > > Hi Devesh,
> > >
> > > > From: linux-rdma-owner@vger.kernel.org <linux-rdma-
> > > > owner@vger.kernel.org> On Behalf Of Devesh Sharma
> > > >       phys_state:     LINK_UP (5)
> > > >       GID[  0]:       fe80:0000:0000:0000:b226:28ff:fed3:b0f0, IB/RoCE v1
> > > >       GID[  1]:       fe80:0000:0000:0000:b226:28ff:fed3:b0f0, RoCE v2
> > > >       GID[  1]:       fe80::b226:28ff:fed3:b0f0
> > > Showing two entries as individual raw like this is surely confusing to user.
> > > Either all content should be in single raw or as Leon said just single different format for RoCEv2 is fine.
> > Yes, I liked the single display in new format, I would wait for Jason
> > to agree/disagree and then send a rev.
>
> Well, I wasn't thinking to display the GID[xx] prefix for the 2nd
> entry
>
> It seems like other people want to just show one, that seems OK too
Thanks for confirming, sending down V7 shortly please review.
>
> Jason

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-02-06  5:30 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-04  9:47 [PATCH v6] libibverbs: display gid type in ibv_devinfo Devesh Sharma
2020-02-04 13:08 ` Leon Romanovsky
2020-02-04 14:31 ` Parav Pandit
2020-02-04 15:26   ` Devesh Sharma
2020-02-05 19:07     ` Jason Gunthorpe
2020-02-06  5:29       ` Devesh Sharma
2020-02-04 15:41 ` Devesh Sharma

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.