numam-dpdk/lib/librte_ethdev
Bing Zhao 5d9f23fb8f ethdev: add new attributes to hairpin config
To support two ports hairpin mode and keep the backward compatibility
for the application, two new attribute members of the hairpin queue
configuration structure will be added.

`tx_explicit` means if the application itself will insert the Tx part
flow rules. If not set, PMD will insert the rules implicitly.
`manual_bind` means if the hairpin Tx queue and peer Rx queue will be
bound automatically during the device start stage.

Different Tx and Rx queue pairs could have different values, but it
is highly recommended that all paired queues between one egress and
its peer ingress ports have the same values, in order not to bring
any chaos to the system. The actual support of these attribute
parameters will be checked and decided by the PMD drivers.

In the single port hairpin, if both are zero without any setting, the
behavior will remain the same as before. It means that no bind API
needs to be called and no Tx flow rules need to be inserted manually
by the application.

Signed-off-by: Bing Zhao <bingz@nvidia.com>
Acked-by: Ori Kam <orika@nvidia.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
2020-10-16 19:48:19 +02:00
..
ethdev_private.c ethdev: move representor parsing functions 2018-10-26 22:14:06 +02:00
ethdev_private.h rename private header files 2019-10-27 22:03:06 +01:00
ethdev_profile.c ethdev: change vtune profiling approach 2018-08-28 15:27:39 +02:00
ethdev_profile.h ethdev: fix build when vtune profiling is on 2020-04-21 13:57:06 +02:00
ethdev_trace_points.c trace: simplify trace point registration 2020-07-05 21:34:21 +02:00
meson.build eal: add telemetry as dependency 2020-05-11 00:37:16 +02:00
rte_class_eth.c ethdev: use new ethernet parsing function 2019-07-08 21:26:52 +02:00
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: make flow API thread safe 2020-10-16 00:44:58 +02:00
rte_ethdev_driver.h ethdev: add hairpin bind and unbind API 2020-10-16 19:48:19 +02:00
rte_ethdev_pci.h ethdev: reset device and interrupt pointers on release 2020-09-30 19:19:13 +02:00
rte_ethdev_trace_fp.h ethdev: add tracepoints 2020-04-23 15:40:06 +02:00
rte_ethdev_trace.h ethdev: add tracepoints 2020-04-23 15:40:06 +02:00
rte_ethdev_vdev.h ethdev: remove redundant license text 2020-09-18 18:55:08 +02:00
rte_ethdev_version.map ethdev: add hairpin bind and unbind API 2020-10-16 19:48:19 +02:00
rte_ethdev.c ethdev: add new attributes to hairpin config 2020-10-16 19:48:19 +02:00
rte_ethdev.h ethdev: add new attributes to hairpin config 2020-10-16 19:48:19 +02:00
rte_flow_driver.h ethdev: add shared actions to flow API 2020-10-16 19:48:18 +02:00
rte_flow.c ethdev: add IPv6 fragment extension header item 2020-10-16 19:48:18 +02:00
rte_flow.h ethdev: add IPv6 fragment extension header item 2020-10-16 19:48:18 +02:00
rte_mtr_driver.h ethdev: make device operations struct private 2020-09-18 18:55:08 +02:00
rte_mtr.c remove experimental tags from all symbol definitions 2019-06-29 19:04:43 +02:00
rte_mtr.h ethdev: replace license text with SPDX tag 2019-07-29 15:07:48 +02:00
rte_tm_driver.h ethdev: make device operations struct private 2020-09-18 18:55:08 +02:00
rte_tm.c ethdev: rename folder to library name 2018-04-27 18:01:00 +01:00
rte_tm.h ethdev: support TM for shaper config in packet mode 2020-09-18 18:55:10 +02:00