This patch fix tunnel type check for PPPoE type of recipe
when search for recipe which has been created before, and
also fix a bug of typo.

Fixes: 418d2563d10b ("net/ice/base: get tunnel type for recipe")

Signed-off-by: Wei Zhao <wei.zh...@intel.com>
---
 drivers/net/ice/base/ice_switch.c | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/drivers/net/ice/base/ice_switch.c 
b/drivers/net/ice/base/ice_switch.c
index 0e220580a..caa080da2 100644
--- a/drivers/net/ice/base/ice_switch.c
+++ b/drivers/net/ice/base/ice_switch.c
@@ -1086,15 +1086,11 @@ static enum ice_sw_tunnel_type 
ice_get_tun_type_for_recipe(u8 rid)
                tun_type = ICE_SW_TUN_PPPOE;
        else if (!non_tun_valid && gtp_valid)
                tun_type = ICE_SW_TUN_GTP;
-       else if ((non_tun_valid && vxlan_valid) ||
-                (non_tun_valid && gre_valid) ||
-                (non_tun_valid && gtp_valid) ||
-                (non_tun_valid && pppoe_valid))
+       else if (non_tun_valid &&
+                (vxlan_valid || gre_valid || gtp_valid || pppoe_valid))
                tun_type = ICE_SW_TUN_AND_NON_TUN;
-       else if ((non_tun_valid && !vxlan_valid) ||
-                (non_tun_valid && !gre_valid) ||
-                (non_tun_valid && !gtp_valid) ||
-                (non_tun_valid && !pppoe_valid))
+       else if (non_tun_valid && !vxlan_valid && !gre_valid && !gtp_valid &&
+                !pppoe_valid)
                tun_type = ICE_NON_TUN;
 
        if (profile_num > 1 && tun_type == ICE_SW_TUN_PPPOE) {
@@ -1108,7 +1104,7 @@ static enum ice_sw_tunnel_type 
ice_get_tun_type_for_recipe(u8 rid)
                        tun_type = ICE_SW_TUN_PPPOE_IPV6;
        }
 
-       if (profile_num == 1 && (flag_valid || non_tun_valid)) {
+       if (profile_num == 1 && (flag_valid || non_tun_valid || pppoe_valid)) {
                for (j = 0; j < ICE_MAX_NUM_PROFILES; j++) {
                        if (ice_is_bit_set(recipe_to_profile[rid], j)) {
                                switch (j) {
-- 
2.19.1

Reply via email to