AGR(4)
π AGR(4) β link aggregation pseudo network interface driver
okay so this page comes from the Kernel Interfaces Manual, and itβs about agr, the link aggregation pseudo network interface driver. Heads up bestie: this one is obsolete and is gonna get removed from a future version of the system. lagg(4) should be used instead, fr fr. β¨
πΈ NAME πΈ
agr β link aggregation pseudo network interface driver. Thatβs the name, thatβs the game. π
π SYNOPSIS π
pseudo-device agr
π¦ DESCRIPTION π¦
So the driver described in this manual page is obsolete and will be removed from a future version of the system.
lagg(4) should be used instead, bestie. No cap.
The agr driver provides link aggregation functionality (a.k.a. L2 trunking or bonding).
It supports the IEEE 802.3ad Link Aggregation Control Protocol (LACP) and the Marker Protocol. Iconic protocol behavior, honestly. π
The agr driver supports the following link specific flags for ifconfig(8):
link0β use the round-robin distribution algorithm. Donβt use it unless youβre really sure, because it violates the frame ordering rule. Like, really really sure. π-link0β use the default distribution algorithm, which is based on the hash of DA/SA, TCI, and, if available, some upper layer protocol information likeip(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. π«Ά
π EXAMPLES π
Okay imagine you wanna 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 interface, agr0. Slay. But first: the physical interfaces which are attached to the agr interface must not have any IP addresses, neither IPv4 nor IPv6. Not even one. π
ifconfig re0 inet xxx.xxx.xxx.xxx delete
ifconfig re0 inet6 fe80::xxxx:xxxx:xxxx:xxxx delete
ifconfig re1 inet xxx.xxx.xxx.xxx delete
ifconfig re1 inet6 fe80::xxxx:xxxx:xxxx:xxxx delete
ifconfig agr0 create
ifconfig agr0 agrport re0
ifconfig agr0 agrport re1
Then destroy an interface created in the above example:
ifconfig agr0 -agrport re0
ifconfig agr0 -agrport re1
ifconfig agr0 destroy
π₯ SEE ALSO π₯
β STANDARDS β
IEEE 802.3ad Aggregation of Multiple Link Segments.
π°οΈ HISTORY π°οΈ
The agr driver first appeared in NetBSD 4.0 and was obsoleted in NetBSD 10.0.
The agr driver will be removed from NetBSD 11.0.
π AUTHORS π
The agr driver was written by YAMAMOTO Takashi. Respect the icon who wrote it. π«Ά
π BUGS π
- There is no way to configure LACP administrative variables, including system and port priorities. The current implementation of the
agrdriver always performs active-mode LACP and uses0x8000as system and port priorities. No knobs, no dials, just vibes. - The
agrdriver uses the MAC address of the first-added physical interface as the MAC address of theagrinterface itself. Thus, removing the physical interface and using it for another purpose can result in non-unique MAC addresses. π - The current implementation of the
agrdriver doesnβt prevent unsafe operations like someioctlsagainst underlying physical interfaces. Such operations can result in unexpected behaviors, and are strongly discouraged. Do not do this, bestie. - There is no way to configure
agrinterfaces without attaching physical interfaces. - Physical interfaces being added to the
agrinterface shouldnβt have any addresses except for link level address. Otherwise, the attempt will fail withEBUSY. Note that it includes an automatically assigned IPv6 link-local address. π«
xoxo, Debian π β February 23, 2010 β AGR(4) β¨
π¦ where this page comes from
- nixpkgs unstable: netbsd-source 11.0
- Copyright (c)2005, 2007 YAMAMOTO Takashi
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms