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?