lost and found ( for me ? )

Showing posts with label solaris 10. Show all posts
Showing posts with label solaris 10. Show all posts

Solaris 10 : how to assign IPv4 and IPv6 addresses temporally with ifconfig

small tips

bash-3.2# uname –a
SunOS unknown 5.10 Generic_147441-01 i86pc i386 i86pc


[ IPv4 ]

e1000g1 is an interface name.
# ifconfig e1000g1 plumb up
# ifconfig e1000g1 192.168.0.1/24 up


[ IPv6 ]

e1000g1 is an interface name.
An IPv6 address seems to be added to an alias interface ( in this case , e1000g1:1 )
# ifconfig e1000g1 inet6 plumb up
# ifconfig e1000g1 inet6 addif aaaa::bbbb/64 up
Created new logical interface e1000g1:1

# ifconfig -a
e1000g1:1: flags=2000841<UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 3
       inet6 aaaa::bbbb/64

How to have Solaris 10 x86 VM running within ESXi recognize vNICs

I’ve installed Solaris 10 on ESXi as a virtual machine.
# uname –a
SunOS unknown 5.10 Generic_147441-01 i86pc i386 i86pc

After finishing the installation , I added two additional vNICs to the VM.
However Solaris VM does not seem to recognize vNICs I added to the VM.

The VM has totally three vNICs ( driver is e1000 )
e1000g0 is the vNIC I added when installing Solaris.
# ifconfig  e1000g0
e1000g0: flags=1004843<UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4> mtu 1500 index 2
       inet 192.168.11.215 netmask ffffff00 broadcast 192.168.11.255
       ether aa:aa

There are no two vNICs I added to the VM after the installation
bash-3.2# ifconfig  e1000g1
ifconfig: status: SIOCGLIFFLAGS: e1000g1: no such interface
bash-3.2# ifconfig  e1000g2
ifconfig: status: SIOCGLIFFLAGS: e1000g2: no such interface

dmesg
bash-3.2# dmesg | grep e1000g | grep register
Dec 26 22:37:06 unknown mac: [ID 469746 kern.info] NOTICE: e1000g0 registered
Dec 26 22:37:37 unknown mac: [ID 469746 kern.info] NOTICE: e1000g1 registered
Dec 26 22:37:37 unknown mac: [ID 469746 kern.info] NOTICE: e1000g2 registered
Dec 26 22:37:59 unknown mac: [ID 736570 kern.info] NOTICE: e1000g1 unregistered
Dec 26 22:37:59 unknown mac: [ID 736570 kern.info] NOTICE: e1000g2 unregistered

check “/etc/path_to_inst” file
bash-3.2# egrep e1000 /etc/path_to_inst
"/pci@0,0/pci15ad,790@11/pci15ad,750@0" 0 "e1000g"
"/pci@0,0/pci15ad,790@11/pci15ad,750@2" 1 "e1000g"
"/pci@0,0/pci15ad,790@11/pci15ad,750@3" 2 "e1000g"

Seen from the logs , the VM seems to recognize vNICs at the hardware level.

enable e1000g1 and e1000g2 with ifconfig.
bash-3.2# ifconfig e1000g1 plumb
bash-3.2# ifconfig e1000g2 plumb

The VM has recognized all vNICs
bash-3.2# ifconfig e1000g1
e1000g1: flags=1000842<BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
       inet 0.0.0.0 netmask 0
       ether zz:zz

bash-3.2# ifconfig e1000g2
e1000g2: flags=1000842<BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 4
       inet 0.0.0.0 netmask 0
       ether zz:zz


Seen from the man of “ifconfig” , it describes :
    plumb

        Open the device associated with the  physical  interface
        name  and  set  up  the streams needed for IP to use the
        device. When used with a logical  interface  name,  this
        command  is  used  to  create  a  specific named logical
        interface. An interface must be separately  plumbed  for
        use  by IPv4 and IPv6. The address_family parameter con-
        trols whether the ifconfig command applies  to  IPv4  or
        IPv6.

        Before an interface has been plumbed, the interface will
        not show up in the output of the ifconfig -a command.