app/testpmd: retain all original dev conf when config DCB

Message ID 20211009084141.58054-1-humin29@huawei.com (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers
Series app/testpmd: retain all original dev conf when config DCB |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/github-robot: build success github build: passed
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-x86_64-unit-testing success Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS

Commit Message

humin (Q) Oct. 9, 2021, 8:41 a.m. UTC
  From: Huisong Li <lihuisong@huawei.com>

When configuring DCB, testpmd retains the rx_mode/tx_mode configuration in
rte_port->dev_conf. But some configurations, such as the link_speed, were
not saved if it were set before configuring DCB.

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: Min Hu (Connor) <humin29@huawei.com>
---
 app/test-pmd/testpmd.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
  

Comments

Li, Xiaoyun Oct. 11, 2021, 6:49 a.m. UTC | #1
Hi

> -----Original Message-----
> From: Min Hu (Connor) <humin29@huawei.com>
> Sent: Saturday, October 9, 2021 16:42
> To: dev@dpdk.org
> Cc: Yigit, Ferruh <ferruh.yigit@intel.com>; thomas@monjalon.net; Li, Xiaoyun
> <xiaoyun.li@intel.com>
> Subject: [PATCH] app/testpmd: retain all original dev conf when config DCB
> 
> From: Huisong Li <lihuisong@huawei.com>
> 
> When configuring DCB, testpmd retains the rx_mode/tx_mode configuration in
> rte_port->dev_conf. But some configurations, such as the link_speed, were not
> saved if it were set before configuring DCB.

"if they were" or "if it was"

> 
> 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: Min Hu (Connor) <humin29@huawei.com>
> ---
>  app/test-pmd/testpmd.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index
> eec4f1b81d..12a0db8796 100644
> --- a/app/test-pmd/testpmd.c
> +++ b/app/test-pmd/testpmd.c
> @@ -3729,10 +3729,8 @@ init_port_dcb_config(portid_t pid,
>  	}
>  	rte_port = &ports[pid];
> 
> -	memset(&port_conf, 0, sizeof(struct rte_eth_conf));
> -
> -	port_conf.rxmode = rte_port->dev_conf.rxmode;
> -	port_conf.txmode = rte_port->dev_conf.txmode;
> +	/* retain the original device configuration. */
> +	memcpy(&port_conf, &rte_port->dev_conf, sizeof(struct rte_eth_conf));
> 
>  	/*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.33.0

Except the small issue in commit log,
Acked-by: Xiaoyun Li <xiaoyun.li@intel.com>
  
humin (Q) Oct. 11, 2021, 9:15 a.m. UTC | #2
在 2021/10/11 14:49, Li, Xiaoyun 写道:
> Hi
> 
>> -----Original Message-----
>> From: Min Hu (Connor) <humin29@huawei.com>
>> Sent: Saturday, October 9, 2021 16:42
>> To: dev@dpdk.org
>> Cc: Yigit, Ferruh <ferruh.yigit@intel.com>; thomas@monjalon.net; Li, Xiaoyun
>> <xiaoyun.li@intel.com>
>> Subject: [PATCH] app/testpmd: retain all original dev conf when config DCB
>>
>> From: Huisong Li <lihuisong@huawei.com>
>>
>> When configuring DCB, testpmd retains the rx_mode/tx_mode configuration in
>> rte_port->dev_conf. But some configurations, such as the link_speed, were not
>> saved if it were set before configuring DCB.
> 
> "if they were" or "if it was"
> 
>>
>> 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: Min Hu (Connor) <humin29@huawei.com>
>> ---
>>   app/test-pmd/testpmd.c | 6 ++----
>>   1 file changed, 2 insertions(+), 4 deletions(-)
>>
>> diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index
>> eec4f1b81d..12a0db8796 100644
>> --- a/app/test-pmd/testpmd.c
>> +++ b/app/test-pmd/testpmd.c
>> @@ -3729,10 +3729,8 @@ init_port_dcb_config(portid_t pid,
>>   	}
>>   	rte_port = &ports[pid];
>>
>> -	memset(&port_conf, 0, sizeof(struct rte_eth_conf));
>> -
>> -	port_conf.rxmode = rte_port->dev_conf.rxmode;
>> -	port_conf.txmode = rte_port->dev_conf.txmode;
>> +	/* retain the original device configuration. */
>> +	memcpy(&port_conf, &rte_port->dev_conf, sizeof(struct rte_eth_conf));
>>
>>   	/*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.33.0
> 
> Except the small issue in commit log,
> Acked-by: Xiaoyun Li <xiaoyun.li@intel.com>
Thanks Xiaoyun,
V2 has been sent.

> .
>
  

Patch

diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
index eec4f1b81d..12a0db8796 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -3729,10 +3729,8 @@  init_port_dcb_config(portid_t pid,
 	}
 	rte_port = &ports[pid];
 
-	memset(&port_conf, 0, sizeof(struct rte_eth_conf));
-
-	port_conf.rxmode = rte_port->dev_conf.rxmode;
-	port_conf.txmode = rte_port->dev_conf.txmode;
+	/* retain the original device configuration. */
+	memcpy(&port_conf, &rte_port->dev_conf, sizeof(struct rte_eth_conf));
 
 	/*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);