numam-dpdk/app/test-pmd
Ori Kam b57b66a97e app/testpmd: support mbuf dynamic flag
DPDK now supports registration of dynamic flags (dynf) to the mbuf.
dynf can be given any name, and can be used with a supporting PMD or
supporting application.

Due to the generic concept of the dynf, it is impossible and
meaningless, to define register set/get function for each flag.
This commit introduce a generic way to register and set/clear such
flags.

The basic syntax:
port config <port id> dynf <name> <set|clear>

The first step the new flag is registered. Regardless if the action is
set or clear.
There is no way to unregister the flag, after registering it.

The second step, if the action is set then we set the requested flag.
If this is the first flag that is enabled we also register a call back
for the Tx. In this call back we set the flag.
If the action is clear the requested flag is cleared, and if there
are no more flags that are set, the call back is removed.

The reason that the set is only applied in Tx is that in case of Rx
it is assumed that the value comes from the PMD.

If log is enabled the name of the flag, and value will be printed
in the packet info.
In order for the log to work correctly the registration of the flag
must be done before setting verbose.

Signed-off-by: Ori Kam <orika@mellanox.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2020-01-17 19:59:19 +01:00
..
bpf_cmd.c bpf: add extra information for external symbol definitions 2018-07-12 09:37:16 +02:00
bpf_cmd.h app/testpmd: add commands to load/unload BPF filters 2018-05-12 00:37:51 +02:00
cmdline_flow.c app/testpmd: parse flow command line for ESP 2020-01-17 19:59:18 +01:00
cmdline_mtr.c meter: replace color definitions 2019-04-11 14:27:32 +02:00
cmdline_mtr.h app/testpmd: add commands for metering and policing 2018-01-10 00:51:31 +01:00
cmdline_tm.c meter: replace color definitions 2019-04-11 14:27:32 +02:00
cmdline_tm.h app/testpmd: add TM commands to mark packets 2018-10-08 17:53:03 +02:00
cmdline.c app/testpmd: support mbuf dynamic flag 2020-01-17 19:59:19 +01:00
config.c app/testpmd: improve flow command debug 2020-01-17 19:59:18 +01:00
csumonly.c net: use IPV4 VHL constant 2019-11-20 17:36:06 +01:00
flowgen.c net: use IPV4 VHL constant 2019-11-20 17:36:06 +01:00
icmpecho.c net: replace IPv4/v6 constants with uppercase name 2019-06-03 16:54:54 +02:00
ieee1588fwd.c net: add rte prefix to ether defines 2019-05-24 13:34:45 +02:00
iofwd.c app: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
macfwd.c net: add rte prefix to IP structure 2019-05-24 13:34:46 +02:00
macswap_common.h net: add rte prefix to IP structure 2019-05-24 13:34:46 +02:00
macswap_neon.h net: add rte prefix to ether structures 2019-05-24 13:34:45 +02:00
macswap_sse.h net: add rte prefix to ether structures 2019-05-24 13:34:45 +02:00
macswap.c app/testpmd: optimize MAC swap for Arm 2019-03-20 18:15:42 +01:00
macswap.h net: add rte prefix to ether functions 2019-05-24 13:34:45 +02:00
Makefile mk: build with _GNU_SOURCE defined by default 2018-10-22 11:28:27 +02:00
meson.build build: add dependency on telemetry to apps with meson 2018-10-27 15:21:33 +02:00
noisy_vnf.c app/testpmd: add noisy neighbour forwarding mode 2018-10-11 18:56:02 +02:00
parameters.c app/testpmd: report invalid command line parameter 2019-11-20 17:36:06 +01:00
rxonly.c app/testpmd: add packet dump callbacks 2018-10-18 10:24:39 +02:00
softnicfwd.c app/testpmd: check status of getting link info 2019-10-07 15:00:54 +02:00
testpmd.c app/testpmd: support mbuf dynamic flag 2020-01-17 19:59:19 +01:00
testpmd.h app/testpmd: support mbuf dynamic flag 2020-01-17 19:59:19 +01:00
txonly.c app/testpmd: use better randomness for Tx split 2019-11-26 18:05:15 +01:00
util.c app/testpmd: support mbuf dynamic flag 2020-01-17 19:59:19 +01:00