Is there a way to use DPDK bonding with this device to bond the two ports? DPDK bonding requires two PCI addresses for the devices being bonded, this will not work by default as both devices have the same PCI.
I also have a Connect4-X card where DPDK bonding works fine as on that card the two ports have different PCI addresses.
We discussed this with the mlx4 maintainer for DPDK, as another user posted the same question on the DPDK.org user forum.
He mentions the following:
"It is a design mistake (related to the bonding PMD) to use PCI address to select slave ports for bonding. It prevents using multi-port devices or non-PCI devices (like vdev)
The solution is to use another format, like the new devargs syntax, which allows to match more properties (PCI address being one property).
For ConnectX-3 Pro, it will allow to choose ports by MAC address with this string: “class=eth,mac=00:11:22:33:44:55”
Unfortunately, this solution requires a patch in the bonding PMD to use RTE_ETH_FOREACH_MATCHING_DEV().
** Note that RTE_ETH_FOREACH_MATCHING_DEV supports the old PCI-only syntax."
Based on this information, this needs to be resolved in the bonding PMD driver from DPDK, which is the responsibility of the DPDK Community.
When using “mlx5” PMD, you are not experiencing this issue, as ConnectX-4/5 and the new 6 will have their own unique PCIe BDF address per port.
With ConnectX-3 Pro, you can only resolve it by two separate adapters (their own PCIe BDF address).
Our apologies that this information does not resolve your issue, but it makes clear the limitation when using Bonding PMD with mlx4 (ConnectX-3 Pro).