# iosxr_lacp – Manage Global Link Aggregation Control Protocol (LACP) on IOS-XR devices

New in version 2.9.

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

## Synopsis

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

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
config dictionary |  | The provided configurations.
| system dictionary |  | This option sets the default system parameters for LACP bundles.
|  | mac dictionary |  | The system MAC related configuration for LACP.
|  |  | address string |  | The system ID to use in LACP negotiations.
|  | priority integer |  | The system priority to use in LACP negotiations. Lower value is higher priority. Refer to vendor documentation for valid values.

state
string

Choices:
- merged ←
- replaced
- 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:iosxr01#show running-config lacp
    # Tue Jul 16 17:46:08.147 UTC
    # % No such configuration item(s)
    #
    #

    - name: Merge provided configuration with device configuration
      iosxr_lacp:
        config:
          system:
            priority: 10
            mac:
              address: 00c1.4c00.bd15
        state: merged

    #
    #
    # -----------------------
    # Module Execution Result
    # -----------------------
    #
    # "before": {}
    #
    #
    # "commands": [
    #    "lacp system priority 10",
    #    "lacp system mac 00c1.4c00.bd15"
    #  ]
    #
    #
    # "after": {
    #    "system": {
    #       "mac": {
    #          "address": "00c1.4c00.bd15"
    #       },
    #       "priority": 10
    #     }
    #  }
    #
    # -----------
    # After state
    # -----------
    #
    #
    # RP/0/0/CPU0:iosxr01#sh run lacp
    # Tue Jul 16 17:51:29.365 UTC
    # lacp system mac 00c1.4c00.bd15
    # lacp system priority 10
    #
    #

    # Using replaced
    #
    #
    # -------------
    # Before state
    # -------------
    #
    #
    # RP/0/0/CPU0:iosxr01#sh run lacp
    # Tue Jul 16 17:53:59.904 UTC
    # lacp system mac 00c1.4c00.bd15
    # lacp system priority 10
    #

    - name: Replace device global lacp configuration with the given configuration
      iosxr_lacp:
        config:
          system:
            priority: 11
        state: replaced
    #
    #
    # -----------------------
    # Module Execution Result
    # -----------------------
    # "before": {
    #    "system": {
    #       "mac": {
    #         "address": "00c1.4c00.bd15"
    #       },
    #       "priority": 10
    #    }
    #  }
    #
    #
    # "commands": [
    #    "no lacp system mac",
    #    "lacp system priority 11"
    #  ]
    #
    #
    # "after": {
    #    "system": {
    #       "priority": 11
    #    }
    # }
    #
    # -----------
    # After state
    # -----------
    #
    #
    # RP/0/0/CPU0:iosxr01#sh run lacp
    # Tue Jul 16 18:02:40.379 UTC
    # lacp system priority 11
    #
    #

    # Using deleted
    #
    #
    # ------------
    # Before state
    # ------------
    #
    #
    # RP/0/0/CPU0:iosxr01#sh run lacp
    # Tue Jul 16 18:37:09.727 UTC
    # lacp system mac 00c1.4c00.bd15
    # lacp system priority 11
    #
    #

    - name: Delete global LACP configurations from the device
      iosxr_lacp:
        state: deleted

    #
    #
    # -----------------------
    # Module Execution Result
    # -----------------------
    # "before": {
    #    "system": {
    #       "mac": {
    #         "address": "00c1.4c00.bd15"
    #       },
    #       "priority": 11
    #    }
    # }
    #
    #
    # "commands": [
    #     "no lacp system mac",
    #     "no lacp system priority"
    # ]
    #
    #
    # "after": {}
    #
    # ------------
    # After state
    # ------------
    #
    #
    # RP/0/0/CPU0:iosxr01#sh run lacp
    # Tue Jul 16 18:39:44.116 UTC
    # % No such configuration item(s)
    #
    #

## Return Values

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

Key | Returned | Description
--- | --- | ---
after dictionary | 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 dictionary | 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: ['lacp system priority 10', 'lacp system mac 00c1.4c00.bd15']

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