man vif
na_vif(1) na_vif(1)
NAME
na_vif - manage virtual network interface configuration
SYNOPSIS
vif create [ single | multi ] vif_name [ -b {rr|mac|ip} ]
[ interface_list ]
vif destroy vif_name
vif delete vif_name interface_name
vif add vif_name interface_list
vif { favor | nofavor } interface
vif status [ vif_name ]
vif stat vif_name [ interval ]
In the vif commands, vif_name stands for the name of a
--Press <space> or <enter> to continue, 'q' to quit--
virtual interface. The name must be a string that is no
longer than 15 characters and meets the following crite-
ria:
- It begins with a letter.
- It does not contain a space.
- It is not in use for another virtual interface.
Virtual interface names are case-sensitive.
DESCRIPTION
A virtual network interface is a mechanism that supports
aggregation of network interfaces ("links") into one logi-
cal interface unit ("trunk").
Once created, a vif is indistinguishable from a physical
network interface. You can inspect and modify statistical
and configuration information using the ifconfig and net-
stat commands, among others.
--Press <space> or <enter> to continue, 'q' to quit--
You can create a vif in one of two modes: multi or single.
Multi-mode vifs are compliant with IEEE 802.3ad (static
configuration).In multi-mode, all links are simultaneously
active. This mode is only useful if all the links are
connected to a switch that supports trunking/aggregation
over multiple port connections. The switch must be con-
figured to understand that all the port connections share
a common media access control (MAC) address and are part
of a single logical interface. The switch is responsible
for determining how to forward incoming packets to the
filer. The filer supports load balancing on the outgoing
network traffic over a multi-mode vif. The user can choose
from any of the following three methods:
- IP based . The outgoing interface is selected on
the basis of the filer and client's IP address
- MAC based . The outgoing interface is selected on
the basis of the filer and client's MAC address
- Round-Robin . All the interfaces are selected on a
--Press <space> or <enter> to continue, 'q' to quit--
round-robin basis.
Load Balancing is supported only on multi-mode vifs. Since
the Round-Robin based load balancing policy may lead to
out-of-order of packets, it should be used carefully.
In single-mode, only one of the links is active at a time.
No configuration is neccessary on the switch. If Data
ONTAP detects a fault in the active link, an standby link
of the vif, if available, is activated. Note that load
balancing is not supported on single-mode vifs.
Network interfaces belonging to a vif do not have to be on
the same network card. With the vif command, you can also
create second-level vifs. For example, a subnetwork has
two switches that are capable of trunking over multiple
port connections. The filer has a two-link multi-mode vif
to one switch and a two-link multi-mode vif to the second
switch. You can create a second-level single-mode vif
that contains both of the multi-mode vifs. When you con-
figure the second-level vif using the ifconfig command,
only one of the two multi-mode vif is brought up as the
--Press <space> or <enter> to continue, 'q' to quit--
active link. If all the underlying interfaces in the
active vif fail, the second-level vif activates it's
standby vif.
You can destroy a virtual interface only if you have con-
figured it down using the ifconfig command.
OPTIONS
create Creates a new instance of a virtual interface.
If no mode is specified, the virtual interface
is created in multi mode. If a list of inter-
faces is provided, the interfaces are config-
ured and added to the virtual interface trunk.
Load balancing is specified with the -b
option.
- rr refers to Round-robin Load balancing.
- ip refers to IP-based load balancing. The
IP based load balancing is used as default for
multi-mode vifs if none is specified by user.
--Press <space> or <enter> to continue, 'q' to quit--
- mac refers to MAC-based load balancing.
destroy Destroys a previously created virtual inter-
face. The interface must be configured down
prior to invoking this option.
delete Deletes the specified interface from a previ-
ously created virtual interface. The virtual
interface must be configured down prior to
invoking this option.
add Adds a list of interfaces to an existing vir-
tual interface trunk. Each interface corre-
sponds to a single link in the trunk.
favor designates the specified interface as active
in a single-mode vif. When a single-mode vif
is created, an interface is randomly selected
to be the active interface. Use the favor com-
mand to override the random selection.
nofavor If the specified interface is part of a sin-
--Press <space> or <enter> to continue, 'q' to quit--
gle-mode vif, this command ensures that the
link corresponding to this interface is not
preferred when determining which link to acti-
vate.
status Displays the status of the specified virtual
interface. If no interface is specified, dis-
plays the status of all virtual interfaces.
stat Displays the number of packets received and
transmitted on each link that makes up the
virtual interface. You can specify the time
interval, in seconds, at which the statistics
are displayed. By default, the statistics are
displayed at a two-second interval.
FAULT DETECTION
The vif driver constantly checks each virtual interface
and each link for status. Links issue two types of indi-
cations:
up The link is receiving active status from its
--Press <space> or <enter> to continue, 'q' to quit--
media access unit.
broken The link is not receiving active status from
its media access unit.
In the case of a link that is itself a vif interface, the
media access unit refers to the collection of media access
units of the underlying physical network interfaces. If
any of the underlying media access units issues an up
indication, the vif issues an up indication to the next
higher level vif on its behalf. If all underlying physi-
cal network interfaces issue broken indications, the vif
issues broken indication to the next level vif.
If all the links in a vif are broken, the vif issues a
system log message similar to this:
Fri Oct 16 15:09:29 PDT [toaster: pvif_monitor]:
vif0: all links are down
If all links on a vif are broken and a link subsequently
comes back up, the vif issues a system log message similar
--Press <space> or <enter> to continue, 'q' to quit--
to this:
Fri Oct 16 15:09:42 PDT [toaster: pvif_monitor]:
vif0: switching to e3a
EXAMPLES
The following command creates a multi-mode vif vif0, with
ip based load balancing, consisting of two links, e10 and
e5:
vif create multi vif0 -b ip e3a e3b
The status option prints out results in the following
form. Here is an example of the output for vif0:
vif status
default: transmit 'IP Load balancing', VIF Type 'multi_mode', fail 'log'
vif0: 2 links, transmit 'none', VIF Type 'multi-mode' fail 'default'
VIF Status Up Addr_set
up:
e10: state up, since 05Oct2001 17:17:15 (05:23:05)
--Press <space> or <enter> to continue, 'q' to quit--
mediatype: auto-1000t-fd-up
flags: enabled
input packets 2000, input bytes 12800
output packets 173, output bytes 1345
up indications 1, broken indications 0
drops (if) 0, drops (link) 0
indication: up at boot
consecutive 3, transitions 1
broken:
e5: state broken, since 05Oct2001 17:18:03 (00:10:03)
mediatype: auto-1000t-fd-down
flags: enabled
input packets 134, input bytes 987
output packets 20, output bytes 156
up indications 1, broken indications 1
drops (if) 0, drops (link) 0
indication: broken
consecutive 4, transitions 1
In this example, one of the vif0 links are is in the
active (up) state. The second interface e5 is broken on
detection of a link failure. vif0 is configured to trans-
--Press <space> or <enter> to continue, 'q' to quit--
mit over multiple links and its failure behavior is the
default (send errors to the system log). Links are in one
of three states:
up The link is active and is sending and receiv-
ing data (up).
down The link is inactive but is believed to be
operational (down).
broken The link is inactive and is believed to be
nonoperational ("broken").
In this example, the active link has been in the up state
for 5 hours, 23 minutes, 5 seconds. The inactive link has
been inactive for the last 10 minutes. Both links are
enabled (flags: enabled), meaning that they are configured
to send and receive data. During takeover, links can also
be set to match the MAC address of the partner. The flags
field is also used to indicate whether a link has been
marked as favored.
--Press <space> or <enter> to continue, 'q' to quit--
Links constantly issue either up or broken indications
based on their interaction with the switch. The consecu-
tive count indicates the number of consecutively received
indications with the same value (in this example, up).
The transitions count indicates how many times the indica-
tion has gone from up to down or from down to up.
If vif0 is a link in a second-layer vif (for example, vif
create vif2 vif0), an additional line is added to its sta-
tus information:
trunked: vif2
The following example displays statistics about multi-mode
vif vif0:
vif stat vif0
Virtual interface (trunk) vif0
e10 e5
In Out In Out
8637076 47801540 158 159
1617 9588 0 0
--Press <space> or <enter> to continue, 'q' to quit--
1009 5928 0 0
1269 7506 0 0
1293 7632 0 0
920 5388 0 0
1098 6462 0 0
2212 13176 0 0
1315 7776 0 0
CLUSTER CONSIDERATIONS
A virtual interface behaves almost identically to a physi-
cal network interface in the cluster. For the takeover of
a partner to work properly, three things are required:
1. The local node must specify, using the partner option
of the ifconfig command, the mapping of the partner's vir-
tual interface. For example, to map the partner's vif2
interface to the local vif1 interface, the following com-
mand is required:
ifconfig vif1 partner vif2
Note that the interface must be named, not the address.
--Press <space> or <enter> to continue, 'q' to quit--
The mapping must be at the top-level trunk, if trunks are
nested. You do not map link-by-link.
2. After takeover, the partner must "create" its virtual
interface. Typically, this takes place in the /etc/rc
file. For example:
vif create vif2 e3a e3b
When executed in takeover mode, the local node does not
actually create a vif2 virtual interface. Instead, it
looks up the mapping (in this example partner vif2 to
local vif1) and initializes its internal data structures.
The interface list (in this example, e3a and e3b) is
ignored because the local node can have different mappings
of devices for its vif1 trunk.
3. After the partner virtual interface has been initial-
ized, it must be configured. For example:
ifconfig vif2 `hostname`-vif2
--Press <space> or <enter> to continue, 'q' to quit--
Only the create, stat, and status options are enabled in
partner mode. The create option does not create new vif
in partner mode. Instead, it initializes internal data
structures to point at the mapped local vif interface.
The status and stat options reference the mapped vif .
However, all links are printed using the local device
names.
When using multi vifs with clusters, connecting the vifs
into a single switch constitutes a single point of fail-
ure. By adding a second switch and setting up two multi-
mode vifs on each node in the cluster so that the multi-
mode vifs on each node are connected to separate switches
the vifs will continue to operate in the face of single
switch failure. The following /etc/rc file sequence
illustrates this approach:
# configuration for node 1
# first level multi vif:
# attach e4a and e4b to Switch 1
vif create multi vif0 e4a e4b
--Press <space> or <enter> to continue, 'q' to quit--
# first level multi vif:
# attach e4c and e4d to Switch 2
vif create multi vif1 e4c e4d
# second level single vif consisting of both
# first level vifs; only one active at a time
vif create single vif10 vif0 vif1
# use vif0 unless it is unavailable
vif favor vif0
# configure the vif with an interface and partner
ifconfig vif10 `hostname-vif10` partner vif10
The partner node is configured similarly; the favored
first level interface in this case is the vif connected to
"Switch 2".
NOTES
IEEE 802.3ad requires the speed of all underlying inter-
faces to be the same and in full-duplex mode. Additionally
--Press <space> or <enter> to continue, 'q' to quit--
most switches do not support mixing 10/100 and GbE inter-
faces in a aggregate/trunk. Check the documentation that
comes with your Ethernet switch or router on how to con-
figure the Ethernet interfaces to be full-duplex. (Hint:
Allow both ends of a link to auto-negotiate.)
LIMITATIONS
Though vifs interfaces can support upto sixteen links, the
number of interfaces in an aggregate is limited by the
switch.
The fault detection mechanism does not detect whether the
switch is connected to the network. A better link fault
detection mechanism is prescribed in IEEE 802.3ad (
Dynamic ), but most of the switches do not support this as
yet. Link status is the only mechanism used to determine
whether a link is up or broken.
SEE ALSO
na_ifconfig(1), na_netstat(1), na_sysconfig(1)
10 February 2004 na_vif(1)
--Press <space> or <enter> to continue, 'q' to quit--