net/sfc/base: fix manual filter delete in EF10
Checks
Commit Message
From: Igor Romanov <igor.romanov@oktetlabs.ru>
When user requests a filter deletion only filter with
manual priority must be deleted. When an automatic filter has
the same specification, it must be skipped.
Fixes: 585c22edb29c ("net/sfc/base: handle manual and auto filter clashes in EF10")
Cc: stable@dpdk.org
Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
drivers/net/sfc/base/ef10_filter.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Comments
On 5/20/2020 2:59 PM, Andrew Rybchenko wrote:
> From: Igor Romanov <igor.romanov@oktetlabs.ru>
>
> When user requests a filter deletion only filter with
> manual priority must be deleted. When an automatic filter has
> the same specification, it must be skipped.
>
> Fixes: 585c22edb29c ("net/sfc/base: handle manual and auto filter clashes in EF10")
> Cc: stable@dpdk.org
>
> Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru>
> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Applied to dpdk-next-net/master, thanks.
@@ -1161,7 +1161,8 @@ ef10_filter_delete(
i = (hash + depth) & (EFX_EF10_FILTER_TBL_ROWS - 1);
saved_spec = ef10_filter_entry_spec(table, i);
if (saved_spec && ef10_filter_equal(spec, saved_spec) &&
- ef10_filter_same_dest(spec, saved_spec)) {
+ ef10_filter_same_dest(spec, saved_spec) &&
+ saved_spec->efs_priority == EFX_FILTER_PRI_MANUAL) {
break;
}
if (depth == EF10_FILTER_SEARCH_LIMIT) {