[dpdk-dev,v5,6/6] testpmd: Set Rx VMDq RSS mode
Commit Message
Set VMDq RSS mode if it has VF(VF number is more than 1) and has RSS information.
Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
changes in v5
- Assign txmode.mq_mode with ETH_MQ_TX_NONE explicitly;
- Remove one line wrong comment.
---
app/test-pmd/testpmd.c | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
Comments
On 01/07/15 08:32, Ouyang Changchun wrote:
> Set VMDq RSS mode if it has VF(VF number is more than 1) and has RSS information.
>
> Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
Reviewed-by: Vlad Zolotarov <vladz@cloudius-systems.com>
Some nitpicking below... ;)
>
> changes in v5
> - Assign txmode.mq_mode with ETH_MQ_TX_NONE explicitly;
> - Remove one line wrong comment.
>
> ---
> app/test-pmd/testpmd.c | 15 ++++++++++++++-
> 1 file changed, 14 insertions(+), 1 deletion(-)
>
> diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
> index 8c69756..64fd4ee 100644
> --- a/app/test-pmd/testpmd.c
> +++ b/app/test-pmd/testpmd.c
> @@ -1700,7 +1700,6 @@ init_port_config(void)
> port->dev_conf.rx_adv_conf.rss_conf.rss_hf = 0;
> }
>
> - /* In SR-IOV mode, RSS mode is not available */
> if (port->dcb_flag == 0 && port->dev_info.max_vfs == 0) {
> if( port->dev_conf.rx_adv_conf.rss_conf.rss_hf != 0)
> port->dev_conf.rxmode.mq_mode = ETH_MQ_RX_RSS;
> @@ -1708,6 +1707,20 @@ init_port_config(void)
> port->dev_conf.rxmode.mq_mode = ETH_MQ_RX_NONE;
> }
>
> + if (port->dev_info.max_vfs != 0) {
> + if (port->dev_conf.rx_adv_conf.rss_conf.rss_hf != 0) {
> + port->dev_conf.rxmode.mq_mode =
> + ETH_MQ_RX_VMDQ_RSS;
> + port->dev_conf.txmode.mq_mode =
> + ETH_MQ_TX_NONE;
> + } else {
> + port->dev_conf.rxmode.mq_mode =
> + ETH_MQ_RX_NONE;
> + port->dev_conf.txmode.mq_mode =
> + ETH_MQ_TX_NONE;
It seems that txmode.mq_mode assignment may be taken out of the
"if-else" statement here... ;)
> + }
> + }
> +
> port->rx_conf.rx_thresh = rx_thresh;
> port->rx_conf.rx_free_thresh = rx_free_thresh;
> port->rx_conf.rx_drop_en = rx_drop_en;
@@ -1700,7 +1700,6 @@ init_port_config(void)
port->dev_conf.rx_adv_conf.rss_conf.rss_hf = 0;
}
- /* In SR-IOV mode, RSS mode is not available */
if (port->dcb_flag == 0 && port->dev_info.max_vfs == 0) {
if( port->dev_conf.rx_adv_conf.rss_conf.rss_hf != 0)
port->dev_conf.rxmode.mq_mode = ETH_MQ_RX_RSS;
@@ -1708,6 +1707,20 @@ init_port_config(void)
port->dev_conf.rxmode.mq_mode = ETH_MQ_RX_NONE;
}
+ if (port->dev_info.max_vfs != 0) {
+ if (port->dev_conf.rx_adv_conf.rss_conf.rss_hf != 0) {
+ port->dev_conf.rxmode.mq_mode =
+ ETH_MQ_RX_VMDQ_RSS;
+ port->dev_conf.txmode.mq_mode =
+ ETH_MQ_TX_NONE;
+ } else {
+ port->dev_conf.rxmode.mq_mode =
+ ETH_MQ_RX_NONE;
+ port->dev_conf.txmode.mq_mode =
+ ETH_MQ_TX_NONE;
+ }
+ }
+
port->rx_conf.rx_thresh = rx_thresh;
port->rx_conf.rx_free_thresh = rx_free_thresh;
port->rx_conf.rx_drop_en = rx_drop_en;