Re: [dpdk-dev] [PATCH v1 3/5] net/ice: add outer input set mask to distinguish outer fields
From: Yan, Zhirun <hidden>
Date: 2021-01-07 03:11:42
-----Original Message----- From: Cao, Yahui Sent: Friday, December 25, 2020 1:28 PM To: Yan, Zhirun <redacted>; dev@dpdk.org; Zhang, Qi Z [off-list ref]; Wang, Xiao W [off-list ref]; Guo, Junfeng [off-list ref] Cc: Su, Simei <redacted>; Xu, Ting <redacted>; Zhang, Yuying [off-list ref] Subject: RE: [PATCH v1 3/5] net/ice: add outer input set mask to distinguish outer fieldsquoted
-----Original Message----- From: Yan, Zhirun <redacted> Sent: Monday, December 21, 2020 2:52 PM To: dev@dpdk.org; Zhang, Qi Z <redacted>; Cao, Yahui [off-list ref]; Wang, Xiao W [off-list ref]; Guo, Junfeng [off-list ref] Cc: Su, Simei <redacted>; Xu, Ting <redacted>; Zhang, Yuying [off-list ref]; Yan, Zhirun [off-list ref] Subject: [PATCH v1 3/5] net/ice: add outer input set mask to distinguish outer fields Add 64-bit input_set_mask_f for outer input set. input_set_mask_f is used for inner fields or non-tunnel fields. Adjust indentation of ice_pattern_match_item list in switch, RSS and FDIR for easy review. For fields in tunnel layer, like GTPU TEID, put them in outer part. Signed-off-by: Zhirun Yan <redacted> --- drivers/net/ice/ice_fdir_filter.c | 110 ++++----- drivers/net/ice/ice_generic_flow.h | 1 + drivers/net/ice/ice_hash.c | 192 ++++++--------- drivers/net/ice/ice_switch_filter.c | 348 ++++++++++------------------ 4 files changed, 231 insertions(+), 420 deletions(-)diff --git a/drivers/net/ice/ice_fdir_filter.cb/drivers/net/ice/ice_fdir_filter.c index 1f2576a444..76e0a8df38 100644--- a/drivers/net/ice/ice_fdir_filter.c +++ b/drivers/net/ice/ice_fdir_filter.c@@ -55,92 +55,74 @@...quoted
+ {pattern_eth_ipv4, ICE_INSET_NONE,ICE_FDIR_INSET_ETH_IPV4, ICE_INSET_NONE},quoted
+ {pattern_eth_ipv4_udp,ICE_INSET_NONE, ICE_FDIR_INSET_ETH_IPV4_UDP, ICE_INSET_NONE},quoted
+ {pattern_eth_ipv4_tcp,ICE_INSET_NONE, ICE_FDIR_INSET_ETH_IPV4_TCP, ICE_INSET_NONE},quoted
+ {pattern_eth_ipv4_sctp,ICE_INSET_NONE, ICE_FDIR_INSET_ETH_IPV4_SCTP, ICE_INSET_NONE},quoted
+ {pattern_eth_ipv6, ICE_INSET_NONE,ICE_FDIR_INSET_ETH_IPV6, ICE_INSET_NONE},quoted
+ {pattern_eth_ipv6_udp,ICE_INSET_NONE, ICE_FDIR_INSET_ETH_IPV6_UDP, ICE_INSET_NONE},quoted
+ {pattern_eth_ipv6_tcp,ICE_INSET_NONE, ICE_FDIR_INSET_ETH_IPV6_TCP, ICE_INSET_NONE},quoted
+ {pattern_eth_ipv6_sctp,ICE_INSET_NONE, ICE_FDIR_INSET_ETH_IPV6_SCTP, ICE_INSET_NONE},quoted
+ {pattern_eth_ipv4_udp_vxlan_ipv4, ICE_INSET_NONE,ICE_FDIR_INSET_VXLAN_IPV4_L, ICE_INSET_NONE},quoted
+ {pattern_eth_ipv4_udp_vxlan_ipv4_udp,ICE_INSET_NONE, ICE_FDIR_INSET_VXLAN_IPV4_UDP_L, ICE_INSET_NONE},quoted
+ {pattern_eth_ipv4_udp_vxlan_ipv4_tcp,ICE_INSET_NONE, ICE_FDIR_INSET_VXLAN_IPV4_TCP_L, ICE_INSET_NONE},quoted
+ {pattern_eth_ipv4_udp_vxlan_ipv4_sctp,ICE_INSET_NONE, ICE_FDIR_INSET_VXLAN_IPV4_SCTP_L, ICE_INSET_NONE},quoted
+ {pattern_eth_ipv4_udp_vxlan_eth_ipv4,ICE_INSET_NONE, ICE_FDIR_INSET_VXLAN_IPV4_L, ICE_INSET_NONE},quoted
+ {pattern_eth_ipv4_udp_vxlan_eth_ipv4_udp, ICE_INSET_NONE,ICE_FDIR_INSET_VXLAN_IPV4_UDP_L, ICE_INSET_NONE},quoted
+ {pattern_eth_ipv4_udp_vxlan_eth_ipv4_tcp, ICE_INSET_NONE,ICE_FDIR_INSET_VXLAN_IPV4_TCP_L, ICE_INSET_NONE},quoted
+ {pattern_eth_ipv4_udp_vxlan_eth_ipv4_sctp, ICE_INSET_NONE,ICE_FDIR_INSET_VXLAN_IPV4_SCTP_L, ICE_INSET_NONE},quoted
};[Cao, Yahui] Why is the mask put in the 3rd column instead of 2nd column ? I prefer the way that 2nd column is for outer field and 3rd column is for inner field.
Both are OK. But for my way, the 2nd column is only for tunnel outer. The 3rd can be reused by non-tunnel and tunnel inner part. I will redefine the macro.
quoted
static int -- 2.25.1