CX556A number of physical functions on ConnectX-5

I have a CX556A. When inserted I can see two physical functions through lspci. In the document of ConnectX-5

In the SR-IOV, it says it can support up to 16 physical functions. I am wondering if it can be achieved on CX556A? Is there any way to enable more than two physical functions?

I have tried the SR-IOV instruction and successfully enable multiple virtual functions per physical function, but have no clue how to enable more physical functions.

In short, My question is

  1. In default, I can only see two physical functions on CX556A, which has two ports, meaning 1 PF per port. Is it possible to enable more PF on the card?
  2. If we can enable more PFs on the card, how should we do it? Or which part of the HW/SW (driver, firmware, etc. ) is handling this?

Thank you so much.

I’m afraid there is no possibility to exceed the PF numbers on the ConnectX-5 or any other Mellanox adapter. In case of a dual-port adapter, you’ll have only 2x PFs.

The idea beyond SR-IOV is to ctear virtual-function to share the CX-5 adapter’s two physical interfaces resources and on the top of them you can create as many VS as is restricted by the adapter. In your case it’s 16 VS per interface (PF)

Thank you so much.

Hello Avi,

I get it about what you said. May I know in what scenario that the SR-IOV could use 16 PFs and 1K VFs?

I have enabled VFs on my CX556A, and each PFs can only have up to 16 VFs, meaning on my card there is only up to 2 PFs and 32 VFs. May I know what cause this difference between my card and your spec of ConnectX-5?

Thank you so much.