AGR(4)                  NetBSD Kernel Interfaces Manual                 AGR(4)

     agr -- link aggregation pseudo network interface driver

     pseudo-device agr

     The agr driver provides link aggregation functionality (a.k.a. L2 trunk-
     ing or bonding).

     It supports the IEEE 802.3ad Link Aggregation Control Protocol (LACP) and
     the Marker Protocol.

     The agr driver supports the following link specific flags for

     link0   Use the round-robin distribution algorithm.  Don't use it unless
             you're really sure, because it violates the frame ordering rule.

     -link0  Use the default distribution algorithm, which is based on the
             hash of DA/SA, TCI, and, if available, some upper layer protocol
             information like ip(4) DA/SA.

     link1   Disable LACP.  Prevents any LACP or Marker messaging which leaves
             the ports in the default static configuration.  Set this prior to
             adding ports.

     Create an agr interface, agr0, and attach re0 and re1 to it.  In other
     words, aggregate re0 and re1 so that they can be used as a single inter-
     face, agr0.  The physical interfaces which are attached to the agr inter-
     face must not have any IP addresses, neither IPv4 nor IPv6.

                   ifconfig re0 inet delete
                   ifconfig re0 inet6 fe80::xxxx:xxxx:xxxx:xxxx delete
                   ifconfig re1 inet delete
                   ifconfig re1 inet6 fe80::xxxx:xxxx:xxxx:xxxx delete

                   ifconfig agr0 create
                   ifconfig agr0 agrport re0
                   ifconfig agr0 agrport re1

     Destroy an interface created in the above example.

                   ifconfig agr0 -agrport re0
                   ifconfig agr0 -agrport re1
                   ifconfig agr0 destroy


     IEEE 802.3ad Aggregation of Multiple Link Segments

     The agr driver first appeared in NetBSD 4.0.

     The agr driver was written by YAMAMOTO Takashi.

     There is no way to configure LACP administrative variables, including
     system and port priorities.  The current implementation of the agr driver
     always performs active-mode LACP and uses 0x8000 as system and port pri-

     The agr driver uses the MAC address of the first-added physical interface
     as the MAC address of the agr interface itself.  Thus, removing the phys-
     ical interface and using it for another purpose can result in non-unique
     MAC addresses.

     The current implementation of the agr driver doesn't prevent unsafe oper-
     ations like some ioctls against underlying physical interfaces.  Such
     operations can result in unexpected behaviors, and are strongly discour-

     There is no way to configure agr interfaces without attaching physical

     Physical interfaces being added to the agr interface shouldn't have any
     addresses except for link level address.  Otherwise, the attempt will
     fail with EBUSY.  Note that it includes an automatically assigned IPv6
     link-local address.

NetBSD 7.0                     February 23, 2010                    NetBSD 7.0

You can also request any man page by name and (optionally) by section:


Use the DEFAULT collection to view manual pages for third-party software.

©1994 Man-cgi 1.15, Panagiotis Christias
©1996-2019 Modified for NetBSD by Kimmo Suominen