[1/2] net/ice/base: fix tunnel type check for PPPoE
Checks
Commit Message
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>
---
drivers/net/ice/base/ice_switch.c | 14 +++++---------
1 file changed, 5 insertions(+), 9 deletions(-)
@@ -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) {