summaryrefslogtreecommitdiff
path: root/static/freebsd/man4/lagg.4 3.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man4/lagg.4 3.html')
-rw-r--r--static/freebsd/man4/lagg.4 3.html198
1 files changed, 0 insertions, 198 deletions
diff --git a/static/freebsd/man4/lagg.4 3.html b/static/freebsd/man4/lagg.4 3.html
deleted file mode 100644
index 65363587..00000000
--- a/static/freebsd/man4/lagg.4 3.html
+++ /dev/null
@@ -1,198 +0,0 @@
-<table class="head">
- <tr>
- <td class="head-ltitle">LAGG(4)</td>
- <td class="head-vol">Device Drivers Manual</td>
- <td class="head-rtitle">LAGG(4)</td>
- </tr>
-</table>
-<div class="manual-text">
-<section class="Sh">
-<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
-<p class="Pp"><code class="Nm">lagg</code> &#x2014; <span class="Nd">link
- aggregation and link failover interface</span></p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
-<p class="Pp">To compile this driver into the kernel, place the following line
- in your kernel configuration file:</p>
-<div class="Bd Pp Bd-indent"><code class="Cd">device lagg</code></div>
-<p class="Pp">Alternatively, to load the driver as a module at boot time, place
- the following line in <a class="Xr">loader.conf(5)</a>:</p>
-<div class="Bd Pp Bd-indent Li">
-<pre>if_lagg_load=&quot;YES&quot;</pre>
-</div>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
-<p class="Pp">The <code class="Nm">lagg</code> interface allows aggregation of
- multiple network interfaces as one virtual <code class="Nm">lagg</code>
- interface for the purpose of providing fault-tolerance and high-speed
- links.</p>
-<p class="Pp">Each <code class="Nm">lagg</code> interface is created at runtime
- using interface cloning. This is most easily done with the
- <a class="Xr">ifconfig(8)</a> <code class="Cm">create</code> command or
- using the <var class="Va">cloned_interfaces</var> variable in
- <a class="Xr">rc.conf(5)</a>.</p>
-<p class="Pp">A <code class="Nm">lagg</code> interface can be created using the
- <code class="Ic">ifconfig lagg</code><var class="Ar">N</var>
- <code class="Ic">create</code> command. It can use different link
- aggregation protocols specified using the <code class="Ic">laggproto</code>
- <var class="Ar">proto</var> option. Child interfaces can be added using the
- <code class="Ic">laggport</code> <var class="Ar">child-iface</var> option
- and removed using the <code class="Ic">-laggport</code>
- <var class="Ar">child-iface</var> option.</p>
-<p class="Pp">The driver currently supports the aggregation protocols
- <code class="Ic">failover</code> (the default),
- <code class="Ic">lacp</code>, <code class="Ic">loadbalance</code>,
- <code class="Ic">roundrobin</code>, <code class="Ic">broadcast</code>, and
- <code class="Ic">none</code>. 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.</p>
-<dl class="Bl-tag">
- <dt id="failover"><a class="permalink" href="#failover"><code class="Ic">failover</code></a></dt>
- <dd>Sends traffic only through the active port. If the master port becomes
- unavailable, the next active port is used. The first interface added is
- the master port; any interfaces added after that are used as failover
- devices.
- <p class="Pp">By default, received traffic is only accepted when it is
- received through the active port. This constraint can be relaxed by
- setting the <var class="Va">net.link.lagg.failover_rx_all</var>
- <a class="Xr">sysctl(8)</a> variable to a nonzero value, which is useful
- for certain bridged network setups.</p>
- </dd>
- <dt id="lacp"><a class="permalink" href="#lacp"><code class="Ic">lacp</code></a></dt>
- <dd>Supports the IEEE 802.1AX (formerly 802.3ad) Link Aggregation Control
- Protocol (LACP) and the Marker Protocol. LACP will negotiate a set of
- aggregable links with the peer in to one or more Link Aggregated Groups.
- Each LAG is composed of ports of the same speed, set to full-duplex
- operation. The traffic will be balanced across the ports in the LAG with
- the greatest total speed, in most cases there will only be one LAG which
- contains all ports. In the event of changes in physical connectivity, Link
- Aggregation will quickly converge to a new configuration.</dd>
- <dt id="loadbalance"><a class="permalink" href="#loadbalance"><code class="Ic">loadbalance</code></a></dt>
- <dd>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.</dd>
- <dt id="roundrobin"><a class="permalink" href="#roundrobin"><code class="Ic">roundrobin</code></a></dt>
- <dd>Distributes outgoing traffic using a round-robin scheduler through all
- active ports and accepts incoming traffic from any active port. Using
- <code class="Ic">roundrobin</code> mode can cause unordered packet arrival
- at the client. Throughput might be limited as the client performs
- CPU-intensive packet reordering.</dd>
- <dt id="broadcast"><a class="permalink" href="#broadcast"><code class="Ic">broadcast</code></a></dt>
- <dd>Sends frames to all ports of the LAG and receives frames on any port of
- the LAG.</dd>
- <dt id="none"><a class="permalink" href="#none"><code class="Ic">none</code></a></dt>
- <dd>This protocol is intended to do nothing: it disables any traffic without
- disabling the <code class="Nm">lagg</code> interface itself.</dd>
-</dl>
-<p class="Pp">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.</p>
-<p class="Pp">The <code class="Ic">loadbalance</code> and
- <code class="Ic">lacp</code> modes will use the RSS hash from the network
- card if available to avoid computing one, this may give poor traffic
- distribution if the hash is invalid or uses less of the protocol header
- information. Local hash computation can be forced per interface by setting
- the <code class="Cm">-use_flowid</code> <a class="Xr">ifconfig(8)</a> flag.
- The default for new interfaces is set via the
- <var class="Va">net.link.lagg.default_use_flowid</var>
- <a class="Xr">sysctl(8)</a>.</p>
-<p class="Pp">When creating a <code class="Nm">lagg</code> interface, the
- <code class="Ic">laggtype</code> can be specified as either
- <code class="Cm">ethernet</code> or <code class="Cm">infiniband</code>. If
- neither is specified then the default is
- <code class="Cm">ethernet</code>.</p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="EXAMPLES"><a class="permalink" href="#EXAMPLES">EXAMPLES</a></h1>
-<p class="Pp">Create a link aggregation using LACP with two
- <a class="Xr">bge(4)</a> Gigabit Ethernet interfaces:</p>
-<div class="Bd Pp Bd-indent Li">
-<pre># ifconfig bge0 up
-# ifconfig bge1 up
-# ifconfig lagg0 create
-# ifconfig lagg0 laggproto lacp laggport bge0 laggport bge1 \
- 192.168.1.1 netmask 255.255.255.0</pre>
-</div>
-<p class="Pp">Create a link aggregation using ROUNDROBIN with two
- <a class="Xr">bge(4)</a> Gigabit Ethernet interfaces and set a stride of 500
- packets per interface:</p>
-<div class="Bd Pp Bd-indent Li">
-<pre># ifconfig bge0 up
-# ifconfig bge1 up
-# ifconfig lagg0 create
-# ifconfig lagg0 laggproto roundrobin laggport bge0 laggport bge1 \
- 192.168.1.1 netmask 255.255.255.0
-# ifconfig lagg0 rr_limit 500</pre>
-</div>
-<p class="Pp">The following example uses an active failover interface to set up
- roaming between wired and wireless networks using two network devices.
- Whenever the wired master interface is unplugged, the wireless failover
- device will be used:</p>
-<div class="Bd Pp Bd-indent Li">
-<pre># ifconfig em0 ether 00:11:22:33:44:55 up
-# ifconfig wlan0 create wlandev ath0 ssid my_net up
-# ifconfig lagg0 create
-# ifconfig lagg0 laggproto failover laggport em0 laggport wlan0 \
- 192.168.1.1 netmask 255.255.255.0</pre>
-</div>
-<p class="Pp">(Note the MAC address of the wired device is forced to match that
- of the wireless device, &#x2018;00:11:22:33:44:55&#x2019; in this example,
- as some common wireless devices will not allow MAC addresses to be
- changed.)</p>
-<p class="Pp">The following example shows how to create an infiniband failover
- interface.</p>
-<div class="Bd Pp Bd-indent Li">
-<pre># ifconfig ib0 up
-# ifconfig ib1 up
-# ifconfig lagg0 create laggtype infiniband
-# ifconfig lagg0 laggproto failover laggport ib0 laggport ib1 \
- 1.1.1.1 netmask 255.255.255.0</pre>
-</div>
-<p class="Pp">Configure two ethernets for failover with static IP in
- <span class="Pa">/etc/rc.conf</span>:</p>
-<div class="Bd Pp Bd-indent Li">
-<pre>cloned_interfaces=&quot;lagg0&quot;
-ifconfig_lagg0=&quot;laggproto failover laggport bge0 laggport bge1 \
- 10.1.29.21/24&quot;
-ifconfig_bge0=&quot;up&quot;
-ifconfig_bge1=&quot;up&quot;</pre>
-</div>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
- ALSO</a></h1>
-<p class="Pp"><a class="Xr">ng_one2many(4)</a>, <a class="Xr">rc.conf(5)</a>,
- <a class="Xr">ifconfig(8)</a>, <a class="Xr">sysctl(8)</a></p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
-<p class="Pp">The <code class="Nm">lagg</code> device first appeared in
- <span class="Ux">FreeBSD 6.3</span>.</p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
-<p class="Pp">The <code class="Nm">lagg</code> driver was written under the name
- <code class="Nm">trunk</code> by <span class="An">Reyk Floeter</span>
- &lt;<a class="Mt" href="mailto:reyk@openbsd.org">reyk@openbsd.org</a>&gt;.
- The LACP implementation was written by <span class="An">YAMAMOTO
- Takashi</span> for <span class="Ux">NetBSD</span>.</p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="BUGS"><a class="permalink" href="#BUGS">BUGS</a></h1>
-<p class="Pp">There is no way to configure LACP administrative variables,
- including system and port priorities. The current implementation always
- performs active-mode LACP and uses 0x8000 as system and port priorities.</p>
-</section>
-</div>
-<table class="foot">
- <tr>
- <td class="foot-date">January 16, 2023</td>
- <td class="foot-os">FreeBSD 15.0</td>
- </tr>
-</table>