-----Original Message-----
From: Zhang, Qi Z
Sent: Tuesday, October 8, 2019 09:50
To: Lu, Wenzhuo <[email protected]>; Yang, Qiming <[email protected]>
Cc: [email protected]; Ye, Xiaolong <[email protected]>; Zhang, Qi Z
<[email protected]>; Nowlin, Dan <[email protected]>; Stillwell Jr, Paul
M <[email protected]>
Subject: [PATCH v3 10/12] net/ice/base: fix switch rule programming for all
profiles
In switch rule programming, if the caller requested tunnel type of
ICE_SW_TUN_AND_NON_TUN, then the code would incorrectly attempt to add a
tunneled UDP port in the training packet, this would cause the rule addition to
fail. This patch does not attempt to add the UDP port so that the rule
programming will succeed.
Fixes: 75c06a770e25 ("net/ice/base: update switch training packets with open
ports")
Signed-off-by: Dan Nowlin <[email protected]>
Signed-off-by: Paul M Stillwell Jr <[email protected]>
Signed-off-by: Qi Zhang <[email protected]>
---
drivers/net/ice/base/ice_switch.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ice/base/ice_switch.c
b/drivers/net/ice/base/ice_switch.c
index 2c02021b1..36da27f78 100644
--- a/drivers/net/ice/base/ice_switch.c
+++ b/drivers/net/ice/base/ice_switch.c
@@ -6214,7 +6214,8 @@ ice_add_adv_rule(struct ice_hw *hw, struct
ice_adv_lkup_elem *lkups,
if (status)
goto err_ice_add_adv_rule;
- if (rinfo->tun_type != ICE_NON_TUN) {
+ if (rinfo->tun_type != ICE_NON_TUN &&
+ rinfo->tun_type != ICE_SW_TUN_AND_NON_TUN) {
status = ice_fill_adv_packet_tun(hw, rinfo->tun_type,
s_rule->pdata.lkup_tx_rx.hdr,
pkt_offsets);
--
2.13.6
Acked-by: Qiming Yang <[email protected]>