Updated: 2021/Dec/3


LAGG(4)                      Device Drivers 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
                  highest 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
                  priority 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
                  Aggregation Control Protocol (LACP) and the Marker Protocol.
                  LACP will nagotiate a set of aggregable links wit the peer
                  in to a Link Aggregated Group.  The LAG is composed of ports
                  of the diffrent speed, set to full-duplex operation, if
                  lagglacp multi-speed option is configured.  The function can
                  be disabled by lagglacp -multi-speed option.  Outgoing
                  traffic 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 cloing.  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 9.99                      April 2, 2020                     NetBSD 9.99