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 4/18/2016 3:43 PM, Or Gerlitz wrote:
> 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;
>>  };

Will fix. Thanks.

--
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