]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
i40e: Fix incorrect address type for IPv6 flow rules
authorSylwester Dziedziuch <sylwesterx.dziedziuch@intel.com>
Fri, 19 Aug 2022 10:45:52 +0000 (12:45 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 31 Aug 2022 15:18:10 +0000 (17:18 +0200)
[ Upstream commit bcf3a156429306070afbfda5544f2b492d25e75b ]

It was not possible to create 1-tuple flow director
rule for IPv6 flow type. It was caused by incorrectly
checking for source IP address when validating user provided
destination IP address.

Fix this by changing ip6src to correct ip6dst address
in destination IP address validation for IPv6 flow type.

Fixes: efca91e89b67 ("i40e: Add flow director support for IPv6")
Signed-off-by: Sylwester Dziedziuch <sylwesterx.dziedziuch@intel.com>
Tested-by: Gurucharan <gurucharanx.g@intel.com> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/intel/i40e/i40e_ethtool.c

index 19704f5c8291c7ca1ec5f492d50542bdee8faa9b..22a61802a4027ae273a17f842accd6a2595156f6 100644 (file)
@@ -4395,7 +4395,7 @@ static int i40e_check_fdir_input_set(struct i40e_vsi *vsi,
                                    (struct in6_addr *)&ipv6_full_mask))
                        new_mask |= I40E_L3_V6_DST_MASK;
                else if (ipv6_addr_any((struct in6_addr *)
-                                      &usr_ip6_spec->ip6src))
+                                      &usr_ip6_spec->ip6dst))
                        new_mask &= ~I40E_L3_V6_DST_MASK;
                else
                        return -EOPNOTSUPP;