net/mlx5: refactor bonding representor probing
[dpdk.git] / drivers / net / mlx5 / mlx5_mac.c
index 2a88086..7b2be04 100644 (file)
@@ -9,21 +9,9 @@
 #include <inttypes.h>
 #include <errno.h>
 #include <netinet/in.h>
-#include <sys/ioctl.h>
-#include <arpa/inet.h>
-
-/* Verbs header. */
-/* ISO C doesn't support unnamed structs/unions, disabling -pedantic. */
-#ifdef PEDANTIC
-#pragma GCC diagnostic ignored "-Wpedantic"
-#endif
-#include <infiniband/verbs.h>
-#ifdef PEDANTIC
-#pragma GCC diagnostic error "-Wpedantic"
-#endif
 
 #include <rte_ether.h>
-#include <rte_ethdev_driver.h>
+#include <ethdev_driver.h>
 #include <rte_common.h>
 
 #include "mlx5_defs.h"
@@ -167,8 +155,11 @@ mlx5_mac_addr_set(struct rte_eth_dev *dev, struct rte_ether_addr *mac_addr)
        uint16_t port_id;
        struct mlx5_priv *priv = dev->data->dev_private;
 
-       /* Configuring the VF instead of its representor. */
-       if (priv->representor) {
+       /*
+        * Configuring the VF instead of its representor,
+        * need to skip the special case of HPF on Bluefield.
+        */
+       if (priv->representor && !mlx5_is_hpf(dev)) {
                DRV_LOG(DEBUG, "VF represented by port %u setting primary MAC address",
                        dev->data->port_id);
                RTE_ETH_FOREACH_DEV_SIBLING(port_id, dev->data->port_id) {
@@ -178,7 +169,9 @@ mlx5_mac_addr_set(struct rte_eth_dev *dev, struct rte_ether_addr *mac_addr)
                                return mlx5_os_vf_mac_addr_modify
                                       (priv,
                                        mlx5_ifindex(&rte_eth_devices[port_id]),
-                                       mac_addr, priv->representor_id);
+                                       mac_addr,
+                                       MLX5_REPRESENTOR_REPR
+                                               (priv->representor_id));
                        }
                }
                rte_errno = -ENOTSUP;