diff mbox series

[net,v3] i40e: Disallow ip4 and ip6 l4_4_bytes

Message ID 20220809130508.281453-1-kamil.maziarz@intel.com
State Changes Requested
Delegated to: Anthony Nguyen
Headers show
Series [net,v3] i40e: Disallow ip4 and ip6 l4_4_bytes | expand

Commit Message

Kamil Maziarz Aug. 9, 2022, 1:05 p.m. UTC
From: Przemyslaw Patynowski <przemyslawx.patynowski@intel.com>

Return -EOPNOTSUPP, when user requests l4_4_bytes for raw IP4 or
IP6 flow director filters. Flow director does not support filtering
on l4 bytes for PCTYPEs used by IP4 and IP6 filters.
Without this patch, user could create filters with l4_4_bytes fields,
which did not do any filtering on L4, but only on L3 fields.

Fixes: 36777d9fa24c ("i40e: check current configured input set when adding ntuple filters")
Signed-off-by: Przemyslaw Patynowski <przemyslawx.patynowski@intel.com>
Signed-off-by: Kamil Maziarz  <kamil.maziarz@intel.com>
---
 v3: removed footer and added Fixes tag
---
 v2: changed author and tree
---
 drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

Comments

Paul Menzel Aug. 9, 2022, 11:12 a.m. UTC | #1
Dear Kamil,


Am 09.08.22 um 15:05 schrieb Kamil Maziarz:

[…]

Unfortunately, the time of the message is from the future, as happened 
often with messages from the Polish Intel offices. I was told, the NTP 
port is blocked by the firewall, but it’d be great if the problem – 
existing for over two years – could be fixed.


Kind regards,

Paul
Alexander Lobakin Aug. 9, 2022, 1:16 p.m. UTC | #2
From: Paul Menzel <pmenzel@molgen.mpg.de>
Date: Tue, 9 Aug 2022 13:12:08 +0200

> Dear Kamil,
> 
> 
> Am 09.08.22 um 15:05 schrieb Kamil Maziarz:
> 
> […]
> 
> Unfortunately, the time of the message is from the future, as happened often with messages from the Polish Intel offices. I was told, the NTP port is blocked by the firewall, but it’d be great if the problem – existing for over two years – could be fixed.

Intel Poland has several internal NTP servers which are mentioned in
the setup guides, so not really an office problem, more of people
not wanting to spend 2 minutes on configuring it ¯\_(ツ)_/¯

> 
> 
> Kind regards,
> 
> Paul
> _______________________________________________
> Intel-wired-lan mailing list
> Intel-wired-lan@osuosl.org
> https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

Thanks,
Olek
G, GurucharanX Aug. 22, 2022, 5:11 a.m. UTC | #3
> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of
> Kamil Maziarz
> Sent: Tuesday, August 9, 2022 6:35 PM
> To: intel-wired-lan@lists.osuosl.org
> Cc: Patynowski, PrzemyslawX <przemyslawx.patynowski@intel.com>;
> Maziarz, Kamil <kamil.maziarz@intel.com>
> Subject: [Intel-wired-lan] [PATCH net v3] i40e: Disallow ip4 and ip6
> l4_4_bytes
> 
> From: Przemyslaw Patynowski <przemyslawx.patynowski@intel.com>
> 
> Return -EOPNOTSUPP, when user requests l4_4_bytes for raw IP4 or
> IP6 flow director filters. Flow director does not support filtering on l4 bytes
> for PCTYPEs used by IP4 and IP6 filters.
> Without this patch, user could create filters with l4_4_bytes fields, which did
> not do any filtering on L4, but only on L3 fields.
> 
> Fixes: 36777d9fa24c ("i40e: check current configured input set when adding
> ntuple filters")
> Signed-off-by: Przemyslaw Patynowski
> <przemyslawx.patynowski@intel.com>
> Signed-off-by: Kamil Maziarz  <kamil.maziarz@intel.com>
> ---
>  v3: removed footer and added Fixes tag
> ---
>  v2: changed author and tree
> ---
>  drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 12 ++----------
>  1 file changed, 2 insertions(+), 10 deletions(-)
> 

When we pass dst-port as one of the parameter while creating the rule then the filter is getting created as earlier
diff mbox series

Patch

diff --git a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
index 156e92c43780..6695dbe61a04 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
@@ -4447,11 +4447,7 @@  static int i40e_check_fdir_input_set(struct i40e_vsi *vsi,
 			return -EOPNOTSUPP;
 
 		/* First 4 bytes of L4 header */
-		if (usr_ip4_spec->l4_4_bytes == htonl(0xFFFFFFFF))
-			new_mask |= I40E_L4_SRC_MASK | I40E_L4_DST_MASK;
-		else if (!usr_ip4_spec->l4_4_bytes)
-			new_mask &= ~(I40E_L4_SRC_MASK | I40E_L4_DST_MASK);
-		else
+		if (usr_ip4_spec->l4_4_bytes)
 			return -EOPNOTSUPP;
 
 		/* Filtering on Type of Service is not supported. */
@@ -4490,11 +4486,7 @@  static int i40e_check_fdir_input_set(struct i40e_vsi *vsi,
 		else
 			return -EOPNOTSUPP;
 
-		if (usr_ip6_spec->l4_4_bytes == htonl(0xFFFFFFFF))
-			new_mask |= I40E_L4_SRC_MASK | I40E_L4_DST_MASK;
-		else if (!usr_ip6_spec->l4_4_bytes)
-			new_mask &= ~(I40E_L4_SRC_MASK | I40E_L4_DST_MASK);
-		else
+		if (usr_ip6_spec->l4_4_bytes)
 			return -EOPNOTSUPP;
 
 		/* Filtering on Traffic class is not supported. */