Creating Virtual NICs on SR-IOV Virtual Functions
The creation of Oracle Solaris 11 virtual NICs (VNICs) is supported on SR-IOV virtual functions. However, the number of VNICs that is supported is limited to the number of alternate MAC addresses (alt-mac-addrs property) assigned to the virtual function. Make sure that you assign a sufficient number of alternate MAC addresses when you use VNICs on the virtual function. Use the ldm create-vf
or ldm set-io
command to set the alt-mac-addrs property with the alternate MAC addresses.
The following example shows the creation of four VNICs on an SR-IOV virtual function. The first command assigns alternate MAC addresses to the virtual function device. This command uses the automatic allocation method to allocate four alternate MAC addresses to the /SYS/MB/NET0/IOVNET.PF0.VF0
virtual function device:
primary# ldm set-io alt-mac-addrs=auto,auto,auto,auto /SYS/MB/NET0/IOVNET.PF0.VF0
The next command starts the ldg1
I/O domain. Because the auto-boot?
property is set to true
in this example, the Oracle Solaris 11 OS is also booted in the I/O domain.
primary# ldm start-domain ldg1
The following command uses the Oracle Solaris 11 dladm
command in the guest domain to show virtual function that has alternate MAC addresses. This output shows that the net30
virtual function has four alternate MAC addresses.
guest# dladm show-phys -m
LINK SLOT ADDRESS INUSE CLIENT
net0 primary 0:14:4f:fa:b4:d1 yes net0
net25 primary 0:14:4f:fa:c9:eb no --
net30 primary 0:14:4f:fb:de:4c no --
1 0:14:4f:f9:e8:73 no --
2 0:14:4f:f8:21:58 no --
3 0:14:4f:fa:9d:92 no --
4 0:14:4f:f9:8f:1d no --
The following commands create four VNICs. Note that attempts to create more VNICs than are specified by using alternate MAC addresses will fail.
guest# dladm create-vnic -l net30 vnic0 guest# dladm create-vnic -l net30 vnic1 guest# dladm create-vnic -l net30 vnic2 guest# dladm create-vnic -l net30 vnic3 guest# dladm show-link LINK CLASS MTU STATE OVER net0 phys 1500 up -- net25 phys 1500 up -- net30 phys 1500 up -- vnic0 vnic 1500 up net30 vnic1 vnic 1500 up net30 vnic2 vnic 1500 up net30 vnic3 vnic 1500 up net30