[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