1 .\" $NetBSD: agr.4,v 1.6 2009/06/07 23:06:48 darran Exp $
3 .\" Copyright (c)2005, 2007 YAMAMOTO Takashi,
4 .\" All rights reserved.
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
9 .\" 1. Redistributions of source code must retain the above copyright
10 .\" notice, this list of conditions and the following disclaimer.
11 .\" 2. Redistributions in binary form must reproduce the above copyright
12 .\" notice, this list of conditions and the following disclaimer in the
13 .\" documentation and/or other materials provided with the distribution.
15 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27 .\" ------------------------------------------------------------
31 .\" ------------------------------------------------------------
34 .Nd link aggregation pseudo network interface driver
35 .\" ------------------------------------------------------------
38 .\" ------------------------------------------------------------
42 driver provides link aggregation functionality (a.k.a. L2 trunking
45 It supports the IEEE 802.3ad Link Aggregation Control Protocol
46 (LACP) and the Marker Protocol.
50 driver supports the following link specific flags for
52 .Bl -tag -width -link0
54 Use the round-robin distribution algorithm.
55 Don't use it unless you're really sure,
56 because it violates the frame ordering rule.
58 Use the default distribution algorithm, which is based on the hash
59 of DA/SA, TCI, and, if available, some upper layer protocol
65 Prevents any LACP or Marker messaging which leaves
66 the ports in the default static configuration.
67 Set this prior to adding ports.
69 .\" ------------------------------------------------------------
80 (In other words, aggregate
84 so that they can be used as a single interface,
86 .Bd -literal -offset indent
88 ifconfig agr0 agrport re0
89 ifconfig agr0 agrport re1
92 Destroy an interface created in the above example.
93 .Bd -literal -offset indent
94 ifconfig agr0 -agrport re0
95 ifconfig agr0 -agrport re1
98 .\" ------------------------------------------------------------
101 .\" ------------------------------------------------------------
103 IEEE 802.3ad Aggregation of Multiple Link Segments
104 .\" ------------------------------------------------------------
108 driver first appeared in
110 .\" ------------------------------------------------------------
114 driver was written by
115 .An YAMAMOTO Takashi .
116 .\" ------------------------------------------------------------
118 There is no way to configure LACP administrative variables, including
119 system and port priorities.
120 The current implementation of the
122 driver always performs active-mode LACP and
123 uses 0x8000 as system and port priorities.
127 driver uses the MAC address of the first-added physical
128 interface as the MAC address of the
131 Thus, removing the physical interface and using it for another purpose
132 can result in non-unique MAC addresses.
134 The current implementation of the
136 driver doesn't prevent unsafe operations like some ioctls against
137 underlying physical interfaces.
138 Such operations can result in unexpected behaviors, and are strongly
141 There is no way to configure
143 interfaces without attaching physical interfaces.
145 Physical interfaces being added to the
147 interface shouldn't have any addresses except for link level address.
148 Otherwise, the attempt will fail with
150 Note that it includes an automatically assigned IPv6 link-local address.