Thread (24 messages) 24 messages, 3 authors, 2021-03-05

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 fields


quoted
-----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.c
b/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
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help