[dpdk-dev] [PATCH] net/i40e: fix queue region error in priority configuration

Zhao1, Wei wei.zhao1 at intel.com
Tue Jan 22 10:31:57 CET 2019


Tested-by: Peng Yuan < yuan.peng at intel.com@intel.com>


applied the patch [https://patches.dpdk.org/patch/49990/]  to dpdk 19.02-rc3
commit 84a1d4a873634f53cc6e3555dc78ca611bbc3458
verified with fortville 4*10g NIC
driver: i40e
version: 2.7.11
firmware-version: 6.01 0x80003205 1.1691.0
./usertools/dpdk-devbind.py -b igb_uio 05:00.0 05:00.1
./x86_64-native-linuxapp-gcc/app/testpmd -c 1ff -n 4 - -i --rxq=8 --txq=8 --nb-cores=2  --nb-ports=2  --pkt-filter-mode=perfect
   port config all rss all
   set verbose 1
   port config 0 pctype mapping update 15 28
   port config 0 pctype mapping update 17 30
   set port 0 queue-region region_id 0 queue_start_index 2 queue_num 4
   set port 0 queue-region region_id 1 queue_start_index 6 queue_num 1
   set port 0 queue-region region_id 0 flowtype 15
   set port 0 queue-region region_id 1 flowtype 17
   set port 0 queue-region flush on
   port config all rss 28
   port config all rss 30
   start
Input packet: sendp([Ether(type=0x8863,dst='ff:ff:ff:ff:ff:ff')/PPPoED()],iface="enp131s0f3",count=100)
testpmd showed:
testpmd> show port stats all
  ######################## NIC statistics for port 0  ########################
  RX-packets: 100        RX-missed: 0          RX-bytes:  6000
  RX-errors: 0
  RX-nombuf:  0
  TX-packets: 0          TX-errors: 0          TX-bytes:  0
  Throughput (since last show)
  Rx-pps:            0
  Tx-pps:            0
  ############################################################################
  ######################## NIC statistics for port 1  ########################
  RX-packets: 0          RX-missed: 0          RX-bytes:  0
  RX-errors: 0
  RX-nombuf:  0
  TX-packets: 100        TX-errors: 0          TX-bytes:  6000
  Throughput (since last show)
  Rx-pps:            0
  Tx-pps:            0
  ############################################################################
 
the issue is not reproduced.


> -----Original Message-----
> From: Zhao1, Wei
> Sent: Tuesday, January 22, 2019 4:11 PM
> To: dev at dpdk.org
> Cc: stable at dpdk.org; Zhang, Qi Z <qi.z.zhang at intel.com>; Peng, Yuan
> <yuan.peng at intel.com>; Zhao1, Wei <wei.zhao1 at intel.com>
> Subject: [PATCH] net/i40e: fix queue region error in priority configuration
> 
> There is no need to set vlan priority realted resigsters when there is no
> configuration about that in queue region.
> 
> Fixes: 7cbecc2f7424 ("net/i40e: support queue region set and flush")
> Signed-off-by: Wei Zhao <wei.zhao1 at intel.com>
> ---
>  drivers/net/i40e/rte_pmd_i40e.c | 12 +++++++++++-
>  1 file changed, 11 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/i40e/rte_pmd_i40e.c
> b/drivers/net/i40e/rte_pmd_i40e.c index 7ce5d02..c49c872 100644
> --- a/drivers/net/i40e/rte_pmd_i40e.c
> +++ b/drivers/net/i40e/rte_pmd_i40e.c
> @@ -2818,13 +2818,23 @@ i40e_queue_region_dcb_configure(struct
> i40e_hw *hw,
>  	struct i40e_dcbx_config *old_cfg = &hw->local_dcbx_config;
>  	int32_t ret = -EINVAL;
>  	uint16_t i, j, prio_index, region_index;
> -	uint8_t tc_map, tc_bw, bw_lf;
> +	uint8_t tc_map, tc_bw, bw_lf, dcb_flag = 0;
> 
>  	if (!info->queue_region_number) {
>  		PMD_DRV_LOG(ERR, "No queue region been set before");
>  		return ret;
>  	}
> 
> +	for (i = 0; i < info->queue_region_number; i++) {
> +		if (info->region[i].user_priority_num) {
> +			dcb_flag = 1;
> +			break;
> +		}
> +	}
> +
> +	if (dcb_flag == 0)
> +		return 0;
> +
>  	dcb_cfg = &dcb_cfg_local;
>  	memset(dcb_cfg, 0, sizeof(struct i40e_dcbx_config));
> 
> --
> 2.7.5



More information about the dev mailing list