net/ice/base: fix tunnel type check for PPPoE
authorWei Zhao <wei.zhao1@intel.com>
Tue, 7 Jul 2020 09:40:47 +0000 (17:40 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Sat, 11 Jul 2020 04:18:52 +0000 (06:18 +0200)
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.zhao1@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
drivers/net/ice/base/ice_switch.c

index 0e22058..caa080d 100644 (file)
@@ -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) {