| 1730 | } |
| 1731 | |
| 1732 | static void |
| 1733 | flow_rxq_mark_flag_set(struct rte_eth_dev *dev) |
| 1734 | { |
| 1735 | struct mlx5_priv *priv = dev->data->dev_private; |
| 1736 | struct mlx5_rxq_ctrl *rxq_ctrl; |
| 1737 | uint16_t port_id; |
| 1738 | |
| 1739 | if (priv->sh->shared_mark_enabled) |
| 1740 | return; |
| 1741 | if (priv->master || priv->representor) { |
| 1742 | MLX5_ETH_FOREACH_DEV(port_id, dev->device) { |
| 1743 | struct mlx5_priv *opriv = |
| 1744 | rte_eth_devices[port_id].data->dev_private; |
| 1745 | |
| 1746 | if (!opriv || |
| 1747 | opriv->sh != priv->sh || |
| 1748 | opriv->domain_id != priv->domain_id || |
| 1749 | opriv->mark_enabled) |
| 1750 | continue; |
| 1751 | LIST_FOREACH(rxq_ctrl, &opriv->rxqsctrl, next) { |
| 1752 | rxq_ctrl->rxq.mark = 1; |
| 1753 | } |
| 1754 | opriv->mark_enabled = 1; |
| 1755 | } |
| 1756 | } else { |
| 1757 | LIST_FOREACH(rxq_ctrl, &priv->rxqsctrl, next) { |
| 1758 | rxq_ctrl->rxq.mark = 1; |
| 1759 | } |
| 1760 | priv->mark_enabled = 1; |
| 1761 | } |
| 1762 | priv->sh->shared_mark_enabled = 1; |
| 1763 | } |
| 1764 | |
| 1765 | /** |
| 1766 | * Set the Rx queue flags (Mark/Flag and Tunnel Ptypes) for a flow |
no test coverage detected