5ddb903824
Negative integrity item refers to condition when the item value mask is set, but value spec is cleared: ... integrity value mask l4_ok value spec 0 ... ethdev library defines integrity bits `l3_ok` and `l4_ok` as accumulators for all hardware L3 and L4 integrity verifications respectfully. Hardware `l3_ok` and `l4_ok` integrity bits refer to L3 and L4 network headers only. Integrity bits `l3_ok` and `l4_ok` are not compatible between ethdev library and hardware. PMD translations for ethdev `l3_ok` are: IPv4: `l3_ok` and `l3_csum_ok` IPv6: `l3_ok` ethdev `l4_ok` is translated into PMD `l4_ok` and `l4_csum_ok` bits. Positive IPv4 `l3_ok` flow item configuration is translated into a single matcher that AND corresponding hardware bits. Negative IPv4 `l3_ok` is translated into 2 hardware conditions where each condition probes a single integrity bit: ethdev::l3_ok is 0 => MLX5::l3_ok is 0 OR MLX5:l3_csum_ok is 0 MLX5 hardware does not do OR condition in flow rule item. Negative IPv4 `l3_ok` must be translated into 2 flow rules. Similarly negative ethdev `l4_ok` condition is also translated into 2 hardware rules. Current PMD roadmap does not allow implicit flow rule split. Bugzilla ID: 948 Cc: stable@dpdk.org Suggested-by: Raja Zidane <rzidane@nvidia.com> Signed-off-by: Gregory Etelson <getelson@nvidia.com> Acked-by: Matan Azrad <matan@nvidia.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> |
||
---|---|---|
.. | ||
linux | ||
windows | ||
meson.build | ||
mlx5_defs.h | ||
mlx5_devx.c | ||
mlx5_devx.h | ||
mlx5_dr.c | ||
mlx5_dr.h | ||
mlx5_ethdev.c | ||
mlx5_flow_aso.c | ||
mlx5_flow_dv.c | ||
mlx5_flow_flex.c | ||
mlx5_flow_hw.c | ||
mlx5_flow_meter.c | ||
mlx5_flow_verbs.c | ||
mlx5_flow.c | ||
mlx5_flow.h | ||
mlx5_mac.c | ||
mlx5_rss.c | ||
mlx5_rx.c | ||
mlx5_rx.h | ||
mlx5_rxmode.c | ||
mlx5_rxq.c | ||
mlx5_rxtx_vec_altivec.h | ||
mlx5_rxtx_vec_neon.h | ||
mlx5_rxtx_vec_sse.h | ||
mlx5_rxtx_vec.c | ||
mlx5_rxtx_vec.h | ||
mlx5_rxtx.c | ||
mlx5_rxtx.h | ||
mlx5_stats.c | ||
mlx5_testpmd.c | ||
mlx5_testpmd.h | ||
mlx5_trigger.c | ||
mlx5_tx_empw.c | ||
mlx5_tx_mpw.c | ||
mlx5_tx_nompw.c | ||
mlx5_tx_txpp.c | ||
mlx5_tx.c | ||
mlx5_tx.h | ||
mlx5_txpp.c | ||
mlx5_txq.c | ||
mlx5_utils.c | ||
mlx5_utils.h | ||
mlx5_vlan.c | ||
mlx5.c | ||
mlx5.h | ||
rte_pmd_mlx5.h | ||
version.map |