# junos_lacp_interfaces – Manage Link Aggregation Control Protocol (LACP) attributes of interfaces on Juniper JUNOS devices

New in version 2.9.

- Synopsis

- Parameters

- Examples

- Return Values

- Status

## Synopsis

- This module manages Link Aggregation Control Protocol (LACP) attributes of interfaces on Juniper JUNOS devices.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
config list / elements=dictionary |  | The list of dictionaries of LACP interfaces options.

force_up
boolean

Choices:
- no
- yes

This is a boolean argument to control if the port should be up in absence of received link Aggregation Control Protocol Data Unit (LACPDUS). This value is applicable for member interfaces only.

| name string |  | Name Identifier of the interface or link aggregation group.

period
string

Choices:
- fast
- slow

Timer interval for periodic transmission of LACP packets. If the value is set to `fast` the packets are received every second and if the value is `slow` the packets are received every 30 seconds. This value is applicable for aggregate interface only.

| port_priority integer |  | Priority of the member port. This value is applicable for member interfaces only. Refer to vendor documentation for valid values.

sync_reset
string

Choices:
- disable
- enable

The argument notifies minimum-link failure out of sync to peer. If the value is `disable` it disables minimum-link failure handling at LACP level and if value is `enable` it enables minimum-link failure handling at LACP level. This value is applicable for aggregate interface only.

| system dictionary |  | This dict object contains configurable options related to LACP system parameters for the link aggregation group. This value is applicable for aggregate interface only.
|  | mac dictionary |  | Specifies the system ID to use in LACP negotiations for the bundle, encoded as a MAC address.
|  |  | address string |  | The system ID to use in LACP negotiations.
|  | priority integer |  | Specifies the system priority to use in LACP negotiations for the bundle. Refer to vendor documentation for valid values.

state
string

Choices:
- merged ←
- replaced
- overridden
- deleted

The state of the configuration after module completion.

