[2/2] app/testpmd: retain original FDIR mode when configuring DCB
Checks
Commit Message
From: Huisong Li <lihuisong@huawei.com>
Sometimes, we have to start testpmd application with --pkt-filter-mode to
test flow table feature. When using 'port config 0 dcb vt off 4 pfc on'
command, the dcb information are configured in init_port_dcb_config
function by get_eth_dcb_conf function, And then rte_eth_dev_configure API
function will be called to re-configure PMD driver.
The values of rxmode and txmode in rte_eth_conf struct used to configure
PMD driver, come from the current values maintained in testpmd. However,
the fdir_conf.mode in rte_eth_conf struct is not set, which may cause that
some PMD driver cannot test the flow table feature when multiple TCs are
enabled.
Fixes: 1a572499beb6 ("app/testpmd: setup DCB forwarding based on traffic class")
Cc: stable@dpdk.org
Signed-off-by: Huisong Li <lihuisong@huawei.com>
Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
---
app/test-pmd/testpmd.c | 1 +
1 file changed, 1 insertion(+)
Comments
On Mon, Sep 7, 2020 at 7:16 PM Wei Hu (Xavier)
<huwei013@chinasoftinc.com> wrote:
>
> From: Huisong Li <lihuisong@huawei.com>
>
> Sometimes, we have to start testpmd application with --pkt-filter-mode to
> test flow table feature. When using 'port config 0 dcb vt off 4 pfc on'
> command, the dcb information are configured in init_port_dcb_config
> function by get_eth_dcb_conf function, And then rte_eth_dev_configure API
> function will be called to re-configure PMD driver.
>
> The values of rxmode and txmode in rte_eth_conf struct used to configure
> PMD driver, come from the current values maintained in testpmd. However,
> the fdir_conf.mode in rte_eth_conf struct is not set, which may cause that
> some PMD driver cannot test the flow table feature when multiple TCs are
> enabled.
>
> Fixes: 1a572499beb6 ("app/testpmd: setup DCB forwarding based on traffic class")
> Cc: stable@dpdk.org
>
> Signed-off-by: Huisong Li <lihuisong@huawei.com>
> Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
> ---
> app/test-pmd/testpmd.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
> index 73543bb..19bf972 100644
> --- a/app/test-pmd/testpmd.c
> +++ b/app/test-pmd/testpmd.c
> @@ -3521,6 +3521,7 @@ init_port_dcb_config(portid_t pid,
>
> port_conf.rxmode = rte_port->dev_conf.rxmode;
> port_conf.txmode = rte_port->dev_conf.txmode;
> + port_conf.fdir_conf.mode = rte_port->dev_conf.fdir_conf.mode;
This is probably not necessary. FDIR is due for deprecation [1].
https://doc.dpdk.org/guides/rel_notes/deprecation.html
>
> /*set configuration of DCB in vt mode and DCB in non-vt mode*/
> retval = get_eth_dcb_conf(pid, &port_conf, dcb_mode, num_tcs, pfc_en);
> --
> 2.9.5
>
Hi, Ajit Khaparde
On 2020/9/22 13:15, Ajit Khaparde wrote:
> On Mon, Sep 7, 2020 at 7:16 PM Wei Hu (Xavier)
> <huwei013@chinasoftinc.com> wrote:
>> From: Huisong Li <lihuisong@huawei.com>
>>
>> Sometimes, we have to start testpmd application with --pkt-filter-mode to
>> test flow table feature. When using 'port config 0 dcb vt off 4 pfc on'
>> command, the dcb information are configured in init_port_dcb_config
>> function by get_eth_dcb_conf function, And then rte_eth_dev_configure API
>> function will be called to re-configure PMD driver.
>>
>> The values of rxmode and txmode in rte_eth_conf struct used to configure
>> PMD driver, come from the current values maintained in testpmd. However,
>> the fdir_conf.mode in rte_eth_conf struct is not set, which may cause that
>> some PMD driver cannot test the flow table feature when multiple TCs are
>> enabled.
>>
>> Fixes: 1a572499beb6 ("app/testpmd: setup DCB forwarding based on traffic class")
>> Cc: stable@dpdk.org
>>
>> Signed-off-by: Huisong Li <lihuisong@huawei.com>
>> Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
>> ---
>> app/test-pmd/testpmd.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
>> index 73543bb..19bf972 100644
>> --- a/app/test-pmd/testpmd.c
>> +++ b/app/test-pmd/testpmd.c
>> @@ -3521,6 +3521,7 @@ init_port_dcb_config(portid_t pid,
>>
>> port_conf.rxmode = rte_port->dev_conf.rxmode;
>> port_conf.txmode = rte_port->dev_conf.txmode;
>> + port_conf.fdir_conf.mode = rte_port->dev_conf.fdir_conf.mode;
> This is probably not necessary. FDIR is due for deprecation [1].
> https://doc.dpdk.org/guides/rel_notes/deprecation.html
Thanks your for pointing out it, this patch is really necessary.
Thanks, Xavier
>> /*set configuration of DCB in vt mode and DCB in non-vt mode*/
>> retval = get_eth_dcb_conf(pid, &port_conf, dcb_mode, num_tcs, pfc_en);
>> --
>> 2.9.5
>>
Hi, Ajit Khaparde
On 2020/9/23 15:14, Wei Hu (Xavier) wrote:
> Hi, Ajit Khaparde
>
> On 2020/9/22 13:15, Ajit Khaparde wrote:
>> On Mon, Sep 7, 2020 at 7:16 PM Wei Hu (Xavier)
>> <huwei013@chinasoftinc.com> wrote:
>>> From: Huisong Li <lihuisong@huawei.com>
>>>
>>> Sometimes, we have to start testpmd application with
>>> --pkt-filter-mode to
>>> test flow table feature. When using 'port config 0 dcb vt off 4 pfc on'
>>> command, the dcb information are configured in init_port_dcb_config
>>> function by get_eth_dcb_conf function, And then
>>> rte_eth_dev_configure API
>>> function will be called to re-configure PMD driver.
>>>
>>> The values of rxmode and txmode in rte_eth_conf struct used to
>>> configure
>>> PMD driver, come from the current values maintained in testpmd.
>>> However,
>>> the fdir_conf.mode in rte_eth_conf struct is not set, which may
>>> cause that
>>> some PMD driver cannot test the flow table feature when multiple TCs
>>> are
>>> enabled.
>>>
>>> Fixes: 1a572499beb6 ("app/testpmd: setup DCB forwarding based on
>>> traffic class")
>>> Cc: stable@dpdk.org
>>>
>>> Signed-off-by: Huisong Li <lihuisong@huawei.com>
>>> Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
>>> ---
>>> app/test-pmd/testpmd.c | 1 +
>>> 1 file changed, 1 insertion(+)
>>>
>>> diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
>>> index 73543bb..19bf972 100644
>>> --- a/app/test-pmd/testpmd.c
>>> +++ b/app/test-pmd/testpmd.c
>>> @@ -3521,6 +3521,7 @@ init_port_dcb_config(portid_t pid,
>>>
>>> port_conf.rxmode = rte_port->dev_conf.rxmode;
>>> port_conf.txmode = rte_port->dev_conf.txmode;
>>> + port_conf.fdir_conf.mode = rte_port->dev_conf.fdir_conf.mode;
>> This is probably not necessary. FDIR is due for deprecation [1].
>> https://doc.dpdk.org/guides/rel_notes/deprecation.html
>
> Thanks your for pointing out it, this patch is really necessary.
>
Sorry, it is a typo.
This patch is not really necessary.
Thanks, Xavier
>
> Thanks, Xavier
>
>>> /*set configuration of DCB in vt mode and DCB in non-vt mode*/
>>> retval = get_eth_dcb_conf(pid, &port_conf, dcb_mode,
>>> num_tcs, pfc_en);
>>> --
>>> 2.9.5
>>>
@@ -3521,6 +3521,7 @@ init_port_dcb_config(portid_t pid,
port_conf.rxmode = rte_port->dev_conf.rxmode;
port_conf.txmode = rte_port->dev_conf.txmode;
+ port_conf.fdir_conf.mode = rte_port->dev_conf.fdir_conf.mode;
/*set configuration of DCB in vt mode and DCB in non-vt mode*/
retval = get_eth_dcb_conf(pid, &port_conf, dcb_mode, num_tcs, pfc_en);