net/mlx5: wrap flow domain sync per OS
authorTal Shnaiderman <talshn@nvidia.com>
Mon, 28 Dec 2020 12:33:00 +0000 (14:33 +0200)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 8 Jan 2021 15:03:08 +0000 (16:03 +0100)
use OS functions for flow_dv_sync_domain to compile
Windows.

mlx5_os_flow_dr_sync_domain is unsupported for Windows.

Signed-off-by: Tal Shnaiderman <talshn@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
drivers/net/mlx5/linux/mlx5_flow_os.h
drivers/net/mlx5/mlx5_flow_dv.c
drivers/net/mlx5/windows/mlx5_flow_os.h

index 6f3b732..45b7b9f 100644 (file)
@@ -427,4 +427,10 @@ mlx5_os_flow_adjust_priority(struct rte_eth_dev *dev, int32_t priority,
 {
        return mlx5_flow_adjust_priority(dev, priority, subpriority);
 }
+
+static inline int
+mlx5_os_flow_dr_sync_domain(void *domain, uint32_t flags)
+{
+       return mlx5_glue->dr_sync_domain(domain, flags);
+}
 #endif /* RTE_PMD_MLX5_FLOW_OS_H_ */
index a7d6a92..f628268 100644 (file)
@@ -12633,18 +12633,18 @@ flow_dv_sync_domain(struct rte_eth_dev *dev, uint32_t domains, uint32_t flags)
        int ret = 0;
 
        if ((domains & MLX5_DOMAIN_BIT_NIC_RX) && priv->sh->rx_domain != NULL) {
-               ret = mlx5_glue->dr_sync_domain(priv->sh->rx_domain,
+               ret = mlx5_os_flow_dr_sync_domain(priv->sh->rx_domain,
                                                flags);
                if (ret != 0)
                        return ret;
        }
        if ((domains & MLX5_DOMAIN_BIT_NIC_TX) && priv->sh->tx_domain != NULL) {
-               ret = mlx5_glue->dr_sync_domain(priv->sh->tx_domain, flags);
+               ret = mlx5_os_flow_dr_sync_domain(priv->sh->tx_domain, flags);
                if (ret != 0)
                        return ret;
        }
        if ((domains & MLX5_DOMAIN_BIT_FDB) && priv->sh->fdb_domain != NULL) {
-               ret = mlx5_glue->dr_sync_domain(priv->sh->fdb_domain, flags);
+               ret = mlx5_os_flow_dr_sync_domain(priv->sh->fdb_domain, flags);
                if (ret != 0)
                        return ret;
        }
index 5018566..630b214 100644 (file)
@@ -345,6 +345,15 @@ mlx5_os_flow_adjust_priority(struct rte_eth_dev *dev, int32_t priority,
        return 0;
 }
 
+static inline int
+mlx5_os_flow_dr_sync_domain(void *domain, uint32_t flags)
+{
+       RTE_SET_USED(domain);
+       RTE_SET_USED(flags);
+       errno = ENOTSUP;
+       return errno;
+}
+
 int mlx5_flow_os_validate_flow_attributes(struct rte_eth_dev *dev,
                                        const struct rte_flow_attr *attributes,
                                        bool external,