numam-dpdk/lib/librte_ethdev
Thomas Monjalon 20bbb9e045 ethdev: limit maximum number of queues
A buffer overflow happens in testpmd with some drivers
since the queue arrays are limited to RTE_MAX_QUEUES_PER_PORT.

The advertised capabilities of mlx4, mlx5 and softnic
for the number of queues were the maximum number: UINT16_MAX.
They must be limited by the configured RTE_MAX_QUEUES_PER_PORT
that applications expect to be respected.

The limitation is applied at ethdev level (function rte_eth_dev_info_get),
in order to force the configured limit for all drivers.

Fixes: 14b53e27b3 ("ethdev: fix crash with multiprocess")
Cc: stable@dpdk.org

Reported-by: Raslan Darawsheh <rasland@mellanox.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
2019-11-27 16:04:40 +01:00
..
ethdev_private.c
ethdev_private.h rename private header files 2019-10-27 22:03:06 +01:00
ethdev_profile.c
ethdev_profile.h
Makefile build: remove individual library versions 2019-11-20 23:05:39 +01:00
meson.build build: remove individual library versions 2019-11-20 23:05:39 +01:00
rte_class_eth.c
rte_dev_info.h ethdev: add definitions for EEPROM standards 2019-10-23 16:43:08 +02:00
rte_eth_ctrl.h ethdev: fix include of ethernet header file 2019-10-25 19:00:22 +02:00
rte_ethdev_core.h ethdev: reserve space in main structs for extension 2019-11-11 17:02:29 +01:00
rte_ethdev_driver.h ethdev: add hairpin queue 2019-11-08 23:15:04 +01:00
rte_ethdev_pci.h
rte_ethdev_vdev.h
rte_ethdev_version.map build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
rte_ethdev.c ethdev: limit maximum number of queues 2019-11-27 16:04:40 +01:00
rte_ethdev.h ethdev: add maximum LRO packet size 2019-11-12 01:43:01 +01:00
rte_flow_driver.h
rte_flow.c ethdev: fix item expansion for RSS flow 2019-11-26 18:05:15 +01:00
rte_flow.h ethdev: move egress metadata to dynamic field 2019-11-08 23:15:05 +01:00
rte_mtr_driver.h
rte_mtr.c
rte_mtr.h
rte_tm_driver.h
rte_tm.c
rte_tm.h