Activating a VMXNET3 nic in Oracle Solaris 10
search cancel

Activating a VMXNET3 nic in Oracle Solaris 10

book

Article ID: 303377

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

Symptoms:
  • You cannot see a network card in the Oracle Solaris 10 virtual machine that is configured with a VMXNET3 network adapter and VMware Tools installed.
  • After running the command ifconfig -a only the loopback lo0 network interface is shown.
  • After installing VMware Tools on the virtual machine, you see the error:

    Guest vmxnet fast network device: done

    The following interfaces will not be brought up automatically
    because they do not have at least one corresponding config file:
    - vmxnet3s0

    Guest operating system daemon: done


Environment

VMware ESXi 4.1.x Embedded
VMware vSphere ESXi 5.0
VMware ESX 4.1.x
VMware vSphere ESXi 6.0
VMware vSphere ESXi 5.5
VMware ESXi 4.0.x Installable
VMware ESXi 4.1.x Installable
VMware ESX 4.0.x
VMware ESXi 4.0.x Embedded
VMware vSphere ESXi 5.1

Cause

The VMXNET3 network card not showing automatically is expected behavior. Solaris does not automatically configure a new network card which has been added to the virtual machine.

Resolution

Configuring a new network card added to a virtual machine involves two steps:

  1. Configuring the network card
  2. Configuring the network information on the virtual machine

Configuring the network card

To configure the network card:

  1. Ensure that the virtual machine has been configured with a VMXNET3 network driver and that VMware Tools has already been installed successfully. For more information on installing VMware Tools, see Installing VMware Tools in a Solaris virtual machine (1023956).

  2. Confirm that the VMXNET3 driver vmxnet3s has been correctly added and loaded in the Solaris kernel. Check the system logs, to see if the driver loaded, by running this command:

    # grep -i vmxnet /var/adm/messages

    You see entries similar to:

    sol10vm vmxnet3s: [ID 413941 kern.notice] vmxnet3s:0: attach()
    sol10vm mac: [ID 469746 kern.info] NOTICE: vmxnet3s0 registered
    sol10vm pcplusmp: [ID 272826 kern.info] pcplusmp: pci15ad,7b0 (vmxnet3s) instance 0 irq 0x32 vector 0x60 ioapic 0xff intin 0xff is bound to cpu 0
    sol10vm vmxnet3s: [ID 377482 kern.notice] vmxnet3s:0: intrType=0x4, intrMaskMode=0x0, intrPrio=6


    This output shows that the network card vmxnet3s0 has been registered in Solaris.

    Note: Any additional network cards should be named sequentially. For example, the next network card should be vmxnet3s1.

  3. Confirm that the network card has been assigned a device entry in the Solaris kernel with the command:

    # ls -l /dev/vmxnet3*

    If device entries have been created, you see output similar to:

    lrwxrwxrwx 1 root root 34 Jan 24 09:28 /dev/vmxnet3s -> ../devices/pseudo/clone@0:vmxnet3s
    lrwxrwxrwx 1 root root 57 Jan 24 09:28 /dev/vmxnet3s0 -> ../devices/pci@0,0/pci15ad,7a0@15/pci15ad,7b0@0:vmxnet3s0


  4. Run this command to see what network cards are currently active:

    # ifconfig -a

    As the network card vmxnet3s0 has not been activated, you can only see the loopback interface lo0:

    lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
    inet 127.0.0.1 netmask ff000000


  5. Run this command to activate the network card vmxnet3s0:

    # ifconfig vmxnet3s0 plumb

  6. Run this command to check which network cards are configured with ifconfig:

    # ifconfig -a

    You see that both the loopback lo0 and VMXNET3 vmxnet3s0 are configured:

    lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
    inet 127.0.0.1 netmask ff000000
    vmxnet3s0: flags=1000842<BROADCAST,RUNNING,MULTICAST,IPv4> mtu 9000 index 2
    inet 0.0.0.0 netmask 0
    ether 0:c:29:7a:1b:bb


You see that a MAC/Ethernet address is assigned to the network card, but does not have an IP address or netmask configured. The network card is also not online, as the UP flag is not present.

Note: If you reboot the virtual machine, the vmxnet3s0 interface disappears again, as you have not configured any network information for it..

Note: Solaris 11 networking has "vanity naming" enabled by default (so things are named net0, net1, etc) . if you run 'dladm show-phys' you should be able to see the interface name you need to actually activate. instead of running 'ifconfig vmxnet3s0 plumb' you would instead run 'ifconfig net0 plumb' to activate the NIC.

Configuring the network information on the virtual machine

To configure the network information on the virtual machine, refer to TCP/IP Administration section in the Oracle Solaris Administration: IP Services document.

Note: The above link was correct as of January 25, 2012. If you find a link is broken, provide feedback and a VMware employee will correct the link.

Example: A configuration might look like this:

  • IP address : 192.168.0.15
  • Hostname: solaris15
  • Netmask/Subnet mask: 255.255.255.0
  • Default Router/Gateway : 192.168.0.1

To configure this information on the virtual machine:

  1. Add the hostname of the virtual machine to the /etc/nodename file, by running this command:

    # echo "solaris15" > /etc/nodename

  2. Add the hostname of the virtual machine to the network interface file /etc/hostname.vmxnet3s0, by running this command:

    # echo "solaris15" > /etc/hostname.vmxnet3s0

  3. Add the IP address and hostname to the /etc/inet/ipnodes file, by running this command:

    # echo "192.168.0.15 solaris15" >> /etc/inet/ipnodes

  4. Add the same IP address and hostname information to the /etc/inet/hosts file, by running this command:

    # echo "192.168.0.15 solaris15" >> /etc/inet/hosts

  5. Add the default router or gateway IP address to the /etc/defaultrouter file, by running this command:

    # echo "192.168.0.1" > /etc/defaultrouter

  6. Add the subnet mask for the 192.168.0.0 network to the /etc/inet/netmasks file, by running this command:

    # echo "192.168.0.0 255.255.255.0" >> /etc/inet/netmasks

  7. Restart the network services on the virtual machine, by running this command:

    # svcadm restart network/physical


Additional Information


Oracle Solaris 10 で VMXNET3 NIC を有効化する