net/ice: add error cases with a wrong package
Checks
Commit Message
If the switch/fdir/hash module can't resolve a correct parser,
it should return error.
Fixes: 47d460d63233 ("net/ice: rework switch filter")
Fixes: efc16c621415 ("net/ice: support flow director GTPU tunnel")
Fixes: 5ad3db8d4bdd ("net/ice: enable advanced RSS")
Signed-off-by: Simei Su <simei.su@intel.com>
---
drivers/net/ice/ice_fdir_filter.c | 4 +++-
drivers/net/ice/ice_hash.c | 2 ++
drivers/net/ice/ice_switch_filter.c | 4 +++-
3 files changed, 8 insertions(+), 2 deletions(-)
Comments
> -----Original Message-----
> From: Su, Simei <simei.su@intel.com>
> Sent: Thursday, November 7, 2019 3:35 PM
> To: Zhang, Qi Z <qi.z.zhang@intel.com>; Ye, Xiaolong <xiaolong.ye@intel.com>;
> Yang, Qiming <qiming.yang@intel.com>
> Cc: dev@dpdk.org; Su, Simei <simei.su@intel.com>
> Subject: [PATCH] net/ice: add error cases with a wrong package
>
> If the switch/fdir/hash module can't resolve a correct parser, it should return
> error.
>
> Fixes: 47d460d63233 ("net/ice: rework switch filter")
> Fixes: efc16c621415 ("net/ice: support flow director GTPU tunnel")
> Fixes: 5ad3db8d4bdd ("net/ice: enable advanced RSS")
>
> Signed-off-by: Simei Su <simei.su@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
On 11/07, Simei Su wrote:
>If the switch/fdir/hash module can't resolve a correct parser,
>it should return error.
>
>Fixes: 47d460d63233 ("net/ice: rework switch filter")
>Fixes: efc16c621415 ("net/ice: support flow director GTPU tunnel")
>Fixes: 5ad3db8d4bdd ("net/ice: enable advanced RSS")
>
>Signed-off-by: Simei Su <simei.su@intel.com>
>---
> drivers/net/ice/ice_fdir_filter.c | 4 +++-
> drivers/net/ice/ice_hash.c | 2 ++
> drivers/net/ice/ice_switch_filter.c | 4 +++-
> 3 files changed, 8 insertions(+), 2 deletions(-)
>
>diff --git a/drivers/net/ice/ice_fdir_filter.c b/drivers/net/ice/ice_fdir_filter.c
>index fbbc41f..baaa7fa 100644
>--- a/drivers/net/ice/ice_fdir_filter.c
>+++ b/drivers/net/ice/ice_fdir_filter.c
>@@ -863,8 +863,10 @@
>
> if (ad->active_pkg_type == ICE_PKG_TYPE_COMMS)
> parser = &ice_fdir_parser_comms;
>- else
>+ else if (ad->active_pkg_type == ICE_PKG_TYPE_OS_DEFAULT)
> parser = &ice_fdir_parser_os;
>+ else
>+ return -EINVAL;
>
> return ice_register_parser(parser, ad);
> }
>diff --git a/drivers/net/ice/ice_hash.c b/drivers/net/ice/ice_hash.c
>index 3381b45..8dc3146 100644
>--- a/drivers/net/ice/ice_hash.c
>+++ b/drivers/net/ice/ice_hash.c
>@@ -242,6 +242,8 @@ struct ice_hash_match_type ice_hash_type_list[] = {
> parser = &ice_hash_parser_os;
> else if (ad->active_pkg_type == ICE_PKG_TYPE_COMMS)
> parser = &ice_hash_parser_comms;
>+ else
>+ return -EINVAL;
>
> return ice_register_parser(parser, ad);
> }
>diff --git a/drivers/net/ice/ice_switch_filter.c b/drivers/net/ice/ice_switch_filter.c
>index 4be87c2..2406102 100644
>--- a/drivers/net/ice/ice_switch_filter.c
>+++ b/drivers/net/ice/ice_switch_filter.c
>@@ -1122,8 +1122,10 @@ struct sw_meta {
>
> if (ad->active_pkg_type == ICE_PKG_TYPE_COMMS)
> dist_parser = &ice_switch_dist_parser_comms;
>- else
>+ else if (ad->active_pkg_type == ICE_PKG_TYPE_OS_DEFAULT)
> dist_parser = &ice_switch_dist_parser_os;
>+ else
>+ return -EINVAL;
>
> if (ad->devargs.pipe_mode_support)
> ret = ice_register_parser(perm_parser, ad);
>--
>1.8.3.1
>
Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
Applied to dpdk-next-net-intel. Thanks.
@@ -863,8 +863,10 @@
if (ad->active_pkg_type == ICE_PKG_TYPE_COMMS)
parser = &ice_fdir_parser_comms;
- else
+ else if (ad->active_pkg_type == ICE_PKG_TYPE_OS_DEFAULT)
parser = &ice_fdir_parser_os;
+ else
+ return -EINVAL;
return ice_register_parser(parser, ad);
}
@@ -242,6 +242,8 @@ struct ice_hash_match_type ice_hash_type_list[] = {
parser = &ice_hash_parser_os;
else if (ad->active_pkg_type == ICE_PKG_TYPE_COMMS)
parser = &ice_hash_parser_comms;
+ else
+ return -EINVAL;
return ice_register_parser(parser, ad);
}
@@ -1122,8 +1122,10 @@ struct sw_meta {
if (ad->active_pkg_type == ICE_PKG_TYPE_COMMS)
dist_parser = &ice_switch_dist_parser_comms;
- else
+ else if (ad->active_pkg_type == ICE_PKG_TYPE_OS_DEFAULT)
dist_parser = &ice_switch_dist_parser_os;
+ else
+ return -EINVAL;
if (ad->devargs.pipe_mode_support)
ret = ice_register_parser(perm_parser, ad);