[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Tue, 12 Dec 2023 10:01:02 +0000
From: "Romanowski, Rafal" <rafal.romanowski@...el.com>
To: "Rao, Ranganatha" <ranganatha.rao@...el.com>,
"intel-wired-lan@...ts.osuosl.org" <intel-wired-lan@...ts.osuosl.org>
CC: "Gardocki, PiotrX" <piotrx.gardocki@...el.com>, "netdev@...r.kernel.org"
<netdev@...r.kernel.org>, "Rao, Ranganatha" <ranganatha.rao@...el.com>,
"Zaremba, Larysa" <larysa.zaremba@...el.com>
Subject: RE: [Intel-wired-lan] [PATCH iwl-net v1 1/2] iavf: Introduce new
state machines for flow director
> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@...osl.org> On Behalf Of
> Ranganatha Rao
> Sent: Wednesday, November 22, 2023 4:47 AM
> To: intel-wired-lan@...ts.osuosl.org
> Cc: Gardocki, PiotrX <piotrx.gardocki@...el.com>; netdev@...r.kernel.org;
> Rao, Ranganatha <ranganatha.rao@...el.com>; Zaremba, Larysa
> <larysa.zaremba@...el.com>
> Subject: [Intel-wired-lan] [PATCH iwl-net v1 1/2] iavf: Introduce new state
> machines for flow director
>
> From: Piotr Gardocki <piotrx.gardocki@...el.com>
>
> New states introduced:
>
> IAVF_FDIR_FLTR_DIS_REQUEST
> IAVF_FDIR_FLTR_DIS_PENDING
> IAVF_FDIR_FLTR_INACTIVE
>
> Current FDIR state machines (SM) are not adequate to handle few scenarios in
> the link DOWN/UP event, reset event and ntuple-feature.
>
> For example, when VF link goes DOWN and comes back UP adminstratively,
> the expectation is that previously installed filters should also be restored. But
> with current SM, filters are not resorted.
> So with new SM, during link DOWN filters are marked as INACTIVE in the iavf
> list but removed from PF. After link UP, SM will transition from INACTIVE to
> ADD_REQUEST to restore the filter.
>
> Similarly, with VF reset, filters will be removed from the PF, but marked as
> INACTIVE in the iavf list. Filters will be restored after reset completion.
>
> Steps to reproduce:
> -------------------
>
> 1. Create a VF. Here VF is enp8s0.
>
> 2. Assign IP addresses to VF and link partner and ping continuously from
> remote. Here remote IP is 1.1.1.1.
>
> 3. Check default RX Queue of traffic.
>
> ethtool -S enp8s0 | grep -E "rx-[[:digit:]]+\.packets"
>
> 4. Add filter - change default RX Queue (to 15 here)
>
> ethtool -U ens8s0 flow-type ip4 src-ip 1.1.1.1 action 15 loc 5
>
> 5. Ensure filter gets added and traffic is received on RX queue 15 now.
>
> Link event testing:
> -------------------
> 6. Bring VF link down and up. If traffic flows to configured queue 15, test is
> success, otherwise it is a failure.
>
> Reset event testing:
> --------------------
> 7. Reset the VF. If traffic flows to configured queue 15, test is success,
> otherwise it is a failure.
>
> Fixes: 0dbfbabb840d ("iavf: Add framework to enable ethtool ntuple filters")
> Signed-off-by: Piotr Gardocki <piotrx.gardocki@...el.com>
> Reviewed-by: Larysa Zaremba <larysa.zaremba@...el.com>
> Signed-off-by: Ranganatha Rao <ranganatha.rao@...el.com>
> ---
> drivers/net/ethernet/intel/iavf/iavf.h | 1 +
> .../net/ethernet/intel/iavf/iavf_ethtool.c | 27 ++++---
> drivers/net/ethernet/intel/iavf/iavf_fdir.h | 15 +++-
> drivers/net/ethernet/intel/iavf/iavf_main.c | 48 ++++++++++---
> .../net/ethernet/intel/iavf/iavf_virtchnl.c | 71 +++++++++++++++++--
> 5 files changed, 139 insertions(+), 23 deletions(-)
>
> diff --git a/drivers/net/ethernet/intel/iavf/iavf.h
> b/drivers/net/ethernet/intel/iavf/iavf.h
> index e7ab89dc883a..63b45c61cc4a 100644
> --- a/drivers/net/ethernet/intel/iavf/iavf.h
> +++ b/drivers/net/ethernet/intel/iavf/iavf.h
Tested-by: Rafal Romanowski <rafal.romanowski@...el.com>
Powered by blists - more mailing lists