> -----Original Message-----
> From: Sun, GuinanX <[email protected]>
> Sent: Friday, August 28, 2020 10:33 AM
> To: [email protected]
> Cc: Zhang, Qi Z <[email protected]>; Yang, Qiming
> <[email protected]>; Sun, GuinanX <[email protected]>;
> [email protected]
> Subject: [PATCH] net/ice: fix flow validation for unsupported patterns
>
> When loading the OS default package and the pipeline mode is enabled by the
> "pipeline-mode-support=1" operation. In this case, the wrong parser is
> selected
> for processing and it will cause the unsupported
> patterns(pppoes/pfcp/l2tpv3/esp/ah) to be validated successfully.
> This patch corrects the parser selection issue.
>
> Fixes: 47d460d63233 ("net/ice: rework switch filter")
> Cc: [email protected]
>
> Signed-off-by: Guinan Sun <[email protected]>
> ---
> drivers/net/ice/ice_switch_filter.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ice/ice_switch_filter.c
> b/drivers/net/ice/ice_switch_filter.c
> index c4b00b6a2..884fbaae2 100644
> --- a/drivers/net/ice/ice_switch_filter.c
> +++ b/drivers/net/ice/ice_switch_filter.c
> @@ -1806,7 +1806,8 @@ ice_switch_init(struct ice_adapter *ad)
> else
> return -EINVAL;
>
> - if (ad->devargs.pipe_mode_support)
> + if (ad->devargs.pipe_mode_support &&
> + ad->active_pkg_type != ICE_PKG_TYPE_OS_DEFAULT)
> ret = ice_register_parser(perm_parser, ad);
This is not correct, package type should not related with pipe line mode.
> else
> ret = ice_register_parser(dist_parser, ad); @@ -1824,7 +1825,8
> @@
> ice_switch_uninit(struct ice_adapter *ad)
> else
> dist_parser = &ice_switch_dist_parser_os;
>
> - if (ad->devargs.pipe_mode_support)
> + if (ad->devargs.pipe_mode_support &&
> + ad->active_pkg_type != ICE_PKG_TYPE_OS_DEFAULT)
> ice_unregister_parser(perm_parser, ad);
> else
> ice_unregister_parser(dist_parser, ad);
> --
> 2.17.1