14/11/2024 17:10, CJ Sculti: > I figured out the initial issue. For some reason, having both devices in a > bond on the kernel results in only 1 of the two ports being exposed as > 'verb' devices. Previously, ibv_devinfo returned only one port. After > removing both from the bond, ibv_devinfo returns both ports, and the DPDK > application successfully takes both in. I'm still having some weird > behavior trying to create a bypass interface with these ports though. I'm > using the same code that I've been using on my Intel NICs with igb_uio for > years, but seeing weird behavior. The ports are connected to our 40Gbps > Ethernet switch, and set to link_layer: Ethernet.
You should be able to make it work with kernel bonding, but I'm not sure what's wrong to do that. And it looks not a priority for you. Let's focus on the other parts. > The first thing I noticed is that rte_eth_dev_reset() fails on these > interfaces with "ENOTSUP: hardware doesn't support reset". You don't need the reset procedure with mlx5, so you can make this code optional. > Secondly, when checking ptypes, I noticed my code says these NICs are > unable to support any sort of packet detection capability (code below, all > return false). The MLX5 docs do say that all of these ptypes used here are > supported by MLX5. The supported ptypes can be checked in mlx5_dev_supported_ptypes_get() code. I don't understand why it does not work for you. > I'm just picking up a project that was left off by an older dev. It hasn't > been touched in years, but has been working fine with our Intel NICs. All > I'm trying to do is update DPDK (which is done, updated from dpdk 19.05 to > DPDK 22.11, latest version with KNI support), You don't need KNI with mlx5. That's a big benefit of mlx5 design, it is natively bifurcated: https://doc.dpdk.org/guides/howto/flow_bifurcation.html > and get it to work with our Mellanox CX5 NICs. > This is my first time working with DPDK and I'm not very > familiar. Should I expect to be able to do this without having to make a > ton of code changes, or is this going to be an uphill battle for me? If > it's the latter, I will likely just go purchase Intel NICs and give up on > this. The NICs have difference that DPDK is trying to hide. If something is not compatible you may consider it as a bug or a limitation. I think you should try a bit more, we are here to help.