Re: [PATCH for-next 1/2] IB/core: Report LSO capabilities when querying device

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

 



On Mon, Apr 18, 2016 at 7:25 PM, Majd Dibbiny <majd@xxxxxxxxxxxx> wrote:
> From: Bodong Wang <bodong@xxxxxxxxxxxx>
>
> LSO capabilities include the max LSO packet size in byte, and what QP
> types the hardware supports.

size in bytes

>
> Relevant verbs to report LSO caps from kernel to user space is updated
> accordingly.

verbs ... is --> verbs ... are

>
> Signed-off-by: Bodong Wang <bodong@xxxxxxxxxxxx>
> Signed-off-by: Majd Dibbiny <majd@xxxxxxxxxxxx>
> Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx>
> ---
>  drivers/infiniband/core/uverbs_cmd.c | 7 +++++++
>  include/rdma/ib_verbs.h              | 6 ++++++
>  include/uapi/rdma/ib_user_verbs.h    | 6 ++++++
>  3 files changed, 19 insertions(+)
>
> diff --git a/drivers/infiniband/core/uverbs_cmd.c b/drivers/infiniband/core/uverbs_cmd.c
> index 6fdc7ec..b0fb94b 100644
> --- a/drivers/infiniband/core/uverbs_cmd.c
> +++ b/drivers/infiniband/core/uverbs_cmd.c
> @@ -3655,6 +3655,13 @@ int ib_uverbs_ex_query_device(struct ib_uverbs_file *file,
>         resp.hca_core_clock = attr.hca_core_clock;
>         resp.response_length += sizeof(resp.hca_core_clock);
>
> +       if (ucore->outlen < resp.response_length + sizeof(resp.lso_caps))
> +               goto end;
> +
> +       resp.lso_caps.max_lso = attr.lso_caps.max_lso;
> +       resp.lso_caps.supported_qpts = attr.lso_caps.supported_qpts;
> +       resp.response_length += sizeof(resp.lso_caps);
> +
>  end:
>         err = ib_copy_to_udata(ucore, &resp, resp.response_length);
>         return err;
> diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
> index fb2cef4..d5a466f 100644
> --- a/include/rdma/ib_verbs.h
> +++ b/include/rdma/ib_verbs.h
> @@ -271,6 +271,11 @@ struct ib_cq_init_attr {
>         u32             flags;
>  };
>
> +struct ib_lso_caps {
> +       u32 max_lso;
> +       u32 supported_qpts; /* Use enum ib_qp_type */
> +};
> +
>  struct ib_device_attr {
>         u64                     fw_ver;
>         __be64                  sys_image_guid;
> @@ -317,6 +322,7 @@ struct ib_device_attr {
>         struct ib_odp_caps      odp_caps;
>         uint64_t                timestamp_mask;
>         uint64_t                hca_core_clock; /* in KHZ */
> +       struct ib_lso_caps      lso_caps;
>  };
>
>  enum ib_mtu {
> diff --git a/include/uapi/rdma/ib_user_verbs.h b/include/uapi/rdma/ib_user_verbs.h
> index 8126c14..fa039f5 100644
> --- a/include/uapi/rdma/ib_user_verbs.h
> +++ b/include/uapi/rdma/ib_user_verbs.h
> @@ -219,6 +219,11 @@ struct ib_uverbs_odp_caps {
>         __u32 reserved;
>  };
>
> +struct ib_uverbs_lso_caps {
> +       __u32 max_lso;
> +       __u32 supported_qpts; /* Use enum ib_qp_type */
> +};
> +
>  struct ib_uverbs_ex_query_device_resp {
>         struct ib_uverbs_query_device_resp base;
>         __u32 comp_mask;
> @@ -226,6 +231,7 @@ struct ib_uverbs_ex_query_device_resp {
>         struct ib_uverbs_odp_caps odp_caps;
>         __u64 timestamp_mask;
>         __u64 hca_core_clock; /* in KHZ */
> +       struct ib_uverbs_lso_caps lso_caps;
>  };
--
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



[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