Using Virtual Functions and Shadow VNICs With Kernel Zones

A virtual function (VF) on a kernel zone is created when an anet belonging to a kernel zone is configured with the zonecfg iov property set to on or auto. The VF is assigned by the host system to the kernel zone.

Each VF assigned to a kernel zone has an associated shadow VNIC in the host system. You can use shadow VNICs to show network statistics.

The following shows example output of the shadow VNIC kzone1/net0 on the system global:

global$ dladm show-link
LINK                CLASS     MTU    STATE    OVER
net1                phys      1500   unknown  --
net0                phys      1500   up       --
net2                phys      1500   up       --
kzone1/net0         vnic      1500   unknown  net1

global$ dlstat show-link kzone1/net0
LINK               IPKTS   RBYTES    OPKTS   OBYTES
kzone1/net0        0        0        3      126

VF can be allocated from a DLMP aggregation. You can set iov=auto on a DLMP aggregation, which causes VF to be allocated when there's an available VF resource. An example is shown in Configure a DLMP Link Aggregation for Network High Availability in a Kernel Zone.

Setting iov=on over either DLMP or trunk aggregation is prohibited.

The zonecfg anet property bwshare enables a shadow VNIC to be set on a link only if the underlying physical link is supported. See the dladm(8) and zonecfg(8) man pages for additional information.

For additional information about VNICs and network configuration, consult Managing Network Virtualization and Network Resources in Oracle Solaris 11.4.