Question about add ethdev loopback set API

fengchengwen fengchengwen at huawei.com
Wed Dec 14 08:25:14 CET 2022


On 2022/12/13 19:25, Ferruh Yigit wrote:
> On 12/13/2022 10:04 AM, fengchengwen wrote:
>> Hi Ferruh,
>>
>>     During the test, we need to delineate where go wrong when encountered
>> e.g. CRC error. In this scenario, loopback is useful.
>>
>>     I think we can add a loopback set API which could set inner or outer loop,
>> and user can use telemetry to set the loopback in the above scenario.
>>
>>     I'd like to hear your opinion about add a loopback set API.
>>
> 
> Hi Chengwen,
> 
> Is the intention to test ethdev layer or driver?
> 
> It is possible to use ring vdev to create a loopback and to test ethdev
> layer.
> 
> For driver, it can be possible to create physical loopback connection,
> or even can implement loopback Rx/Tx burst functions in driver.
> Using another host to send/receive packets to DUT (device under test) is
> another approach.
> 
> 
> What kind of loopback implementation do you have in your mind?

Mainly MAC layer and lower physical layer:

   --------   ---------------        ------------        ----------                --------------------
   |      |   |        - rx |        | -  rx  - |        | - rx - |                |                  |
   | Host | - |   MAC       |   -    |  SerDes  |   -    |  PHY   |        ====    | Packet Generator |
   |      |   |        - tx |        | -  tx  - |        | - tx - |                |                  |
   --------   ---------------        ------------        ----------                --------------------

The support loopback in hns3 platform:
   Inner loopback subtypes: which host send pkts and recv and then verify:
        Serdes tx to rx
        PHY tx to rx

   Outer loopback subtypes: which Packet-Generator send pkts and recv and then verify:
        MAC tx to rx

I think we could support the above loopback types, and maybe other PMD platform support
more loopback types.

> 
> 
> .
> 


More information about the dev mailing list