From f7c8539801480bf39f1792daf562c664ee6ad37b Mon Sep 17 00:00:00 2001 From: Igor Romanov Date: Tue, 13 Nov 2018 15:02:44 +0000 Subject: [PATCH] net/sfc/base: fix field order in filter spec struct Fields in the struct efx_filter_spec_t starting from efs_outer_vid are hashed for software filter lookup. efs_mark is not a matching criteria. Exclude efs_mark from hash. Fixes: 5f78af523912 ("net/sfc: support MARK and FLAG actions in flow API") Cc: stable@dpdk.org Signed-off-by: Igor Romanov Signed-off-by: Andrew Rybchenko --- drivers/net/sfc/base/efx.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/sfc/base/efx.h b/drivers/net/sfc/base/efx.h index 8e10e89340..2e847b6cee 100644 --- a/drivers/net/sfc/base/efx.h +++ b/drivers/net/sfc/base/efx.h @@ -2878,6 +2878,8 @@ typedef struct efx_filter_spec_s { efx_filter_flags_t efs_flags; uint16_t efs_dmaq_id; uint32_t efs_rss_context; + uint32_t efs_mark; + /* Fields below here are hashed for software filter lookup */ uint16_t efs_outer_vid; uint16_t efs_inner_vid; uint8_t efs_loc_mac[EFX_MAC_ADDR_LEN]; @@ -2891,7 +2893,6 @@ typedef struct efx_filter_spec_s { efx_oword_t efs_loc_host; uint8_t efs_vni_or_vsid[EFX_VNI_OR_VSID_LEN]; uint8_t efs_ifrm_loc_mac[EFX_MAC_ADDR_LEN]; - uint32_t efs_mark; } efx_filter_spec_t; -- 2.20.1