=========================
Legs
=========================

A leg is an individual Internet connection at the customer's site.

|image0|

.. |image0| image:: /attachments/1639362/11667705.png

.. tip::
    Currently (6.4 RC), only Ethernet connections are supported in the form of "Interface Legs".

Interface legs have replaced DHCP, Static, and PPPoE legs.
Continued support for mobile broadband USB connections is planned for the full 6.4 release.

Legs can be configured to pass traffic in only one direction, such as
having a leg that only contributes to the upload of a bond, not the
download. This can be achieved by configuring the speed for the desired
direction to 0.

Legs must be dedicated to the bonder. They must not be shared with other devices or networks, because this results in frequent changes in the
amount of bandwidth available on the leg (see `challenging environments <performance-tuning/manual-bond-tuning.html#challenging-environments>`__ for bonding).

Satellite legs are not supported in any configuration due to their very
high latency. The techniques that satellite modems use to accelerate TCP
flows cannot be used with Bonded Internet because bonded traffic is
encapsulated in UDP packets between the bonder and aggregator. This
results in very low throughput—for example, less than 100 Kbps on a
satellite link with 1.0 Mbps of bandwidth available.

Adding, editing, & deleting legs
------------------------------------------------------------------------------------------------------------------------

Legs are displayed in a table on the bond details page.

To add a leg, click the |node-object-add| button to the upper-left of the legs table. This will open the "add leg" modal.

To edit a leg, click the |leg-edit| button. This will open the "edit leg" modal.

To delete a leg, click the |leg-delete| button. This will ask for confirmation, and is permanent.

Leg actions
---------------------------------

To perform an action on a leg, click the more options icon on the leg action toolbar, and then select the action you want to perform.

|leg-actions|

Detect MTUs
^^^^^^^^^^^^^^^^^^^^^

Executes PMTUD to discover the current true path MTU for the leg.

Detect Speeds
^^^^^^^^^^^^^^^^^^^^^

Begins an automatic speed tuning process for the leg.
See the documentation on `automatic leg tuning <performance-tuning/automatic-bond-tuning.html#leg-tuning>`__ for details.

Renew DHCP Lease
^^^^^^^^^^^^^^^^^^^^^

Renews the DHCP lease. This action is only available to interface legs with a DHCP address scheme.

Leg status & address information
-----------------------------------------------------------------------------------------------------------------

To get comprehensive details on a particular leg's running state, click the caret |node-object-caret| beside its ID.

This will open the status information dropdown. Here, leg details detected by the bonder at runtime can be found (e.g., the detected path MTU, or a DHCP lease's length).

Configuring Legs
-----------------

Leg configuration options are accessed through the leg `add and edit modals <legs.html#adding-editing-deleting-legs>`__.
They are grouped by functionality into the following tabs:

-  `Leg Options <legs.html#leg-options>`__
-  `Addresses <legs.html#addresses>`__ (Interface Legs Only)
-  `Mobile Broadband <legs.html#mobile-broadband>`__ (Mobile Broadband Legs Only)
-  `Optimization <legs.html#optimization>`__
-  `Tunnel Bypass <legs.html#tunnel-bypass>`__

Leg Options
^^^^^^^^^^^

Type
++++

Currently there are two types of legs:

-  Interface
-  Mobile broadband

Type can only be set when creating a new leg.

Link Mode
++++++++++

Link mode defines how the leg is used on the bonder and aggregator. This
can be one of:

-  Offline: The leg is not used for anything. The bonder will not bring
   up this interface at all.
-  Idle: The leg is configured but not used for bonded traffic. This can
   be useful if you need to remove a poorly-performing leg from the bond
   but still want to run ping and throughput tests on it. The bonder may
   use this leg to connect to the management server.
-  Active: The leg is configured and used for bonded traffic.

.. warning::
    If all legs are set to offline, your bonder will not be able to contact the management server.
    For this reason, idle legs are preferred and are not counted for billing.

Interface (Interface Legs Only)
+++++++++++++++++++++++++++++++

The `interface <interfaces.html>`__ this leg is on.

Provider Profile (Mobile Broadband Legs Only)
+++++++++++++++++++++++++++++++++++++++++++++

The `provider profile <mobile-broadband-legs-and-modems.html#managing-mobile-provider-settings>`__ that this leg uses.

Failover
+++++++++

If a leg is marked as failover, it will only be used when all the
non-failover legs have lost connectivity. At most one leg can be for
failover. A typical use case for a failover leg is a wireless connection
with high usage-based charges that should only be used as a backup, not
as a normal part of the bond.

Download speed
++++++++++++++

The tested download speed that the leg is able to achieve, in Mbps. This
field can be set to 0 if this leg is not to be used for download
traffic.

Upload speed
++++++++++++

The tested upload speed that the leg is able to achieve, in Mbps. This
field can be set to 0 if this leg is not to be used for upload traffic.

Minimum path MTU
+++++++++++++++++

If MTU detection is enabled, this value represents the lower bound of
the possible MTU values that are checked when detecting the true MTU.
This can be increased to speed up the detection process, as long as the
value is equal to or lower than any possible MTU for the link. It may
also be reduced to accommodate lower MTUs.

.. note::
    The minimum MTU for IPv4 is 576.
    The minimum MTU for IPv6 is 1280.

Note
++++

A free-form field for any relevant information.

Addresses
^^^^^^^^^

See `leg address schemes <leg-address-schemes.html>`__.

Mobile Broadband
^^^^^^^^^^^^^^^^

IMEI
+++++

The IMEI (International Mobile Equipment Identity) is a 15-digit unique
identifier for a mobile network device, and can be found listed on the
device itself and often on the device's packaging. If the IMEI field is
provided, the leg will only use the modem with the given IMEI; if no
modem with the given IMEI is attached, the leg will not be started. If
the field is not provided, the leg will use any available modem. In
general, the IMEI field may be left blank if using a single modem or
multiple modems with the same make/model and provider.

Roaming
++++++++

Enabled by default, the roaming option configures whether the leg will
be constrained to its home network or not.

SIM PIN
++++++++

The PIN required to access the SIM card, if necessary.

Access modes
+++++++++++++

The list of access modes (2G, 3G, or 4G/LTE) that the modem can use to
connect to the mobile network.

Radio bands
++++++++++++

The list of radio bands (for example, CDMA BC8 1800, DCS, or EUTRAN I)
that the modem can use to connect to the mobile network.

Optimization
^^^^^^^^^^^^

See the `leg configuration options <leg-bandwidth-adaptation.html#configuration>`__  for the bandwidth adaptation feature.

Tunnel Bypass
^^^^^^^^^^^^^

See the `leg configuration options <tunnel-bypass.html#leg-configuration>`__  for the tunnel bypass feature.


.. |node-object-add| image:: /attachments/bonds/node-object-add.png
.. |leg-edit| image:: /attachments/bonds/leg-edit.png
.. |leg-delete| image:: /attachments/bonds/leg-delete.png
.. |leg-actions| image:: /attachments/bonds/leg-actions.png
.. |node-object-modal-add| image:: /attachments/bonds/node-object-modal-add.png
.. |node-object-modal-save| image:: /attachments/bonds/node-object-modal-save.png
.. |node-object-caret| image:: /attachments/bonds/node-object-caret.png
