While adding a vsi for an ice PF, set the ICE_AQ_VSI_SW_FLAG_LOCAL_LB
flag. This will prevent packets from being dropped when using a virtual
MAC address with VRRP.

Also set the ICE_AQ_VSI_SW_FLAG_SRC_PRUNE flag to prevent transmitted
packets from being looped back in some circumstances.

Fixes: f9cf4f864150 ("net/ice: support device initialization")

Signed-off-by: Matthew Smith <mgsm...@netgate.com>
---
 drivers/net/intel/ice/ice_ethdev.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/intel/ice/ice_ethdev.c 
b/drivers/net/intel/ice/ice_ethdev.c
index 3cdfa16f77..21d3795954 100644
--- a/drivers/net/intel/ice/ice_ethdev.c
+++ b/drivers/net/intel/ice/ice_ethdev.c
@@ -1696,6 +1696,10 @@ ice_setup_vsi(struct ice_pf *pf, enum ice_vsi_type type)
                 * by ice_init_hw
                 */
                vsi_ctx.info.sw_id = hw->port_info->sw_id;
+               vsi_ctx.info.sw_flags = ICE_AQ_VSI_SW_FLAG_LOCAL_LB;
+               vsi_ctx.info.sw_flags |= ICE_AQ_VSI_SW_FLAG_SRC_PRUNE;
+               cfg = ICE_AQ_VSI_PROP_SW_VALID;
+               vsi_ctx.info.valid_sections |= rte_cpu_to_le_16(cfg);
                vsi_ctx.info.sw_flags2 = ICE_AQ_VSI_SW_FLAG_LAN_ENA;
                /* Allow all untagged or tagged packets */
                vsi_ctx.info.inner_vlan_flags = 
ICE_AQ_VSI_INNER_VLAN_TX_MODE_ALL;
-- 
2.34.1

Reply via email to