Administering Individual Network Interfaces
After Solaris installation, you might configure or administer interfaces on a system for
the following purposes:
This section contains information about configuring individual network interfaces. Refer to the following sections
for information about configuring interfaces into one of the following groupings:
How to Obtain Interface Status
This procedure explains how to determine which interfaces are currently available on a
system and their status. This procedure also shows which interfaces are currently plumbed.
- On the system with the interfaces to be configured, assume the Primary Administrator
role or become superuser.
The Primary Administrator role includes the Primary Administrator profile. To create the role
and assign the role to a user, see Chapter 2, Working With the Solaris Management Console (Tasks), in System Administration Guide: Basic Administration.
- Determine which interfaces are currently installed on your system.
# dladm show-link
This step uses the dladm command, which is explained in detail in the
dladm(1M) man page. This command reports on all the interface drivers that it
finds, regardless of whether the interfaces are currently configured.
- Determine which interfaces on the system are currently plumbed.
# ifconfig -a
The ifconfig command has many additional functions, including plumbing an interface. For more
information, refer to the ifconfig(1M) man page.
Example 6-1 Obtaining the Status of an Interface with the
dladm command
The next example shows the status display of the dladm command.
# dladm show-link
ce0 type: legacy mtu: 1500 device: ce0
ce1 type: legacy mtu: 1500 device: ce1
bge0 type: non-vlan mtu: 1500 device: bge0
bge1 type: non-vlan mtu: 1500 device: bge1
bge2 type: non-vlan mtu: 1500 device: bge2
The output of dladm show-link indicates that four interface drivers are available for the
local host. Both the ce and the bge interfaces can be configured for
VLANs. However, only the GLDV3 interfaces with a type of non-VLAN can be used
for link aggregations.
The next example shows the status display of the ifconfig -a command.
# ifconfig -a
lo0: flags=2001000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
ce0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
inet 192.168.84.253 netmask ffffff00 broadcast 192.168.84.255
ether 0:3:ba:7:84:5e
bge0: flags=1004843 <UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4> mtu 1500 index 2
inet 10.8.57.39 netmask ffffff00 broadcast 10.8.57.255
ether 0:3:ba:29:fc:cc
The output of the ifconfig -a command displays statistics for only two interfaces, ce0
and bge0. This output shows that only ce0 and bge0 have been plumbed and
are ready for use by network traffic. These interfaces can be used in
a VLAN. Because bge0 has been plumbed, you can no longer use this
interface in an aggregation.
How to Configure a Physical Interface After System Installation
Use the next procedure for configuring interfaces.
Before You Begin
Determine the IPv4 addresses that you want to use for the additional interfaces.
Ensure that the physical interface to be configured has been physically installed onto the system. For information about installing separately purchased NIC hardware, refer to the manufacturer's instructions that accompany the NIC.
If you have just installed the interface, perform a reconfiguration boot before proceeding with the next task.
- On the system with the interfaces to be configured, assume the Primary Administrator
role or become superuser.
The Primary Administrator role includes the Primary Administrator profile. To create the role
and assign the role to a user, see Chapter 2, Working With the Solaris Management Console (Tasks), in System Administration Guide: Basic Administration.
- Determine which interfaces are currently installed on the system.
# dladm show-link
- Configure and plumb each interface.
# ifconfig interface plumb up
For example, for qfe0 you would type:
# ifconfig qfe0 plumb up
Note - Interfaces that are explicitly configured with the ifconfig command do not persist across
a reboot.
- Assign an IPv4 address and netmask to the interface.
# ifconfig interface IPv4-address netmask+netmask
For example, for qfe0 you would type:
# ifconfig qfe0 192.168.84.3 netmask + 255.255.255.0
Note - You can specify an IPv4 address in either traditional IPv4 notation or CIDR
notation.
- Verify that the newly configured interfaces are plumbed and configured, or “UP.”
# ifconfig -a
Check the status line for each interface that is displayed. Ensure that the
output contains an UP flag on the status line, for example:
qfe0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
- (Optional) To make the interface configuration persist across reboots, perform the following steps:
- Create an /etc/hostname.interface file for each interface to be configured.
For example, to add a qfe0 interface, you would create the following file:
# vi /etc/hostname.qfe0
- Edit the /etc/hostname.interface file.
At a minimum, add the IPv4 address of the interface to the
file. You can use traditional IPv4 notation or CIDR notation to specify the
IP address of the interface. You can also add a netmask and other
configuration information to the file.
Note - To add an IPv6 address to an interface, refer to Modifying an IPv6 Interface Configuration for Hosts and Servers
- Add entries for the new interfaces into the /etc/inet/hosts file.
- Perform a reconfiguration boot.
# reboot -- -r
- Verify that the interface you created in the /etc/hostname.interface file has been
configured.
# ifconfig -a
For examples, refer to Example 6-2.
Example 6-2 Adding Persistent Interface Configurations
The example shows how to configure the interfaces qfe0 and qfe1 to
a host. These interfaces remain persistent across reboots.
# dladm show-link
eri0 type: legacy mtu: 1500 device: eri0
qfe0 type: legacy mtu: 1500 device: qfe0
qfe1 type: legacy mtu: 1500 device: qfe1
qfe2 type: legacy mtu: 1500 device: qfe2
qfe3 type: legacy mtu: 1500 device: qfe3
bge0 type: non-vlan mtu: 1500 device: bge0
# vi /etc/hostname.qfe0
192.168.84.3 netmask + 255.255.255.0
# vi /etc/hostname.qfe1 192.168.84.72 netmask + 255.255.255.0
# vi /etc/inet/hosts
# Internet host table
#
127.0.0.1 localhost
10.0.0.14 myhost
192.168.84.3 interface-2 192.168.84.72 interface-3
At this point, you would reboot the system.
# reboot -- -r
After the system boots, you would then verify the interface configuration.
ifconfig -a
# ifconfig -a
lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
eri0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 10.0.0.14 netmask ff000000 broadcast 10.255.255.255
ether 8:0:20:c1:8b:c3
qfe0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
inet 192.168.84.3 netmask ffffff00 broadcast 192.255.255.255
ether 8:0:20:c8:f4:1d
qfe1: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 4
inet 192.168.84.72 netmask ffffff00 broadcast 10.255.255.255
ether 8:0:20:c8:f4:1e
See Also
How to Remove a Physical Interface
Use this procedure for removing a physical interface.
- On the system with the interface to be removed, assume the Primary Administrator
role or become superuser.
The Primary Administrator role includes the Primary Administrator profile. To create the role
and assign the role to a user, see Chapter 2, Working With the Solaris Management Console (Tasks), in System Administration Guide: Basic Administration.
- Remove the physical interface.
# ifconfig interface unplumb down
For example, to remove the interface qfe1, you would type:
# ifconfig qfe1 unplumb down
SPARC: How to Ensure That the MAC Address of an Interface Is Unique
Use this procedure for configuring MAC addresses.
Some applications require every interface on a host to have a unique MAC
addresses. However, every SPARC based system has a system-wide MAC address, which by
default is used by all interfaces. Here are two situations where you might
want to configure the factory-installed MAC addresses for the interfaces on a SPARC
system.
For link aggregations, you should use the factory-set MAC addresses of the interfaces in the aggregation configuration.
For IPMP groups, each interface in the group must have a unique MAC address. These interfaces must use their factory-installed MAC addresses.
The EEPROM parameter local-mac-address? determines whether all interfaces on a SPARC system use
the system-wide MAC address or their unique MAC address. The next procedure shows
how to use the eeprom command to check the current value of
local-mac-address? and change it, if necessary.
- On the system with the interfaces to be configured, assume the Primary Administrator
role or become superuser.
The Primary Administrator role includes the Primary Administrator profile. To create the role
and assign the role to a user, see Chapter 2, Working With the Solaris Management Console (Tasks), in System Administration Guide: Basic Administration.
- Determine whether all interfaces on the system currently use the system-wide MAC address.
# eeprom local-mac-address?
local-mac-address?=false
In the example, the response to the eeprom command, local-mac-address?=false, indicates that
all interfaces do use the system-wide MAC address. The value of local-mac-address?=false must
be changed to local-mac-address?=true before the interfaces can become members of an IPMP
group. You should also change local-mac-address?=false to local-mac-address?=true for aggregations.
- If necessary, change the value of local-mac-address? as follows:
# eeprom local-mac-address?=true
When you reboot the system, the interfaces with factory-installed MAC addresses now use
these factory settings, rather than the system-wide MAC address. Interfaces without factory-set MAC
addresses continue to use the system-wide MAC address.
- Check the MAC addresses of all the interfaces on the system.
Look for cases where multiple interfaces have the same MAC address. In this
example, all interfaces use the system-wide MAC address 8:0:20:0:0:1.
ifconfig -a
lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
hme0: flags=1004843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 10.0.0.112 netmask ffffff80 broadcast 10.0.0.127
ether 8:0:20:0:0:1
ce0: flags=1004843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 10.0.0.114 netmask ffffff80 broadcast 10.0.0.127
ether 8:0:20:0:0:1
ce1: flags=1004843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 10.0.0.118 netmask ffffff80 broadcast 10.0.0.127
ether 8:0:20:0:0:1
Note - Continue to the next step only if more than one network interface still
has the same MAC address. Otherwise, go on to the final step.
- If necessary, manually configure the remaining interfaces so that all interfaces have unique
MAC address.
Specify a unique MAC address in the /etc/hostname.interface file for the particular interface.
# vi /etc/hostname.eri0
myhost
12:34:56:7:8:9
Note - To prevent any risk of manually configured MAC addresses conflicting with other MAC
addresses on your network, you must always configure locally administered MAC addresses, as
defined by the IEEE 802.3 standard.
In the example in Step 4, you would need to configure ce0
and ce1 with locally administered MAC addresses. For example, to
reconfigure ce1 with the locally administered MAC address 06:05:04:03:02, you would add
the following line to /etc/hostname.ce1:
ether 06:05:04:03:02
You also can use the ifconfig ether command to configure an interface's MAC address
for the current session. However, any changes made directly with ifconfig are not
preserved across reboots. Refer to the ifconfig(1M) man page for details.
- Reboot the system.