numam-dpdk/examples
Thomas Monjalon 8728ccf376 fix ethdev ports enumeration
Some DPDK applications wrongly assume these requirements:
    - no hotplug, i.e. ports are never detached
    - all allocated ports are available to the application

Such application iterates over ports by its own mean.
The most common pattern is to request the port count and
assume ports with index in the range [0..count[ can be used.

There are three consequences when using such wrong design:
    - new ports having an index higher than the port count won't be seen
    - old ports being detached (RTE_ETH_DEV_UNUSED) can be seen as ghosts
    - failsafe sub-devices (RTE_ETH_DEV_DEFERRED) will be seen by the application

Such mistake will be less common with growing hotplug awareness.
All applications and examples inside this repository - except testpmd -
must be fixed to use the iterator RTE_ETH_FOREACH_DEV.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2018-04-18 00:25:27 +02:00
..
bbdev_app examples/bbdev: fix unchecked return of stats 2018-01-31 18:51:02 +01:00
bond fix ethdev ports enumeration 2018-04-18 00:25:27 +02:00
cmdline examples/cmdline: convert to SPDX license tag 2018-02-13 23:30:52 +01:00
distributor fix ethdev ports enumeration 2018-04-18 00:25:27 +02:00
ethtool fix ethdev ports enumeration 2018-04-18 00:25:27 +02:00
eventdev_pipeline fix ethdev ports enumeration 2018-04-18 00:25:27 +02:00
exception_path fix ethdev ports enumeration 2018-04-18 00:25:27 +02:00
flow_classify fix ethdev ports enumeration 2018-04-18 00:25:27 +02:00
flow_filtering examples/flow_filtering: add delay to wait link update 2018-02-01 01:23:15 +01:00
helloworld build: replace license text with SPDX tag 2018-01-30 21:58:59 +01:00
ip_fragmentation fix ethdev ports enumeration 2018-04-18 00:25:27 +02:00
ip_pipeline ethdev: replace bus specific struct with generic dev 2018-04-14 00:41:44 +02:00
ip_reassembly fix ethdev ports enumeration 2018-04-18 00:25:27 +02:00
ipsec-secgw fix ethdev ports enumeration 2018-04-18 00:25:27 +02:00
ipv4_multicast fix ethdev ports enumeration 2018-04-18 00:25:27 +02:00
kni fix ethdev ports enumeration 2018-04-18 00:25:27 +02:00
l2fwd fix ethdev ports enumeration 2018-04-18 00:25:27 +02:00
l2fwd-cat fix ethdev ports enumeration 2018-04-18 00:25:27 +02:00
l2fwd-crypto fix ethdev ports enumeration 2018-04-18 00:25:27 +02:00
l2fwd-jobstats fix ethdev ports enumeration 2018-04-18 00:25:27 +02:00
l2fwd-keepalive fix ethdev ports enumeration 2018-04-18 00:25:27 +02:00
l3fwd fix ethdev ports enumeration 2018-04-18 00:25:27 +02:00
l3fwd-acl fix ethdev ports enumeration 2018-04-18 00:25:27 +02:00
l3fwd-power fix ethdev ports enumeration 2018-04-18 00:25:27 +02:00
l3fwd-vf fix ethdev ports enumeration 2018-04-18 00:25:27 +02:00
link_status_interrupt examples: increase default ring sizes to 1024 2018-02-01 00:10:42 +01:00
load_balancer convert snprintf to strlcpy 2018-04-04 17:33:08 +02:00
multi_process fix ethdev ports enumeration 2018-04-18 00:25:27 +02:00
netmap_compat examples/netmap_compat: convert to new ethdev offloads API 2018-01-16 18:47:49 +01:00
packet_ordering fix ethdev ports enumeration 2018-04-18 00:25:27 +02:00
performance-thread fix ethdev ports enumeration 2018-04-18 00:25:27 +02:00
ptpclient fix ethdev ports enumeration 2018-04-18 00:25:27 +02:00
qos_meter examples: fix build with meson 2018-03-13 23:57:33 +01:00
qos_sched examples: increase default ring sizes to 1024 2018-02-01 00:10:42 +01:00
quota_watermark examples: increase default ring sizes to 1024 2018-02-01 00:10:42 +01:00
rxtx_callbacks fix ethdev ports enumeration 2018-04-18 00:25:27 +02:00
server_node_efd examples/server_node_efd: convert to new ethdev offloads API 2018-01-16 18:47:49 +01:00
service_cores build: replace license text with SPDX tag 2018-01-30 21:58:59 +01:00
skeleton fix ethdev ports enumeration 2018-04-18 00:25:27 +02:00
tep_termination fix ethdev ports enumeration 2018-04-18 00:25:27 +02:00
timer build: replace license text with SPDX tag 2018-01-30 21:58:59 +01:00
vhost fix ethdev ports enumeration 2018-04-18 00:25:27 +02:00
vhost_crypto examples/vhost_crypto: add sample application 2018-04-14 00:43:30 +02:00
vhost_scsi examples/vhost_scsi: drop unimplemented event index feature 2018-02-05 15:18:56 +01:00
vm_power_manager fix ethdev ports enumeration 2018-04-18 00:25:27 +02:00
vmdq fix ethdev ports enumeration 2018-04-18 00:25:27 +02:00
vmdq_dcb fix ethdev ports enumeration 2018-04-18 00:25:27 +02:00
Makefile examples/vhost_crypto: add sample application 2018-04-14 00:43:30 +02:00
meson.build build: fix dependency on execinfo for BSD meson builds 2018-02-02 11:31:36 +01:00