[dpdk-dev] [PATCH] net/ice: add error cases with a wrong package

Simei Su simei.su at intel.com
Thu Nov 7 08:34:43 CET 2019


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 at 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



More information about the dev mailing list