iosxr_lacp_interfaces – Manage Link Aggregation Control Protocol (LACP) attributes of interfaces on IOS-XR devices — Ansible Documentation

- AnsibleFest
- Products
- Community
- Webinars & Training
- Blog

Documentation

# iosxr_lacp_interfaces – Manage Link Aggregation Control Protocol (LACP) attributes of interfaces on IOS-XR devices

New in version 2.9.

- Synopsis
- Parameters
- Notes
- Examples
- Return Values
- Status

## Synopsis

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

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
config list |  | A dictionary of LACP interfaces options.
| churn_logging string | Choices: actor partner both | Specifies the parameter for logging of LACP churn events. Valid only for ether-bundles. Mode 'actor' logs actor churn events only. Mode 'partner' logs partner churn events only. Mode 'both' logs actor and partner churn events only.
| collector_max_delay integer |  | Specifies the collector max delay to be signaled to the LACP partner. Valid only for ether-bundles. Refer to vendor documentation for valid values.
| name string |  | Name/Identifier of the interface or Ether-Bundle.
| period integer |  | Specifies the rate at which packets are sent or received. For ether-bundles, this specifies the period to be used by its member links. Refer to vendor documentation for valid values.
| switchover_suppress_flaps integer |  | Specifies the time for which to suppress flaps during a LACP switchover. Valid only for ether-bundles. Refer to vendor documentation for valid values.
| system dictionary |  | This dict object contains configurable options related to LACP system parameters for ether-bundles.
|  | mac string |  | Specifies the system ID to use in LACP negotiations for the bundle, encoded as a MAC address.
|  | 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.

## Notes

Note

- Tested against IOS-XR 6.1.3.
- This module works with connection `network_cli`. See the IOS-XR Platform Options.

