Re: [PATCH] rdma-core: Make room for source GIDs to be added

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jun 13, 2017 at 08:24:51AM +0530, Somnath Kotur wrote:
> Currently sgid_index is of type 'u8' so we can't really go beyond 128
> unique GID entries(one for each type so total of 256 GID entries).
> Change it to u16 so atleast 4k GID entries (as many VLANs that can be added)
> can be accomodated.
>
> Signed-off-by: Somnath Kotur <somnath.kotur@xxxxxxxxxxxx>
> ---
>  drivers/infiniband/core/verbs.c | 2 +-
>  include/rdma/ib_verbs.h         | 4 ++--
>  2 files changed, 3 insertions(+), 3 deletions(-)

What type of testing did this change get?
According to spec, "The maximum number (N) of unicast GIDs supported per endport is
implementation specific".

mlx5 and mlx4 are limited to 128 GIDs and user will get errors if he try to set
more than that.

>
> diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c
> index 4792f52..3161e2c 100644
> --- a/drivers/infiniband/core/verbs.c
> +++ b/drivers/infiniband/core/verbs.c
> @@ -549,7 +549,7 @@ int ib_init_ah_from_wc(struct ib_device *device, u8 port_num,
>  		flow_class = be32_to_cpu(grh->version_tclass_flow);
>  		rdma_ah_set_grh(ah_attr, &sgid,
>  				flow_class & 0xFFFFF,
> -				(u8)gid_index, hoplimit,
> +				(u16)gid_index, hoplimit,
>  				(flow_class >> 20) & 0xFF);
>
>  	}
> diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
> index ba8314e..30ce942 100644
> --- a/include/rdma/ib_verbs.h
> +++ b/include/rdma/ib_verbs.h
> @@ -639,7 +639,7 @@ struct ib_event_handler {
>  struct ib_global_route {
>  	union ib_gid	dgid;
>  	u32		flow_label;
> -	u8		sgid_index;
> +	u16		sgid_index;
>  	u8		hop_limit;
>  	u8		traffic_class;
>  };
> @@ -3612,7 +3612,7 @@ static inline void rdma_ah_set_interface_id(struct rdma_ah_attr *attr,
>
>  static inline void rdma_ah_set_grh(struct rdma_ah_attr *attr,
>  				   union ib_gid *dgid, u32 flow_label,
> -				   u8 sgid_index, u8 hop_limit,
> +				   u16 sgid_index, u8 hop_limit,
>  				   u8 traffic_class)
>  {
>  	struct ib_global_route *grh = rdma_ah_retrieve_grh(attr);
> --
> 1.8.3.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux