net/hns3: refactor flow checks into own functions
[dpdk.git] / drivers / net / mlx5 / mlx5_flow_dv.c
index 95a066f..8c11ac3 100644 (file)
@@ -8662,11 +8662,15 @@ flow_dv_translate_item_port_id(struct rte_eth_dev *dev, void *matcher,
                    priv->pf_bond < 0 && attr->transfer)
                        flow_dv_translate_item_source_vport
                                (matcher, key, priv->vport_id, mask);
-               else
-                       flow_dv_translate_item_meta_vport
-                               (matcher, key,
-                                priv->vport_meta_tag,
-                                priv->vport_meta_mask);
+               /*
+                * We should always set the vport metadata register,
+                * otherwise the SW steering library can drop
+                * the rule if wire vport metadata value is not zero,
+                * it depends on kernel configuration.
+                */
+               flow_dv_translate_item_meta_vport(matcher, key,
+                                                 priv->vport_meta_tag,
+                                                 priv->vport_meta_mask);
        } else {
                flow_dv_translate_item_source_vport(matcher, key,
                                                    priv->vport_id, mask);