## Examples

    # Using merged
    #
    #
    # ------------
    # Before state
    # ------------
    #
    #
    #
    # RP/0/0/CPU0:an-iosxr#sh running-config interface
    # Sun Jul 21 18:01:35.079 UTC
    # interface Bundle-Ether10
    # !
    # interface Bundle-Ether11
    # !
    # interface Bundle-Ether12
    # !
    # interface Loopback888
    #  description test for ansible
    #  shutdown
    # !
    # interface MgmtEth0/0/CPU0/0
    #  ipv4 address 192.0.2.11 255.255.255.0
    # !
    # interface GigabitEthernet0/0/0/1
    #  description 'GigabitEthernet - 1'
    # !
    # interface GigabitEthernet0/0/0/2
    #  description "GigabitEthernet - 2"
    # !
    # interface GigabitEthernet0/0/0/3
    #  description "GigabitEthernet - 3"
    # !
    # interface GigabitEthernet0/0/0/4
    #  description "GigabitEthernet - 4"
    # !
    #
    #

     - name: Merge provided configuration with device configuration
       iosxr_lacp_interfaces:
        config:
          - name: Bundle-Ether10
            churn_logging: actor
            collector_max_delay: 100
            switchover_suppress_flaps: 500

          - name: Bundle-Ether11
            system:
              mac: 00c2.4c00.bd15

          - name: GigabitEthernet0/0/0/1
            period: 200
        state: merged

    #
    #
    # -----------
    # After state
    # -----------
    #
    #
    # RP/0/0/CPU0:an-iosxr#sh run int
    # Sun Jul 21 18:24:52.413 UTC
    # interface Bundle-Ether10
    #  lacp churn logging actor
    #  lacp switchover suppress-flaps 500
    #  lacp collector-max-delay 100
    # !
    # interface Bundle-Ether11
    #  lacp system mac 00c2.4c00.bd15
    # !
    # interface Bundle-Ether12
    # !
    # interface Loopback888
    #  description test for ansible
    #  shutdown
    # !
    # interface MgmtEth0/0/CPU0/0
    #  ipv4 address 192.0.2.11 255.255.255.0
    # !
    # interface GigabitEthernet0/0/0/1
    #  description 'GigabitEthernet - 1"
    #  lacp period 200
    # !
    # interface GigabitEthernet0/0/0/2
    #  description "GigabitEthernet - 2"
    # !
    # interface GigabitEthernet0/0/0/3
    #  description "GigabitEthernet - 3"
    # !
    # interface GigabitEthernet0/0/0/4
    #  description "GigabitEthernet - 4"
    # !
    #

    # Using replaced
    #
    #
    # ------------
    # Before state
    # ------------
    #
    #
    # RP/0/0/CPU0:an-iosxr#sh run int
    # Sun Jul 21 18:24:52.413 UTC
    # interface Bundle-Ether10
    #  lacp churn logging actor
    #  lacp switchover suppress-flaps 500
    #  lacp collector-max-delay 100
    # !
    # interface Bundle-Ether11
    #  lacp system mac 00c2.4c00.bd15
    # !
    # interface Bundle-Ether12
    # !
    # interface Loopback888
    #  description test for ansible
    #  shutdown
    # !
    # interface MgmtEth0/0/CPU0/0
    #  ipv4 address 192.0.2.11 255.255.255.0
    # !
    # interface GigabitEthernet0/0/0/1
    #  description 'GigabitEthernet - 1"
    #  lacp period 200
    # !
    # interface GigabitEthernet0/0/0/2
    #  description "GigabitEthernet - 2"
    # !
    # interface GigabitEthernet0/0/0/3
    #  description "GigabitEthernet - 3"
    # !
    # interface GigabitEthernet0/0/0/4
    #  description "GigabitEthernet - 4"
    # !
    #

     - name: Replace LACP configuration of listed interfaces with provided configuration
       iosxr_lacp_interfaces:
        config:
          - name: Bundle-Ether10
            churn_logging: partner

          - name: GigabitEthernet0/0/0/2
            period: 300
        state: replaced

    #
    #
    # -----------
    # After state
    # -----------
    #
    #
    # RP/0/0/CPU0:an-iosxr#sh run int
    # Sun Jul 21 18:50:21.929 UTC
    # interface Bundle-Ether10
    #  lacp churn logging partner
    # !
    # interface Bundle-Ether11
    #  lacp system mac 00c2.4c00.bd15
    # !
    # interface Bundle-Ether12
    # !
    # interface Loopback888
    #  description test for ansible
    #  shutdown
    # !
    # interface MgmtEth0/0/CPU0/0
    #  ipv4 address 192.0.2.11 255.255.255.0
    # !
    # interface GigabitEthernet0/0/0/1
    #  description 'GigabitEthernet - 1"
    #  lacp period 200
    # !
    # interface GigabitEthernet0/0/0/2
    #  description "GigabitEthernet - 2"
    #  lacp period 300
    # !
    # interface GigabitEthernet0/0/0/3
    #  description "GigabitEthernet - 3"
    # !
    # interface GigabitEthernet0/0/0/4
    #  description "GigabitEthernet - 4"
    # !
    #
    #

    # Using overridden
    #
    #
    # ------------
    # Before state
    # ------------
    #
    #
    # RP/0/0/CPU0:an-iosxr#sh run int
    # Sun Jul 21 18:24:52.413 UTC
    # interface Bundle-Ether10
    #  lacp churn logging actor
    #  lacp switchover suppress-flaps 500
    #  lacp collector-max-delay 100
    # !
    # interface Bundle-Ether11
    #  lacp system mac 00c2.4c00.bd15
    # !
    # interface Bundle-Ether12
    # !
    # interface Loopback888
    #  description test for ansible
    #  shutdown
    # !
    # interface MgmtEth0/0/CPU0/0
    #  ipv4 address 192.0.2.11 255.255.255.0
    # !
    # interface GigabitEthernet0/0/0/1
    #  description 'GigabitEthernet - 1"
    #  lacp period 200
    # !
    # interface GigabitEthernet0/0/0/2
    #  description "GigabitEthernet - 2"
    #  lacp period 200
    # !
    # interface GigabitEthernet0/0/0/3
    #  description "GigabitEthernet - 3"
    # !
    # interface GigabitEthernet0/0/0/4
    #  description "GigabitEthernet - 4"
    # !
    #
    #

     - name: Override all interface LACP configuration with provided configuration
       iosxr_lacp_interfaces:
        config:
          - name: Bundle-Ether12
            churn_logging: both
            collector_max_delay: 100
            switchover_suppress_flaps: 500

          - name: GigabitEthernet0/0/0/1
            period: 300
        state: overridden

    #
    #
    # -----------
    # After state
    # -----------
    #
    #
    # RP/0/0/CPU0:an-iosxr(config-if)#do sh run int
    # Sun Jul 21 19:32:36.115 UTC
    # interface Bundle-Ether10
    # !
    # interface Bundle-Ether11
    # !
    # interface Bundle-Ether12
    #  lacp churn logging both
    #  lacp switchover suppress-flaps 500
    #  lacp collector-max-delay 100
    # !
    # interface Loopback888
    #  description test for ansible
    #  shutdown
    # !
    # interface MgmtEth0/0/CPU0/0
    #  ipv4 address 192.0.2.11 255.255.255.0
    # !
    # interface GigabitEthernet0/0/0/1
    #  description 'GigabitEthernet - 1"
    #  lacp period 300
    # !
    # interface GigabitEthernet0/0/0/2
    #  description "GigabitEthernet - 2"
    # !
    # interface GigabitEthernet0/0/0/3
    #  description "GigabitEthernet - 3"
    # !
    # interface GigabitEthernet0/0/0/4
    #  description "GigabitEthernet - 4"
    # !
    #

    # Using deleted
    #
    #
    # ------------
    # Before state
    # ------------
    #
    #
    # RP/0/0/CPU0:an-iosxr#sh run int
    # Sun Jul 21 18:24:52.413 UTC
    # interface Bundle-Ether10
    #  lacp churn logging actor
    #  lacp switchover suppress-flaps 500
    #  lacp collector-max-delay 100
    # !
    # interface Bundle-Ether11
    #  lacp non-revertive
    # !
    # interface Bundle-Ether12
    # !
    # interface Loopback888
    #  description test for ansible
    #  shutdown
    # !
    # interface MgmtEth0/0/CPU0/0
    #  ipv4 address 192.0.2.11 255.255.255.0
    # !
    # interface GigabitEthernet0/0/0/1
    #  description 'GigabitEthernet - 1"
    #  lacp period 200
    # !
    # interface GigabitEthernet0/0/0/2
    #  description "GigabitEthernet - 2"
    #   lacp period 300
    # !
    # interface GigabitEthernet0/0/0/3
    #  description "GigabitEthernet - 3"
    # !
    # interface GigabitEthernet0/0/0/4
    #  description "GigabitEthernet - 4"
    # !
    #

     - name: Deleted LACP configurations of provided interfaces (Note - This won't delete the interface itself)
       iosxr_lacp_interfaces:
        config:
          - name: Bundle-Ether10
          - name: Bundle-Ether11
          - name: GigabitEthernet0/0/0/1
          - name: GigabitEthernet0/0/0/2
        state: deleted

    #
    #
    # -----------
    # After state
    # -----------
    #
    #
    # RP/0/0/CPU0:an-iosxr#sh run int
    # Sun Jul 21 19:51:03.499 UTC
    # interface Bundle-Ether10
    # !
    # interface Bundle-Ether11
    # !
    # interface Bundle-Ether12
    # !
    # interface Loopback888
    #  description test for ansible
    #  shutdown
    # !
    # interface MgmtEth0/0/CPU0/0
    #  ipv4 address 192.0.2.11 255.255.255.0
    # !
    # interface GigabitEthernet0/0/0/1
    #  description 'GigabitEthernet - 1"
    # !
    # interface GigabitEthernet0/0/0/2
    #  description "GigabitEthernet - 2"
    # !
    # interface GigabitEthernet0/0/0/3
    #  description "GigabitEthernet - 3"
    # !
    # interface GigabitEthernet0/0/0/4
    #  description "GigabitEthernet - 4"
    # !
    #

## 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: ['interface Bundle-Ether10', 'lacp churn logging partner', 'lacp period 150']

## 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

- Nilashish Chakraborty (@nilashishc)

Hint

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