[dpdk-dev] How to use mlx4 as bond

Thomas Monjalon thomas at monjalon.net
Wed Mar 27 01:51:43 CET 2019


Hi,

26/03/2019 16:36, chetan bhasin:
> Hi,
> 
> I am using DPDK 17.11.4 with a Mellanox ConnectX-3 Pro dual port card, one
> of the features of this card is that both ports have the same PCI address.
> i.e. there are two ports here but only one PCI reported:
> 
> # lspci | grep -i mell
> 0a:00.0 Ethernet controller: Mellanox Technologies MT27520 Family
> [ConnectX-3 Pro]
> 
> Is there any way to configure DPDK to set up bonding with this card?
> Bonding requires two unique PCI addresses, is there a way to tell DPDK
> about the two interfaces other than via PCI? I am using VPP to interface
> with DPDK and set up the bonding via vdev configuration. Is bonding just
> not possible using the two interfaces on this device?

It is a design mistake 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.

Would you like to make it a try?




More information about the dev mailing list