numam-dpdk/doc/guides/nics
Junfeng Guo 444a7d096e net/iavf: enable flow rule with raw pattern
This patch enabled Protocol Agnostic Flow (raw flow) Offloading Flow
Director (FDIR) in AVF, based on the Parser Library feature and the
existing rte_flow `raw` API.

The input spec and mask of raw pattern are first parsed via the
Parser Library, and then passed to the kernel driver to create the
flow rule.

Similar as ice PMD's implemnentation, each raw flow requires:
1. A byte string of raw target packet bits.
2. A byte string contains mask of target packet.

Here is an example:
FDIR matching ipv4 dst addr with 1.2.3.4 and redirect to queue 3:

flow create 0 ingress pattern raw \
pattern spec \
00000000000000000000000008004500001400004000401000000000000001020304 \
pattern mask \
000000000000000000000000000000000000000000000000000000000000ffffffff \
/ end actions queue index 3 / mark id 3 / end

Note that mask of some key bits (e.g., 0x0800 to indicate ipv4 proto)
is optional in our cases. To avoid redundancy, we just omit the mask
of 0x0800 (with 0xFFFF) in the mask byte string example. The prefix
'0x' for the spec and mask byte (hex) strings are also omitted here.

Signed-off-by: Junfeng Guo <junfeng.guo@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
2022-05-24 04:53:37 +02:00
..
features net/iavf: enable flow rule with raw pattern 2022-05-24 04:53:37 +02:00
img net/szedata2: remove driver 2021-11-15 16:50:35 +01:00
af_packet.rst fix spelling in comments and strings 2022-01-11 12:16:53 +01:00
af_xdp.rst doc: add AF_XDP queue setup information 2022-02-23 13:37:58 +01:00
ark.rst net/ark: support new devices 2022-02-16 00:48:06 +01:00
atlantic.rst doc: remove references to make from NICs guide 2020-10-22 22:54:05 +02:00
avp.rst fix PMD wording 2021-11-26 11:28:34 +01:00
axgbe.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
bnx2x.rst doc: fix spelling 2021-07-31 20:03:47 +02:00
bnxt.rst doc: remove obsolete option from bnxt guide 2021-10-28 19:58:54 +02:00
build_and_test.rst ethdev: refine debug build option 2021-04-01 16:10:20 +02:00
cnxk.rst net/cnxk: support parsing custom SA action 2022-05-07 11:45:01 +02:00
cxgbe.rst net/cxgbe: read firmware configuration file from filesystem 2022-05-17 18:50:51 +02:00
dpaa2.rst net/dpaa2: support level 2 in traffic management 2022-01-20 16:24:08 +01:00
dpaa.rst ethdev: fix max Rx packet length 2021-10-18 19:20:20 +02:00
e1000em.rst doc: fix emulated device names in e1000 guide 2021-10-15 15:50:50 +02:00
ena.rst net/ena: make Tx completion timeout configurable 2022-02-23 19:01:03 +01:00
enetc.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
enetfec.rst fix PMD wording 2021-11-26 11:28:34 +01:00
enic.rst net/enic: support GTP header flow matching 2021-11-04 12:34:46 +01:00
fail_safe.rst eal: replace blacklist/whitelist options 2020-11-16 00:11:22 +01:00
features.rst ethdev: introduce IP reassembly offload 2022-02-10 11:23:11 +01:00
fm10k.rst fix PMD wording 2021-11-26 11:28:34 +01:00
hinic.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
hns3.rst net/hns3: fix vector Rx/Tx when PTP enabled 2022-01-26 15:52:09 +01:00
i40e.rst doc: update matching versions in i40e guide 2022-05-24 04:53:37 +02:00
ice.rst doc: update matching versions in ice guide 2022-05-09 03:51:51 +02:00
igb.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
igc.rst doc: fix hyperlink in igc guide 2020-11-03 23:35:07 +01:00
index.rst drivers: remove octeontx2 drivers 2022-01-12 15:36:32 +01:00
intel_vf.rst net/iavf: support quanta size configuration 2022-04-22 14:05:29 +02:00
ionic.rst net/ionic: clean up Tx queue version support 2021-02-03 00:48:11 +01:00
ipn3ke.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
ixgbe.rst net/ixgbe: add option for link up check on pin SDP3 2022-05-17 02:47:34 +02:00
kni.rst doc: fix KNI PMD name typo 2022-02-02 21:54:21 +01:00
liquidio.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
memif.rst doc: fix memif driver acronyms 2021-11-24 17:13:26 +01:00
mlx4.rst doc: replace broken links in mlx guides 2022-02-23 15:57:41 +01:00
mlx5.rst net/mlx5: validate yellow meter action 2022-06-01 09:49:41 +02:00
mvneta.rst build: update meson for Marvell Armada drivers 2021-01-08 16:03:05 +01:00
mvpp2.rst net/mvpp2: add fill buffs to configuration file 2021-01-29 18:16:11 +01:00
netvsc.rst fix PMD wording 2021-11-26 11:28:34 +01:00
nfb.rst net/nfb: use timestamp offload flag 2022-02-15 14:53:41 +01:00
nfp.rst fix PMD wording 2021-11-26 11:28:34 +01:00
ngbe.rst net/ngbe: support timesync 2021-10-30 00:53:19 +02:00
null.rst doc: remove references to make from NICs guide 2020-10-22 22:54:05 +02:00
octeontx_ep.rst drivers: remove octeontx2 drivers 2022-01-12 15:36:32 +01:00
octeontx.rst doc: capitalise PMD 2021-11-26 11:28:34 +01:00
overview.rst doc: add flow API features tables 2021-05-18 19:06:56 +02:00
pcap_ring.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
pfe.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
qede.rst doc: replace testpmd with dpdk-testpmd in commands 2021-02-11 15:42:18 +01:00
sfc_efx.rst net/sfc: support MAC address edits in transfer flows 2021-11-17 14:10:08 +01:00
softnic.rst doc: remove references to make from NICs guide 2020-10-22 22:54:05 +02:00
tap.rst net/tap: forbid different Rx/Tx queue number 2022-01-26 17:18:31 +01:00
thunderx.rst doc: capitalise PMD 2021-11-26 11:28:34 +01:00
txgbe.rst net/txgbe: fix link process in KR mode 2021-11-05 15:10:21 +01:00
vdev_netvsc.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
vhost.rst doc: remove references to make from NICs guide 2020-10-22 22:54:05 +02:00
virtio.rst fix PMD wording 2021-11-26 11:28:34 +01:00
vmxnet3.rst doc: fix names of UIO drivers 2021-04-22 00:06:47 +02:00