Windows Devx interface name is the same as device name with
different size then IF_NAMESIZE. to support it MLX5_NAMESIZE
is defined with IF_NAMESIZE value for Linux and MLX5_FS_NAME_MAX
value for Windows.

Fixes: e9c0b96e3526 ("net/mlx5: move Linux ifname function")
Cc: sta...@dpdk.org

Signed-off-by: Tal Shnaiderman <tal...@nvidia.com>
Acked-by: Matan Azrad <ma...@nvidia.com>
---
 drivers/net/mlx5/linux/mlx5_ethdev_os.c   | 4 ++--
 drivers/net/mlx5/linux/mlx5_os.c          | 2 +-
 drivers/net/mlx5/linux/mlx5_os.h          | 6 ++----
 drivers/net/mlx5/mlx5.h                   | 4 +++-
 drivers/net/mlx5/windows/mlx5_ethdev_os.c | 4 ++--
 drivers/net/mlx5/windows/mlx5_os.c        | 2 +-
 drivers/net/mlx5/windows/mlx5_os.h        | 2 ++
 7 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/drivers/net/mlx5/linux/mlx5_ethdev_os.c 
b/drivers/net/mlx5/linux/mlx5_ethdev_os.c
index 128845cb52..e36a78091c 100644
--- a/drivers/net/mlx5/linux/mlx5_ethdev_os.c
+++ b/drivers/net/mlx5/linux/mlx5_ethdev_os.c
@@ -143,7 +143,7 @@ struct ethtool_link_settings {
  *   0 on success, a negative errno value otherwise and rte_errno is set.
  */
 int
-mlx5_get_ifname(const struct rte_eth_dev *dev, char (*ifname)[IF_NAMESIZE])
+mlx5_get_ifname(const struct rte_eth_dev *dev, char (*ifname)[MLX5_NAMESIZE])
 {
        struct mlx5_priv *priv = dev->data->dev_private;
        unsigned int ifindex;
@@ -151,7 +151,7 @@ mlx5_get_ifname(const struct rte_eth_dev *dev, char 
(*ifname)[IF_NAMESIZE])
        MLX5_ASSERT(priv);
        MLX5_ASSERT(priv->sh);
        if (priv->bond_ifindex > 0) {
-               memcpy(ifname, priv->bond_name, IF_NAMESIZE);
+               memcpy(ifname, priv->bond_name, MLX5_NAMESIZE);
                return 0;
        }
        ifindex = mlx5_ifindex(dev);
diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c
index 8353ac22e0..6812a1f215 100644
--- a/drivers/net/mlx5/linux/mlx5_os.c
+++ b/drivers/net/mlx5/linux/mlx5_os.c
@@ -1411,7 +1411,7 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
                mac.addr_bytes[4], mac.addr_bytes[5]);
 #ifdef RTE_LIBRTE_MLX5_DEBUG
        {
-               char ifname[IF_NAMESIZE];
+               char ifname[MLX5_NAMESIZE];
 
                if (mlx5_get_ifname(eth_dev, &ifname) == 0)
                        DRV_LOG(DEBUG, "port %u ifname is \"%s\"",
diff --git a/drivers/net/mlx5/linux/mlx5_os.h b/drivers/net/mlx5/linux/mlx5_os.h
index f38c2f3015..6100a130e0 100644
--- a/drivers/net/mlx5/linux/mlx5_os.h
+++ b/drivers/net/mlx5/linux/mlx5_os.h
@@ -14,11 +14,9 @@ enum {
        MLX5_FS_PATH_MAX = IBV_SYSFS_PATH_MAX + 1
 };
 
+#define MLX5_NAMESIZE IF_NAMESIZE
+
 #define PCI_DRV_FLAGS  (RTE_PCI_DRV_INTR_LSC | \
                        RTE_PCI_DRV_INTR_RMV | \
                        RTE_PCI_DRV_PROBE_AGAIN)
-
-/* mlx5_ethdev_os.c */
-
-int mlx5_get_ifname(const struct rte_eth_dev *dev, char 
(*ifname)[IF_NAMESIZE]);
 #endif /* RTE_PMD_MLX5_OS_H_ */
diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h
index 0cb907c599..41034f5d19 100644
--- a/drivers/net/mlx5/mlx5.h
+++ b/drivers/net/mlx5/mlx5.h
@@ -950,7 +950,7 @@ struct mlx5_priv {
        int32_t pf_bond; /* >=0 means PF index in bonding configuration. */
        unsigned int if_index; /* Associated kernel network device index. */
        uint32_t bond_ifindex; /**< Bond interface index. */
-       char bond_name[IF_NAMESIZE]; /**< Bond interface name. */
+       char bond_name[MLX5_NAMESIZE]; /**< Bond interface name. */
        /* RX/TX queues. */
        unsigned int rxqs_n; /* RX queues array size. */
        unsigned int txqs_n; /* TX queues array size. */
@@ -1067,6 +1067,8 @@ int mlx5_dev_configure_rss_reta(struct rte_eth_dev *dev);
 
 /* mlx5_ethdev_os.c */
 
+int mlx5_get_ifname(const struct rte_eth_dev *dev,
+                       char (*ifname)[MLX5_NAMESIZE]);
 unsigned int mlx5_ifindex(const struct rte_eth_dev *dev);
 int mlx5_get_mac(struct rte_eth_dev *dev, uint8_t (*mac)[RTE_ETHER_ADDR_LEN]);
 int mlx5_get_mtu(struct rte_eth_dev *dev, uint16_t *mtu);
diff --git a/drivers/net/mlx5/windows/mlx5_ethdev_os.c 
b/drivers/net/mlx5/windows/mlx5_ethdev_os.c
index f4ec855302..076c688699 100644
--- a/drivers/net/mlx5/windows/mlx5_ethdev_os.c
+++ b/drivers/net/mlx5/windows/mlx5_ethdev_os.c
@@ -56,7 +56,7 @@ mlx5_get_mac(struct rte_eth_dev *dev, uint8_t 
(*mac)[RTE_ETHER_ADDR_LEN])
  *   0 on success, a negative errno value otherwise and rte_errno is set.
  */
 int
-mlx5_get_ifname(const struct rte_eth_dev *dev, char (*ifname)[IF_NAMESIZE])
+mlx5_get_ifname(const struct rte_eth_dev *dev, char (*ifname)[MLX5_NAMESIZE])
 {
        struct mlx5_priv *priv;
        mlx5_context_st *context_obj;
@@ -67,7 +67,7 @@ mlx5_get_ifname(const struct rte_eth_dev *dev, char 
(*ifname)[IF_NAMESIZE])
        }
        priv = dev->data->dev_private;
        context_obj = (mlx5_context_st *)priv->sh->ctx;
-       strncpy(*ifname, context_obj->mlx5_dev.name, IF_NAMESIZE);
+       strncpy(*ifname, context_obj->mlx5_dev.name, MLX5_NAMESIZE);
        return 0;
 }
 
diff --git a/drivers/net/mlx5/windows/mlx5_os.c 
b/drivers/net/mlx5/windows/mlx5_os.c
index 6db02d70e9..651f1e1607 100644
--- a/drivers/net/mlx5/windows/mlx5_os.c
+++ b/drivers/net/mlx5/windows/mlx5_os.c
@@ -550,7 +550,7 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
                mac.addr_bytes[4], mac.addr_bytes[5]);
 #ifdef RTE_LIBRTE_MLX5_DEBUG
        {
-               char ifname[IF_NAMESIZE];
+               char ifname[MLX5_NAMESIZE];
 
                if (mlx5_get_ifname(eth_dev, &ifname) == 0)
                        DRV_LOG(DEBUG, "port %u ifname is \"%s\"",
diff --git a/drivers/net/mlx5/windows/mlx5_os.h 
b/drivers/net/mlx5/windows/mlx5_os.h
index b94f588461..7fe41d4e90 100644
--- a/drivers/net/mlx5/windows/mlx5_os.h
+++ b/drivers/net/mlx5/windows/mlx5_os.h
@@ -14,4 +14,6 @@ enum {
 
 #define PCI_DRV_FLAGS 0
 
+#define MLX5_NAMESIZE MLX5_FS_NAME_MAX
+
 #endif /* RTE_PMD_MLX5_OS_H_ */
-- 
2.16.1.windows.4

Reply via email to