On Fri, Feb 7, 2020 at 7:43 PM Jason Gunthorpe <jgg@xxxxxxxxxxxx> wrote: > > On Fri, Feb 07, 2020 at 06:07:34PM +0530, Devesh Sharma wrote: > > > > -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"; > > > > > > You call this function only if link layer is ethernet, why do you need the "IB/" part? > > Jason do you have any suggestion here, "IB/ROCE v1" is the standard > > string rdma-cm and > > /sys/class/infiniband/bnxt_re0/ports/1/gid_attrs/types/* use to > > distinguish v2 gid from v1/IB gids. > > I would ignore the sysfs > > If you know for sure it is RoCE v1 then say so > > IB doesn't have types so it shouldn't show anything Sent out a v8 for this change. > > Jason