NIC Tested with SRIOV and Bhyve PCI-PASS
Vendor | Model | Ports | Driver | SRIOV Tested | Num of PF | Bhyve PCI-PASS | VF Attached to OS |
---|---|---|---|---|---|---|---|
Intel | XL710 | 2×10/40G | ixl from ports | YES | 64 | WORKS | WORKS |
Intel | X722 | 2x10G BaseT | ixl from ports | YES | 64 | WORKS | WORKS |
Intel | XXV710 | 2x25G(@10G) | ixl from ports | YES | 64 | WORKS | WORKS |
Intel | i350 | 4x10G | TBC | TBC | TBC | TBC | TBC |
BCM | BCM57416 | 2x10G -CRAP | in kernel | – | – | – | – |
Issues:
Vendor | Model | Ports | Drivers | Problem |
---|---|---|---|---|
Intel | ||||
Intel | ||||
BCM | BCM57416 | 2x10G | Kernel/Base | Driver is broken, VLAN cannot be used. Patch is required to make them work. |
Test environment for XXV710: ( will do others when time permits).
The Server is a super micro, the machine is running FreeBSD 13.2 RC1 with FRR 7.X release. The Spirent TG is just sending bulk traffic ( 100 src, 100 dst, 1:1, 512b, 9.5Gbps) not to benchmark the FreeBSD but to make sure the cards don’t play funny games. The interfaces on both routers and servers are untagged. No drops or errors were found.

This is the output of the tester:

Test environment for XL710:
The Server is a supermicro, the machine is running FreeBSD 13.2 RC1. The 40G interfaces are connected to an MX1004. The MX has been configured with a bridge domain which contains interfaces et-0/1/11 and et-0/1/6.
HYPER01-B2B {
interface et-0/1/11.0;
interface et-0/1/5.0;
}
et-0/1/5 {
encapsulation ethernet-bridge;
unit 0;
}
et-0/1/11 {
encapsulation ethernet-bridge;
unit 0;
}
The following diagram depicts the physical network topology:

Interface IXL0 has been configured with 64 VF, without passthrough, hence the host OS can see 64 iavf interfaces. Interface IXL1 has been configured with 64 VF, with passthrough, One of the VF has been passed into the VM.
pkt-gen is running on both the host OS and virtual machine. Interfaces are reaching 39.2@512b.
Test environment for iavf (passed by Bhyve),
The VM is running FreeBSD 13.2 RC1 with FRR 7.X release, bhyve is passing one PF from each NIC (ixl0 and ixl1), those are present as iavf0 and iavf1. The Spirent TG is just sending bulk traffic ( 100 src, 100 dst, 1:1, 512b, 9.5Gbps). No drops or errors were found.
