numam-dpdk/examples/ip_pipeline
Thomas Monjalon a9dbe18022 fix ethdev port id validation
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 assume a valid port index is in the range [0..count[.

There are three consequences when using such wrong design:
    - new ports having an index higher than the port count won't be valid
    - old ports being detached (RTE_ETH_DEV_UNUSED) can be valid

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 function rte_eth_dev_is_valid_port.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2018-04-18 00:37:05 +02:00
..
examples examples/ip_pipeline: add ECMP route example 2018-04-05 19:00:23 +02:00
action.c examples/ip_pipeline: fix load balance table action 2018-04-05 19:00:22 +02:00
action.h examples/ip_pipeline: add load balance action command 2018-04-05 19:00:21 +02:00
cli.c examples/ip_pipeline: fix load balance table action 2018-04-05 19:00:22 +02:00
cli.h examples/ip_pipeline: add pipeline object 2018-04-05 19:00:08 +02:00
common.h examples/ip_pipeline: add mempool object 2018-04-05 18:23:49 +02:00
conn.c examples/ip_pipeline: add CLI interface 2018-04-05 18:23:49 +02:00
conn.h examples/ip_pipeline: add CLI interface 2018-04-05 18:23:49 +02:00
hash_func_arm64.h examples/ip_pipeline: remove master pipeline 2018-04-04 12:26:22 +02:00
hash_func.h examples/ip_pipeline: remove master pipeline 2018-04-04 12:26:22 +02:00
kni.c fix ethdev port id validation 2018-04-18 00:37:05 +02:00
kni.h examples/ip_pipeline: add KNI object 2018-04-05 19:00:00 +02:00
link.c examples/ip_pipeline: add link object 2018-04-05 18:23:50 +02:00
link.h examples/ip_pipeline: add link object 2018-04-05 18:23:50 +02:00
main.c examples/ip_pipeline: add thread runtime 2018-04-05 19:00:17 +02:00
Makefile examples/ip_pipeline: skip in FreeBSD build 2018-04-10 14:41:01 +02:00
mempool.c examples/ip_pipeline: add mempool object 2018-04-05 18:23:49 +02:00
mempool.h examples/ip_pipeline: add mempool object 2018-04-05 18:23:49 +02:00
meson.build examples/ip_pipeline: add threads 2018-04-05 19:00:17 +02:00
parser.c examples/ip_pipeline: remove infra code 2018-04-05 18:23:41 +02:00
parser.h examples/ip_pipeline: remove infra code 2018-04-05 18:23:41 +02:00
pipeline.c examples/ip_pipeline: add pipeline object 2018-04-05 19:00:08 +02:00
pipeline.h examples/ip_pipeline: add load balance action command 2018-04-05 19:00:21 +02:00
swq.c examples/ip_pipeline: add sw queue object 2018-04-05 18:23:50 +02:00
swq.h examples/ip_pipeline: add sw queue object 2018-04-05 18:23:50 +02:00
tap.c examples/ip_pipeline: add tap object 2018-04-05 18:23:51 +02:00
tap.h examples/ip_pipeline: add tap object 2018-04-05 18:23:51 +02:00
thread.c examples/ip_pipeline: add load balance action command 2018-04-05 19:00:21 +02:00
thread.h examples/ip_pipeline: add enable and disable commands 2018-04-05 19:00:17 +02:00
tmgr.c examples/ip_pipeline: add traffic manager object 2018-04-05 18:23:51 +02:00
tmgr.h examples/ip_pipeline: add traffic manager object 2018-04-05 18:23:51 +02:00