675e31d877
VXLAN decap offload can happen in stages. The offload request may not come as a single flow request rather may come as two flow offload requests F1 & F2. This patch is adding support for this two stage offload design. The match criteria for F1 is O_DMAC, O_SMAC, O_DST_IP, O_UDP_DPORT and actions are COUNT, MARK, JUMP. The match criteria for F2 is O_SRC_IP, O_DST_IP, VNI and inner header fields. F1 and F2 flow offload requests can come in any order. If F2 flow offload request comes first then F2 can’t be offloaded as there is no O_DMAC information in F2. In this case, F2 will be deferred until F1 flow offload request arrives. When F1 flow offload request is received it will have O_DMAC information. Using F1’s O_DMAC, driver creates an L2 context entry in the hardware as part of offloading F1. F2 will now use F1’s O_DMAC to get the L2 context id associated with this O_DMAC and other flow fields that are cached already at the time of deferring F2 for offloading. F2s that arrive after F1 is offloaded will be directly programmed and not cached. Signed-off-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> Reviewed-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> |
||
---|---|---|
.. | ||
hcapi | ||
tf_core | ||
tf_ulp | ||
bnxt_cpr.c | ||
bnxt_cpr.h | ||
bnxt_ethdev.c | ||
bnxt_filter.c | ||
bnxt_filter.h | ||
bnxt_flow.c | ||
bnxt_hwrm.c | ||
bnxt_hwrm.h | ||
bnxt_irq.c | ||
bnxt_irq.h | ||
bnxt_nvm_defs.h | ||
bnxt_reps.c | ||
bnxt_reps.h | ||
bnxt_ring.c | ||
bnxt_ring.h | ||
bnxt_rxq.c | ||
bnxt_rxq.h | ||
bnxt_rxr.c | ||
bnxt_rxr.h | ||
bnxt_rxtx_vec_common.h | ||
bnxt_rxtx_vec_neon.c | ||
bnxt_rxtx_vec_sse.c | ||
bnxt_stats.c | ||
bnxt_stats.h | ||
bnxt_txq.c | ||
bnxt_txq.h | ||
bnxt_txr.c | ||
bnxt_txr.h | ||
bnxt_util.c | ||
bnxt_util.h | ||
bnxt_vnic.c | ||
bnxt_vnic.h | ||
bnxt.h | ||
hsi_struct_def_dpdk.h | ||
meson.build | ||
rte_pmd_bnxt.c | ||
rte_pmd_bnxt.h | ||
version.map |