[V3,5/7] app/testpmd: move position of verifying DCB test
Checks
Commit Message
Currently, the check for doing DCB test is assigned to
start_packet_forwarding(), which will be called when
run "start" cmd. But fwd_config_setup() is used in many
scenarios, such as, "port config all rxq".
This patch moves the check from start_packet_forwarding()
to fwd_config_setup().
Fixes: 7741e4cf16c0 ("app/testpmd: VMDq and DCB updates")
Signed-off-by: Huisong Li <lihuisong@huawei.com>
Signed-off-by: Lijun Ou <oulijun@huawei.com>
---
app/test-pmd/config.c | 23 +++++++++++++++++++++--
app/test-pmd/testpmd.c | 19 -------------------
2 files changed, 21 insertions(+), 21 deletions(-)
Comments
> -----Original Message-----
> From: Huisong Li <lihuisong@huawei.com>
> Sent: Tuesday, April 20, 2021 17:01
> To: dev@dpdk.org
> Cc: Yigit, Ferruh <ferruh.yigit@intel.com>; Li, Xiaoyun <xiaoyun.li@intel.com>;
> linuxarm@openeuler.org; lihuisong@huawei.com
> Subject: [PATCH V3 5/7] app/testpmd: move position of verifying DCB test
>
> Currently, the check for doing DCB test is assigned to start_packet_forwarding(),
> which will be called when run "start" cmd. But fwd_config_setup() is used in
> many scenarios, such as, "port config all rxq".
>
> This patch moves the check from start_packet_forwarding() to
> fwd_config_setup().
>
> Fixes: 7741e4cf16c0 ("app/testpmd: VMDq and DCB updates")
>
> Signed-off-by: Huisong Li <lihuisong@huawei.com>
> Signed-off-by: Lijun Ou <oulijun@huawei.com>
> ---
> app/test-pmd/config.c | 23 +++++++++++++++++++++-- app/test-
> pmd/testpmd.c | 19 -------------------
> 2 files changed, 21 insertions(+), 21 deletions(-)
Acked-by: Xiaoyun Li <xiaoyun.li@intel.com>
@@ -3152,6 +3152,10 @@ icmp_echo_config_setup(void)
void
fwd_config_setup(void)
{
+ struct rte_port *port;
+ portid_t pt_id;
+ unsigned int i;
+
cur_fwd_config.fwd_eng = cur_fwd_eng;
if (strcmp(cur_fwd_eng->fwd_mode_name, "icmpecho") == 0) {
icmp_echo_config_setup();
@@ -3159,9 +3163,24 @@ fwd_config_setup(void)
}
if ((nb_rxq > 1) && (nb_txq > 1)){
- if (dcb_config)
+ if (dcb_config) {
+ for (i = 0; i < nb_fwd_ports; i++) {
+ pt_id = fwd_ports_ids[i];
+ port = &ports[pt_id];
+ if (!port->dcb_flag) {
+ printf("In DCB mode, all forwarding ports must "
+ "be configured in this mode.\n");
+ return;
+ }
+ }
+ if (nb_fwd_lcores == 1) {
+ printf("In DCB mode,the nb forwarding cores "
+ "should be larger than 1.\n");
+ return;
+ }
+
dcb_fwd_config_setup();
- else
+ } else
rss_fwd_config_setup();
}
else
@@ -2138,9 +2138,7 @@ start_packet_forwarding(int with_tx_first)
{
port_fwd_begin_t port_fwd_begin;
port_fwd_end_t port_fwd_end;
- struct rte_port *port;
unsigned int i;
- portid_t pt_id;
if (strcmp(cur_fwd_eng->fwd_mode_name, "rxonly") == 0 && !nb_rxq)
rte_exit(EXIT_FAILURE, "rxq are 0, cannot use rxonly fwd mode\n");
@@ -2163,23 +2161,6 @@ start_packet_forwarding(int with_tx_first)
printf("Packet forwarding already started\n");
return;
}
-
- if (dcb_config) {
- for (i = 0; i < nb_fwd_ports; i++) {
- pt_id = fwd_ports_ids[i];
- port = &ports[pt_id];
- if (!port->dcb_flag) {
- printf("In DCB mode, all forwarding ports must "
- "be configured in this mode.\n");
- return;
- }
- }
- if (nb_fwd_lcores == 1) {
- printf("In DCB mode,the nb forwarding cores "
- "should be larger than 1.\n");
- return;
- }
- }
test_done = 0;
fwd_config_setup();