[dpdk-dev] [PATCH 1/2] lib/librte_ethdev: add in default value of rte_eth_dev_info

Ferruh Yigit ferruh.yigit at intel.com
Fri Jun 14 18:51:27 CEST 2019


On 6/14/2019 6:31 AM, Mo, YufengX wrote:
> Hi, Sunil Kumar Kori
> 
> This series' patches have been merged on dpdk/master. They cause testpmd core dumped on intel nics.

Right, since they can provide values as "nb_seg_max = 0, nb_mtu_seg_max = 0",
I am sending a patch now.

> 
> ./usertools/dpdk-devbind.py -b igb_uio 0000:xx:00.0 0000:xx:00.1
> ./x86_64-native-linuxapp-gcc/app/testpmd -v -c 0x3f -n 4  -- -i
> 
> Running environment as the following:
> 
> * OS:
> fedora 20/22/27/30
> 3.16.4/4.4.14/5.1.0
> 
> * Compiler:
> gcc version 5.3.1
> gcc version 7.3.1
> gcc version 4.8.3
> 
> * Hardware platform:
> Broadwell-EP Xeon E5-2600
> Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz
> Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
> Intel(R) Xeon(R) Platinum 8160 CPU @ 2.10GHz
> 
> * NIC hardware:
> fortville_spirit
> Ethernet Controller XL710 for 40GbE QSFP+ 1583
> version: 1.5.16
> firmware-version: 6.01 0x800034a4 1.1747.0
> 
> fortville(25G 2 ports nic)
> Ethernet Controller XXV710 for 25GbE SFP28 158b
> driver: i40e
> version: 2.1.14-k
> firmware-version: 6.01 0x80003554 1.1747.0
> 
> fortville(10G 2 ports nic)
> Ethernet Controller X710 for 10GbE SFP+ 1572
> driver: i40e
> version: 2.1.14-k
> firmware-version: 6.01 0x800035b0 1.1747.0
> 
> niantic
> Device_str: 82599ES 10-Gigabit SFI/SFP+ Network Connection
> firmware: 0x61bf0001
> ixgbe: 4.3.13
> ixgbevf: 2.12.1-k
> 
> 
>> -----Original Message-----
>> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Sunil Kumar Kori
>> Sent: Monday, May 27, 2019 4:35 PM
>> To: thomas at monjalon.net; Yigit, Ferruh <ferruh.yigit at intel.com>; arybchenko at solarflare.com; Lu, Wenzhuo <wenzhuo.lu at intel.com>;
>> Wu, Jingjing <jingjing.wu at intel.com>; Iremonger, Bernard <bernard.iremonger at intel.com>
>> Cc: dev at dpdk.org; Sunil Kumar Kori <skori at marvell.com>
>> Subject: [dpdk-dev] [PATCH 1/2] lib/librte_ethdev: add in default value of rte_eth_dev_info
>>
>> rte_eth_dev_info structure exposes, nb_seg_max & nb_mtu_seg_max
>> to provide maximum number of supported segments for a given platform.
>>
>> Defining UINT16_MAX as default value of above mentioned variables to
>> expose support of infinite/maximum segments.
>>
>> Based on above values, application can decide best size for buffers
>> while creating mbuf pool.
>>
>> Signed-off-by: Sunil Kumar Kori <skori at marvell.com>
>> ---
>>  lib/librte_ethdev/rte_ethdev.c | 2 ++
>>  lib/librte_ethdev/rte_ethdev.h | 2 ++
>>  2 files changed, 4 insertions(+)
>>
>> diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c
>> index d7cfa3d..6933757 100644
>> --- a/lib/librte_ethdev/rte_ethdev.c
>> +++ b/lib/librte_ethdev/rte_ethdev.c
>> @@ -2543,6 +2543,8 @@ struct rte_eth_dev *
>>  		.nb_max = UINT16_MAX,
>>  		.nb_min = 0,
>>  		.nb_align = 1,
>> +		.nb_seg_max = UINT16_MAX,
>> +		.nb_mtu_seg_max = UINT16_MAX,
>>  	};
>>
>>  	RTE_ETH_VALID_PORTID_OR_RET(port_id);
>> diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
>> index 1f35e1d..6bd30b1 100644
>> --- a/lib/librte_ethdev/rte_ethdev.h
>> +++ b/lib/librte_ethdev/rte_ethdev.h
>> @@ -2333,6 +2333,8 @@ int rte_eth_dev_set_rx_queue_stats_mapping(uint16_t port_id,
>>   *      .nb_max = UINT16_MAX,
>>   *      .nb_min = 0,
>>   *      .nb_align = 1,
>> + *	.nb_seg_max = UINT16_MAX,
>> + *	.nb_mtu_seg_max = UINT16_MAX,
>>   *  };
>>   *
>>   * device = dev->device
>> --
>> 1.8.3.1
> 



More information about the dev mailing list