[RFC v3] ethdev: introduce ethdev dump API

Min Hu (Connor) humin29 at huawei.com
Mon Feb 7 02:37:24 CET 2022



在 2022/2/3 21:21, Ferruh Yigit 写道:
> On 1/25/2022 1:45 PM, Min Hu (Connor) wrote:
>> Hi, Ferruh,
>>
>> 在 2022/1/25 20:58, Ferruh Yigit 写道:
>>> On 1/25/2022 12:56 PM, Ferruh Yigit wrote:
>>>> On 1/18/2022 3:34 PM, Ajit Khaparde wrote:
>>>>> On Wed, Jan 12, 2022 at 4:06 AM Ray Kinsella <mdr at ashroe.eu> wrote:
>>>>>>
>>>>>>
>>>>>> Min Hu (Connor) <humin29 at huawei.com> writes:
>>>>>>
>>>>>>> Added the ethdev dump API which provides functions for query 
>>>>>>> private info
>>>>>>> from device. There exists many private properties in different 
>>>>>>> PMD drivers,
>>>>>>> such as adapter state, Rx/Tx func algorithm in hns3 PMD. The 
>>>>>>> information of
>>>>>>> these properties is important for debug. As the information is 
>>>>>>> private,
>>>>>>> the new API is introduced.
>>>>>>>
>>>>>>> Signed-off-by: Min Hu (Connor) <humin29 at huawei.com>
>>>>>>> Acked-by: Morten BrÞrup <mb at smartsharesystems.com>
>>>>>>> ---
>>>>>>> v3:
>>>>>>> * fix comment.
>>>>>>> * add rte_eth_dev_priv_dump to version.map file.
>>>>>>>
>>>>>>> v2:
>>>>>>> * fix dump API name
>>>>>>> * adjust description in doc.
>>>>>>> ---
>>>>>>>   doc/guides/rel_notes/release_22_03.rst |  7 +++++++
>>>>>>>   lib/ethdev/ethdev_driver.h             | 17 +++++++++++++++++
>>>>>>>   lib/ethdev/rte_ethdev.c                | 15 +++++++++++++++
>>>>>>>   lib/ethdev/rte_ethdev.h                | 16 ++++++++++++++++
>>>>>>>   lib/ethdev/version.map                 |  3 +++
>>>>>>>   5 files changed, 58 insertions(+)
>>>>>>>
>>>>>>
>>>>>> Acked-by: Ray Kinsella <mdr at ashroe.eu>
>>>>> Acked-by: Ajit Khaparde <ajit.khaparde at broadcom.com>
>>>>
>>>>
>>>> I have a concern and this "private info", it can be useful for debug
>>>> but still it will lead to a PMD specific applications, I wonder if some
>>>> common information can be provided.
>> The purpose of introducing the API is to enhance dump ability for NICs.
>> It will be used in APP proc-info, I will add "show-port-private" option
>> for it. As for common information, I will add them in "show-port" option
>> which already exists.
>>
> 
> Hi Connor,
> 
> We briefly touch on this patch in today's release status meeting,
> as far as I get general consensus was this can be good for debugging
> issues offline (instead of application parsing the output of API).
> 
> So can you please send a new, non-RFC, version of the patch?
> And please keep the existing ack/review tags.
Hi, Ferruh,
	Non-RFC version of the patch has been sent, please check it out.
Thanks.
> 
>>
>>   Is there any list in your mind what
>>>> can be part of this private info?
>> Private info for NICs, take HNS3 PMD NICS as an example,
>>    - Dev Capability:
>>            -- support DCB: no
>>            -- support COPPER: no
>>            -- support FD QUEUE REGION: no
>>            -- support PTP: no
>>            -- support TX PUSH: no
>>            -- support INDEP TXRX: no
>>            -- support STASH: no
>>            -- support SIMPLE BD: no
>>            -- support RXD Advanced Layout: no
>>            -- support OUTER UDP CKSUM: no
>>            -- support RAS IMP: no
>>            -- support TM: no
>>            -- support VF VLAN FILTER MOD: no
>>    - VLAN Config Info:
>>            -- Port VLAN filter configuration
>>                 nic_ingress           :Disable
>>                 nic_egress            :Disable
>>            -- VF VLAN filter configuration
>>                 nic_ingress           :Disable
>>                 nic_egress            :Disable
>>            -- RX VLAN configuration
>>                 vlan1_strip_en        :Disable
>>                 vlan2_strip_en        :Disable
>>                 vlan1_vlan_prionly    :Disable
>>                 vlan2_vlan_prionly    :Disable
>>                 vlan1_strip_discard   :Disable
>>                 vlan2_strip_discard   :Disable
>>            -- TX VLAN configuration
>>                 accept_tag1           :Enable
>>                 accept_untag1         :Enable
>>                 insert_tag1_en        :Disable
>>                 default_vlan_tag1 = 0, qos = 0
>>                 accept_tag2           :Enable
>>                 accept_untag2         :Enable
>>                 insert_tag2_en        :Disable
>>                 default_vlan_tag2 = 0, qos = 0
>>                 vlan_shift_mode       :Disable
>>            -- pvid status: off
>>    - Fdir Info:
>>            -- mode=0 max_key_len=400 rule_num:512 cnt_num:32
>>            -- key_sel=1 tuple_active=0x3bdfd890 meta_data_active=0xd0
>>            -- ipv6_word_en: in_s=3 in_d=3 out_s=0 out_d=0
>> ....
>>
>> These info is private for hns3 PMD.
>>
>>
>>>>
>>>> Also why not use existing xstats or telemetry to get more data from the
>>>> drivers?
>> Xstats is used to query statistics rather than state. Like above info,
>> many keys is "enable" or "disable". It is not appropriated to put the
>> date in xstats.
>>
>> Telemetry is used to query common info for NICs, not for private info.
>>   It is not also appropriated to put private date in telemetry.
>>
>>
>>
>>>> As synced with Ciara (cc'ed), she mentioned more information can be get
>>>> via registering callbacks to ethdev.
>>>
>>> Opps, Ciara (Power) cc'ed now.
>>> .
> 
> .


More information about the dev mailing list