## Examples

    # Using merged
    # Before state:
    # -------------
    # user@junos01# show interfaces
    # ge-0/0/2 {
    #     ether-options {
    #         802.3ad ae4;
    #     }
    # }
    # ge-0/0/3 {
    #    ether-options {
    #         802.3ad ae0;
    #     }
    # }
    # ae0 {
    #     description "lag interface merged";
    #     aggregated-ether-options {
    #         lacp {
    #             passive;
    #         }
    #     }
    # }
    # ae4 {
    #     description "test aggregate interface";
    #     aggregated-ether-options {
    #         lacp {
    #             passive;
    #             link-protection;
    #         }
    #     }
    # }

    - name: Merge provided configuration with device configuration
      junos_lacp_interfaces:
        config:
          - name: ae0
            period: fast
            sync_reset: enable
            system:
              priority: 100
              mac:
                address: 00:00:00:00:00:02
          - name: ge-0/0/3
            port_priority: 100
            force_up: True
        state: merged

    # After state:
    # -------------
    # user@junos01# show interfaces
    # ge-0/0/2 {
    #     ether-options {
    #         802.3ad ae4;
    #     }
    # }
    # ge-0/0/3 {
    #     ether-options {
    #         802.3ad {
    #             lacp {
    #                 force-up;
    #                 port-priority 100;
    #             }
    #             ae0;
    #         }
    #     }
    # }
    # ae0 {
    #     description "lag interface merged";
    #     aggregated-ether-options {
    #         lacp {
    #             passive;
    #             periodic fast;
    #             sync-reset enable;
    #             system-priority 100;
    #             system-id 00:00:00:00:00:02;
    #         }
    #     }
    # }
    # ae4 {
    #     description "test aggregate interface";
    #     aggregated-ether-options {
    #         lacp {
    #             passive;
    #             link-protection;
    #         }
    #     }
    # }

    # Using replaced
    # Before state:
    # -------------
    # user@junos01# show interfaces
    # ge-0/0/2 {
    #     ether-options {
    #         802.3ad ae4;
    #     }
    # }
    # ge-0/0/3 {
    #     ether-options {
    #         802.3ad {
    #             lacp {
    #                 force-up;
    #                 port-priority 100;
    #             }
    #             ae0;
    #         }
    #     }
    # }
    # ae0 {
    #     description "lag interface merged";
    #     aggregated-ether-options {
    #         lacp {
    #             passive;
    #             periodic fast;
    #             sync-reset enable;
    #             system-priority 100;
    #             system-id 00:00:00:00:00:02;
    #         }
    #     }
    # }
    # ae4 {
    #     description "test aggregate interface";
    #     aggregated-ether-options {
    #         lacp {
    #             passive;
    #             link-protection;
    #         }
    #     }
    # }

    - name: Replace device LACP interfaces configuration with provided configuration
      junos_lacp_interfaces:
        config:
          - name: ae0
            period: slow
        state: replaced

    # After state:
    # -------------
    # user@junos01# show interfaces
    # ge-0/0/2 {
    #     ether-options {
    #         802.3ad ae4;
    #     }
    # }
    # ge-0/0/3 {
    #     ether-options {
    #         802.3ad {
    #             lacp {
    #                 force-up;
    #                 port-priority 100;
    #             }
    #             ae0;
    #         }
    #     }
    # }
    # ae0 {
    #     description "lag interface merged";
    #     aggregated-ether-options {
    #         lacp {
    #             passive;
    #             periodic slow;
    #         }
    #     }
    # }
    # ae4 {
    #     description "test aggregate interface";
    #     aggregated-ether-options {
    #         lacp {
    #             passive;
    #             link-protection;
    #         }
    #     }
    # }

    # Using overridden
    # Before state:
    # -------------
    # user@junos01# show interfaces
    # ge-0/0/2 {
    #     ether-options {
    #         802.3ad ae4;
    #     }
    # }
    # ge-0/0/3 {
    #     ether-options {
    #         802.3ad {
    #             lacp {
    #                 force-up;
    #                 port-priority 100;
    #             }
    #             ae0;
    #         }
    #     }
    # }
    # ae0 {
    #     description "lag interface merged";
    #     aggregated-ether-options {
    #         lacp {
    #             passive;
    #             periodic slow;
    #         }
    #     }
    # }
    # ae4 {
    #     description "test aggregate interface";
    #     aggregated-ether-options {
    #         lacp {
    #             passive;
    #             link-protection;
    #         }
    #     }
    # }

    - name: Overrides all device LACP interfaces configuration with provided configuration
      junos_lacp_interfaces:
        config:
          - name: ae0
            system:
              priority: 300
              mac:
                address: 00:00:00:00:00:03
          - name: ge-0/0/2
            port_priority: 200
            force_up: False
        state: overridden

    # After state:
    # -------------
    # user@junos01# show interfaces
    # ge-0/0/2 {
    #     ether-options {
    #         802.3ad {
    #             lacp {
    #                 port-priority 200;
    #             }
    #             ae4;
    #         }
    #     }
    # }
    # ge-0/0/3 {
    #     ether-options {
    #         802.3ad {
    #             lacp {
    #                 force-up;
    #                 port-priority 100;
    #             }
    #             ae0;
    #         }
    #     }
    # }
    # ae0 {
    #     description "lag interface merged";
    #     aggregated-ether-options {
    #         lacp {
    #             passive;
    #             system-priority 300;
    #             system-id 00:00:00:00:00:03;
    #         }
    #     }
    # }
    # ae4 {
    #     description "test aggregate interface";
    #     aggregated-ether-options {
    #         lacp {
    #             passive;
    #             link-protection;
    #         }
    #     }
    # }

    # Using deleted
    # Before state:
    # -------------
    # user@junos01# show interfaces
    # ge-0/0/2 {
    #     ether-options {
    #         802.3ad {
    #             lacp {
    #                 port-priority 200;
    #             }
    #             ae4;
    #         }
    #     }
    # }
    # ge-0/0/3 {
    #     ether-options {
    #         802.3ad {
    #             lacp {
    #                 force-up;
    #                 port-priority 100;
    #             }
    #             ae0;
    #         }
    #     }
    # }
    # ae0 {
    #     description "lag interface merged";
    #     aggregated-ether-options {
    #         lacp {
    #             passive;
    #             system-priority 300;
    #             system-id 00:00:00:00:00:03;
    #         }
    #     }
    # }
    # ae4 {
    #     description "test aggregate interface";
    #     aggregated-ether-options {
    #         lacp {
    #             passive;
    #             link-protection;
    #         }
    #     }
    # }

    - name: "Delete LACP interfaces attributes of given interfaces (Note: This won't delete the interface itself)"
      junos_lacp_interfaces:
        config:
          - name: ae0
          - name: ge-0/0/3
          - name: ge-0/0/2
        state: deleted

    # After state:
    # -------------
    # user@junos01# show interfaces
    # ge-0/0/2 {
    #     ether-options {
    #         802.3ad ae4;
    #     }
    # }
    # ge-0/0/3 {
    #    ether-options {
    #         802.3ad ae0;
    #     }
    # }
    # ae0 {
    #     description "lag interface merged";
    #     aggregated-ether-options {
    #         lacp {
    #             passive;
    #         }
    #     }
    # }
    # ae4 {
    #     description "test aggregate interface";
    #     aggregated-ether-options {
    #         lacp {
    #             passive;
    #             link-protection;
    #         }
    #     }
    # }

## Return Values

Common return values are documented here, the following are the fields unique to this module:

Key | Returned | Description
--- | --- | ---
after list | when changed | The configuration as structured data after module completion. Sample: The configuration returned will always be in the same format of the parameters above.
before list | always | The configuration as structured data prior to module invocation. Sample: The configuration returned will always be in the same format of the parameters above.
commands list | always | The set of commands pushed to the remote device. Sample: ['command 1', 'command 2', 'command 3']

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]

- This module is maintained by the Ansible Network Team. [network]

### Red Hat Support

More information about Red Hat’s support of this module is available from this Red Hat Knowledge Base article.

### Authors

- Ganesh Nalawade (@ganeshrn)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.