1.\" $OpenBSD: aggr.4,v 1.2 2019/07/05 05:22:57 jmc Exp $ 2.\" 3.\" Copyright (c) 2019 David Gwynne <dlg@openbsd.org> 4.\" 5.\" Permission to use, copy, modify, and distribute this software for any 6.\" purpose with or without fee is hereby granted, provided that the above 7.\" copyright notice and this permission notice appear in all copies. 8.\" 9.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16.\" 17.Dd $Mdocdate: July 5 2019 $ 18.Dt AGGR 4 19.Os 20.Sh NAME 21.Nm aggr 22.Nd IEEE 802.1AX Link Aggregation network interface 23.Sh SYNOPSIS 24.Cd "pseudo-device aggr" 25.Sh DESCRIPTION 26The 27.Nm 28driver implements IEEE 802.1AX (formerly 802.3ad) Link Aggregation 29for combining one or more Ethernet interfaces into a single logical 30interface. 31The Link Aggregation Control Protocol (LACP) is used to negotiate the 32aggregation of member interfaces with a partner device. 33.Pp 34.Nm 35interfaces must be configured to use one or more Ethernet interfaces 36as ports, and communicate with a partner device over those 37ports using LACP. 38Member interfaces that negotiate with a partner device are 39aggregated into a single logical link. 40Packets transmitted through an 41.Nm 42interface select an aggregated interface for transmission. 43Packets received by an aggregated device appear to be received 44by the 45.Nm 46interface it is a member of. 47.Pp 48.Nm 49interfaces can be created at runtime using the 50.Ic ifconfig aggr Ns Ar N Ic create 51command or by setting up a 52.Xr hostname.if 5 53configuration file for 54.Xr netstart 8 . 55The interface itself can be configured with 56.Xr ifconfig 8 ; 57see its manual page for more information. 58.Pp 59.Nm 60interfaces may be configured with 61.Xr ifconfig 8 62and 63.Xr netstart 8 64using the following options: 65.Bl -tag -width Ds 66.It Cm lacpmode Cm active Ns | Ns Cm passive 67Set the LACP mode to either 68.Cm active 69or 70.Cm passive . 71The default is active mode. 72.It Cm lacptimeout Cm fast Ns | Ns Cm slow 73Set the LACP timeout speed to either 74.Cm fast 75or 76.Cm slow . 77The default is slow timeouts. 78.It Cm lladdr Ar etheraddr Ns | Ns Cm random 79Change the link layer address (MAC address) of the interface. 80This should be specified as six colon-separated hex values, or can 81be chosen randomly. 82By default a random MAC address is generated when an interface is created. 83.It Cm trunkport Ar child-iface 84Add 85.Ar child-iface 86as a port. 87.It Cm -trunkport Ar child-iface 88Remove the port 89.Ar child-iface . 90.El 91.\" document the ioctls? 92.Pp 93Other forms of aggregation of Ethernet interfaces are available 94using the 95.Xr trunk 4 96driver. 97.Sh EXAMPLES 98Create an 99.Nm 100virtual interface on top of two physical interfaces: 101.Bd -literal -offset indent 102# ifconfig aggr0 create 103# ifconfig aggr0 trunkport em0 104# ifconfig aggr0 trunkport em1 105# ifconfig aggr0 10.1.1.100/24 106# ifconfig aggr0 up 107.Ed 108.Sh SEE ALSO 109.Xr inet 4 , 110.Xr ip 4 , 111.Xr netintro 4 , 112.Xr trunk 4 , 113.Xr hostname.if 5 , 114.Xr ifconfig 8 , 115.Xr netstart 8 116.Sh STANDARDS 117.Rs 118.%T IEEE 802.1AX Link Aggregation 119.Re 120.Sh HISTORY 121The 122.Nm 123driver first appeared in 124.Ox 6.6 . 125