lagg(4)
- NetBSD Manual Pages
LAGG(4) NetBSD Kernel Interfaces Manual LAGG(4)
NAME
lagg -- link aggregation and link failover interface
SYNOPSIS
pseudo-device lagg
DESCRIPTION
The lagg interface allows aggregation of multiple network interfaces as
one virtual lagg interface for the purpose of providing fault-tolerance
and high-speed links.
A lagg interface can be created using the ifconfig laggN create command.
It can use different link aggregation protocols specified using the
laggproto proto option. Child interfaces can be added using the laggport
child-iface option and removed using the -laggport child-iface option. A
priority of each child interface can be configured using the laggport
child-iface pri N or laggportpri child-iface N option. The interface
preferentially uses the child interface that is the smallest numeric in
the priority.
The driver currently supports the aggregation protocols failover,
loadbalance, lacp, and none (the default). The protocols determine which
ports are used for outgoing traffic and whether a specific port accepts
incoming traffic. The interface link state is used to validate if the
port is active or not.
failover Sends traffic only through the active port that is the high-
est priority. When the same priority is configured, The
first interface added is used for sending traffic. If the
link-state of the sending port becomes down, The next prior-
ity port is used.
Received traffic is accepted through all active port if
laggfailover rx-all option is enabled. The option is
enabled by default, and it can be disabled by laggfailover
-rx-all option. If the option is disabled, received traffic
is only accepted through the sending port.
loadbalance Balances outgoing traffic across the active ports based on
hashed protocol header information and accepts incoming
traffic from any active port. This is a static setup and
does not negotiate aggregation with the peer or exchange
frames to monitor the link. The hash includes the Ethernet
source and destination address, and, if available, the VLAN
tag, and the IP source and destination address.
lacp Supports the IEEE 802.1AX (formerly 802.3ad) Link Aggrega-
tion Control Protocol (LACP) and the Marker Protocol. LACP
will negotiate a set of aggregable links wit the peer in to
a Link Aggregated Group. The LAG is composed of ports of
the different speed, set to full-duplex operation, if
lagglacp multi-speed option is configured. The function can
be disabled by lagglacp -multi-speed option. Outgoing traf-
fic across the distributing ports based on hashed protocol
header information and accepts incoming traffic from any
collecting port. The maximum number of active ports in a
LAG can be configured by lagglacp maxports N option.
none This protocol is intended to do nothing: it disables any
traffic without disabling the lagg interface itself.
Each lagg interface is created at runtime using interface cloning. This
is most easily done with the ifconfig(8) create command.
The MTU of the first interface to be added is used as the lagg MTU. All
additional interfaces are required to have exactly the same value.
EXAMPLES
Create a link aggregation using LACP with two wm(4) Gigabit Ethernet
interfaces:
# ifconfig wm0 up
# ifconfig wm1 up
# ifconfig lagg0 create
# ifconfig lagg0 laggproto lacp laggport wm0 laggport wm1 \
192.168.1.1 netmask 255.255.255.0
Create a link aggregation using FAILOVER with two wm(4) Gigabit Ethernet
interfaces and set each priority:
# ifconfig wm0 up
# ifconfig wm1 up
# ifconfig lagg0 create
# ifconfig lagg0 laggproto failover \
laggport wm0 pri 1000 laggport wm1 pri 2000 \
192.168.1.1 netmask 255.255.255.0
SEE ALSO
ifconfig(8)
HISTORY
The lagg device first appeared in NetBSD 10.0.
AUTHORS
The lagg driver was written under the name trunk by Reyk Floeter
<reyk@openbsd.org>.
BUGS
There is no way to configure LACP administrative variables, including
system priority. The current implementation always performs active-mode
LACP and uses 0x8000 as system priority.
NetBSD 10.99 April 2, 2020 NetBSD 10.99
Powered by man-cgi (2021-06-01).
Maintained for NetBSD
by Kimmo Suominen.
Based on man-cgi by Panagiotis Christias.