When you add a virtual switch or virtual network device to a domain, you can specify its device number by setting the id property.
primary# ldm add-vsw [id=switch-id] vswitch-name domain-name primary# ldm add-vnet [id=network-id] if-name vswitch-name domain-name
Each virtual switch and virtual network device of a domain has a unique device number that is assigned when the domain is bound. If a virtual switch or virtual network device was added with an explicit device number (by setting the id property), the specified device number is used. Otherwise, the system automatically assigns the lowest device number available. In that case, the device number assigned depends on how virtual switch or virtual network devices were added to the system. The device number eventually assigned to a virtual switch or virtual network device is visible in the output of the ldm list-bindings command when a domain is bound.
The following example shows that the primary domain has one virtual switch, primary-vsw0. This virtual switch has a device number of 0 (switch@0).
primary# ldm list-bindings primary ... VSW NAME MAC NET-DEV DEVICE DEFAULT-VLAN-ID PVID VID MTU MODE primary-vsw0 00:14:4f:fb:54:f2 net0 switch@0 1 1 5,6 1500 ...
The following example shows that the ldg1 domain has two virtual network devices: vnet and vnet1. The vnet device has a device number of 0 (network@0) and the vnet1 device has a device number of 1 (network@1).
primary# ldm list-bindings ldg1 ... NETWORK NAME SERVICE DEVICE MAC MODE PVID VID MTU vnet primary-vsw0@primary network@0 00:14:4f:fb:e0:4b hybrid 1 1500 ... vnet1 primary-vsw0@primary network@1 00:14:4f:f8:e1:ea 1 1500 ...
Similarly, when a domain with a virtual network device is running the Oracle Solaris OS, the virtual network device has a network interface, vnetN. However, the network interface number of the virtual network device, N, is not necessarily the same as the device number of the virtual network device, n.
Caution - The Oracle Solaris OS preserves the mapping between the name of a network interface and a virtual switch or a virtual network device based on the device number. If a device number is not explicitly assigned to a virtual switch or virtual network device, its device number can change when the domain is unbound and is later bound again. In that case, the network interface name assigned by the OS running in the domain can also change and make the existing system configuration unusable. This situation might happen, for example, when a virtual switch or a virtual network interface is removed from the configuration of the domain. |
You cannot use the ldm list-* commands to directly determine the Oracle Solaris OS network interface name that corresponds to a virtual switch or virtual network device. However, you can obtain this information by using a combination of the output from ldm list -l command and from the entries under /devices on the Oracle Solaris OS.
On Oracle Solaris 11 systems, you can use the ldm list-netdev command to find the Oracle Solaris OS network interface names. For more information, see the ldm(1M) man page.
The following example shows the ldm list-netdev and ldm list -o network commands. The ldm list -o network command shows the virtual network devices in the NAME field. The ldm list-netdev output shows the corresponding OS interface name in the NAME column.
primary# ldm list -o network ldg1 .... NETWORK NAME SERVICE ID DEVICE MAC MODE PVID VID MTU MAXBW LINKPROP vnet0-ldg1 primary-vsw0@primary 0 network@0 00:14:4f:fa:eb:4e 1 1500 vnet1-ldg1 svcdom-vsw0@svcdom 1 network@1 00:14:4f:f8:53:45 4 1500 PVLAN :400,community primary# ldm list-netdev ldg1 DOMAIN ldg1 NAME CLASS MEDIA STATE SPEED OVER LOC ---- ----- ----- ----- ----- ---- --- net0 VNET ETHER up 0 vnet0 primary-vsw0/vnet0-ldg1 net1 VNET ETHER up 0 vnet1 svcdom-vsw0/vnet1-ldg1 net2 VNET ETHER unknown 0 vnet2 svcdom-vsw1/vnet2-ldg1
To verify that the ldm list-netdev output is correct, run the dladm show-phys and dladm show-linkprop -p mac-address commands from the ldg1:
ldg1# dladm show-phys LINK MEDIA STATE SPEED DUPLEX DEVICE net0 Ethernet up 0 unknown vnet0 net1 Ethernet up 0 unknown vnet1 net2 Ethernet unknown 0 unknown vnet2 ldg1# dladm show-linkprop -p mac-address LINK PROPERTY PERM VALUE EFFECTIVE DEFAULT POSSIBLE net0 mac-address rw 0:14:4f:fa:eb:4e 0:14:4f:fa:eb:4e 0:14:4f:fa:eb:4e -- net1 mac-address rw 0:14:4f:f8:53:45 0:14:4f:f8:53:45 0:14:4f:f8:53:45 --
This procedure describes how to find the Oracle Solaris OS network interface name in ldg1 that corresponds to net-c. This example also shows differences if you are looking for the network interface name of a virtual switch instead of a virtual network device. In this example procedure, guest domain ldg1 contains two virtual network devices, net-a and net-c.
primary# ldm list -l ldg1 ... NETWORK NAME SERVICE DEVICE MAC net-a primary-vsw0@primary network@0 00:14:4f:f8:91:4f net-c primary-vsw0@primary network@2 00:14:4f:f8:dd:68 ...
The virtual network device number for net-c is 2 (network@2).
To determine the network interface name of a virtual switch, find the virtual switch device number, n, as switch@n.
ldg1# uname -n ldg1 ldg1# find /devices/virtual-devices@100 -type c -name network@2\* /devices/virtual-devices@100/channel-devices@200/network@2:vnet1
The network interface name is the part of the entry after the colon; that is, vnet1.
To determine the network interface name of a virtual switch, replace the argument to the –name option with virtual-network-switch@n\*. Then, find the network interface with the name vswN.
ldg1# dladm show-phys |grep vnet1 net2 Ethernet up 0 unknown vnet1
# dladm show-linkprop -p mac-address net2 LINK PROPERTY PERM VALUE EFFECTIVE DEFAULT POSSIBLE net2 mac-address rw 00:14:4f:f8:dd:68 00:14:4f:f8:dd:68 -- --
This example MAC address matches the output of the ldm list -l command for net-c in Step 1.
ldg1# ifconfig vnet1 vnet1: flags=1000842<BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3 inet 0.0.0.0 netmask 0 ether 0:14:4f:f8:dd:68