[dpdk-dev] [PATCH v2 2/6] net/mlx5: add support for two ports hairpin mode

Slava Ovsiienko viacheslavo at nvidia.com
Mon Oct 26 10:29:12 CET 2020


> -----Original Message-----
> From: Bing Zhao <bingz at nvidia.com>
> Sent: Thursday, October 22, 2020 17:07
> To: viacheslavo at mellanox.com; matan at mellanox.com
> Cc: dev at dpdk.org; Ori Kam <orika at nvidia.com>; Raslan Darawsheh
> <rasland at nvidia.com>
> Subject: [PATCH v2 2/6] net/mlx5: add support for two ports hairpin mode
> 
> In order to support hairpin between two ports, mlx5 PMD needs to implement
> the functions and provide them as the function pointers.
> 
> The bind and unbind functions are executed per port pairs. All the hairpin
> queues between the two ports should have the same attributes during queues
> setup. Different configurations among queue pairs from the same ports are not
> supported. It is allowed that two ports only have one direction hairpin.
> 
> In order to set up the connection between two queues, peer Rx queue HW
> information must be fetched via the internal RTE API and the queue
> information could be used to modify the SQ object. Then the RQ object will be
> modified with the Tx queue HW information. The reverse operation is not
> supported right now.
> 
> When disconnecting the queues pair, SQ and RQ object should be reset
> without any peer HW information. The unbinding operation will try to
> disconnect all Tx queues from the port from the Rx queues of the peer port.
> 
> Tx explicit mode attribute will be saved and used when creating a hairpin flow.
> 
> Signed-off-by: Bing Zhao <bingz at nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo at nvidia.com>

> ---
>  drivers/net/mlx5/linux/mlx5_os.c |  10 +
>  drivers/net/mlx5/mlx5.h          |  19 ++
>  drivers/net/mlx5/mlx5_rxtx.h     |   2 +
>  drivers/net/mlx5/mlx5_trigger.c  | 611
> ++++++++++++++++++++++++++++++++++++++-
>  4 files changed, 640 insertions(+), 2 deletions(-)
> 


More information about the dev mailing list