f41a5092e6
Add command line options to support host shaper configure. - Command syntax: mlx5 set port <port_id> host_shaper avail_thresh_triggered <0|1> rate <rate_num> - Example commands: To enable avail_thresh_triggered on port 1 and disable current host shaper: testpmd> mlx5 set port 1 host_shaper avail_thresh_triggered 1 rate 0 To disable avail_thresh_triggered and current host shaper on port 1: testpmd> mlx5 set port 1 host_shaper avail_thresh_triggered 0 rate 0 The rate unit is 100Mbps. To disable avail_thresh_triggered and configure a shaper of 5Gbps on port 1: testpmd> mlx5 set port 1 host_shaper avail_thresh_triggered 0 rate 50 Add sample code to handle rxq available descriptor threshold event, it delays a while so that rxq empties, then disables host shaper and rearms available descriptor threshold event. Signed-off-by: Spike Du <spiked@nvidia.com> Acked-by: Matan Azrad <matan@nvidia.com>
27 lines
632 B
C
27 lines
632 B
C
/* SPDX-License-Identifier: BSD-3-Clause
|
|
* Copyright 2021 6WIND S.A.
|
|
* Copyright 2021 Mellanox Technologies, Ltd
|
|
*/
|
|
|
|
#ifndef RTE_PMD_MLX5_TEST_H_
|
|
#define RTE_PMD_MLX5_TEST_H_
|
|
|
|
#include <cmdline_parse.h>
|
|
#include <cmdline_parse_num.h>
|
|
#include <cmdline_parse_string.h>
|
|
|
|
/**
|
|
* RTE_ETH_EVENT_RX_AVAIL_THRESH handler sample code.
|
|
* It's called in testpmd, the work flow here is delay a while until
|
|
* RX queueu is empty, then disable host shaper.
|
|
*
|
|
* @param[in] port_id
|
|
* Port identifier.
|
|
* @param[in] rxq_id
|
|
* Rx queue identifier.
|
|
*/
|
|
void
|
|
mlx5_test_avail_thresh_event_handler(uint16_t port_id, uint16_t rxq_id);
|
|
|
|
#endif
|