# exos_lldp_global – Configure and manage Link Layer Discovery Protocol(LLDP) attributes on EXOS platforms

New in version 2.9.

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

## Synopsis

- This module configures and manages the Link Layer Discovery Protocol(LLDP) attributes on Extreme Networks EXOS platforms.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
config dictionary |  | A dictionary of LLDP options
| interval integer | Default: 30 | Frequency at which LLDP advertisements are sent (in seconds). By default - 30 seconds.
| tlv_select dictionary |  | This attribute can be used to specify the TLVs that need to be sent in the LLDP packets. By default, only system name and system description is sent

management_address
boolean

Choices:
- no
- yes

Used to specify the management address in TLV messages

port_description
boolean

Choices:
- no
- yes

Used to specify the port description TLV

system_capabilities
boolean

Choices:
- no
- yes

Used to specify the system capabilities TLV

system_description
boolean

Choices:
- no
- yes ←

Used to specify the system description TLV

system_name
boolean

Choices:
- no
- yes ←

Used to specify the system name TLV

state
string

Choices:
- merged ←
- replaced
- deleted

The state of the configuration after module completion.

## Notes

Note

- Tested against Extreme Networks EXOS version 30.2.1.8 on x460g2.
- This module works with connection `httpapi`. See EXOS Platform Options

## Examples

    # Using merged

    # Before state:
    # -------------
    # path: /rest/restconf/data/openconfig_lldp:lldp/config
    # method: GET
    # data:
    # {
    #   "openconfig_lldp:config": {
    #     "enabled": true,
    #     "hello-timer": 30,
    #     "suppress-tlv-advertisement": [
    #       "PORT_DESCRIPTION",
    #       "SYSTEM_CAPABILITIES",
    #       "MANAGEMENT_ADDRESS"
    #     ],
    #     "system-description": "ExtremeXOS (X460G2-24t-10G4) version 30.2.1.8"
    #     "system-name": "X460G2-24t-10G4"
    #   }
    # }

    - name: Merge provided LLDP configuration with device configuration
      exos_lldp_global:
        config:
          interval: 10000
          tlv_select:
            system_capabilities: true
        state: merged

    # Module Execution Results:
    # -------------------------
    #
    # "before": [
    #   {
    #     "interval": 30,
    #     "tlv_select": {
    #       "system_name": true,
    #       "system_description": true
    #       "port_description": false,
    #       "management_address": false,
    #       "system_capabilities": false
    #     }
    #   }
    # ]
    #
    # "requests": [
    #     {
    #        "data": {
    #           "openconfig_lldp:config": {
    #             "hello-timer": 10000,
    #             "suppress-tlv-advertisement": [
    #               "PORT_DESCRIPTION",
    #               "MANAGEMENT_ADDRESS"
    #             ]
    #           }
    #         },
    #        "method": "PATCH",
    #        "path": "/rest/restconf/data/openconfig_lldp:lldp/config"
    #     }
    # ]
    #
    # "after": [
    #   {
    #     "interval": 10000,
    #     "tlv_select": {
    #       "system_name": true,
    #       "system_description": true,
    #       "port_description": false,
    #       "management_address": false,
    #       "system_capabilities": true
    #     }
    #   }
    # ]

    # After state:
    # -------------
    # path: /rest/restconf/data/openconfig_lldp:lldp/config
    # method: GET
    # data:
    # {
    #   "openconfig_lldp:config": {
    #     "enabled": true,
    #     "hello-timer": 10000,
    #     "suppress-tlv-advertisement": [
    #       "PORT_DESCRIPTION",
    #       "MANAGEMENT_ADDRESS"
    #     ],
    #     "system-description": "ExtremeXOS (X460G2-24t-10G4) version 30.2.1.8"
    #     "system-name": "X460G2-24t-10G4"
    #   }
    # }

    # Using replaced

    # Before state:
    # -------------
    # path: /rest/restconf/data/openconfig_lldp:lldp/config
    # method: GET
    # data:
    # {
    #   "openconfig_lldp:config": {
    #     "enabled": true,
    #     "hello-timer": 30,
    #     "suppress-tlv-advertisement": [
    #       "PORT_DESCRIPTION",
    #       "SYSTEM_CAPABILITIES",
    #       "MANAGEMENT_ADDRESS"
    #     ],
    #     "system-description": "ExtremeXOS (X460G2-24t-10G4) version 30.2.1.8"
    #     "system-name": "X460G2-24t-10G4"
    #   }
    # }

    - name: Replace device configuration with provided LLDP configuration
      exos_lldp_global:
        config:
          interval: 10000
          tlv_select:
            system_capabilities: true
        state: replaced

    # Module Execution Results:
    # -------------------------
    #
    # "before": [
    #   {
    #     "interval": 30,
    #     "tlv_select": {
    #       "system_name": true,
    #       "system_description": true
    #       "port_description": false,
    #       "management_address": false,
    #       "system_capabilities": false
    #     }
    #   }
    # ]
    #
    # "requests": [
    #     {
    #        "data": {
    #           "openconfig_lldp:config": {
    #             "hello-timer": 10000,
    #             "suppress-tlv-advertisement": [
    #               "SYSTEM_NAME",
    #               "SYSTEM_DESCRIPTION",
    #               "PORT_DESCRIPTION",
    #               "MANAGEMENT_ADDRESS"
    #             ]
    #           }
    #         },
    #        "method": "PATCH",
    #        "path": "/rest/restconf/data/openconfig_lldp:lldp/config"
    #     }
    # ]
    #
    # "after": [
    #   {
    #     "interval": 10000,
    #     "tlv_select": {
    #       "system_name": false,
    #       "system_description": false,
    #       "port_description": false,
    #       "management_address": false,
    #       "system_capabilities": true
    #     }
    #   }
    # ]

    # After state:
    # -------------
    # path: /rest/restconf/data/openconfig_lldp:lldp/config
    # method: GET
    # data:
    # {
    #   "openconfig_lldp:config": {
    #     "enabled": true,
    #     "hello-timer": 10000,
    #     "suppress-tlv-advertisement": [
    #       "SYSTEM_NAME",
    #       "SYSTEM_DESCRIPTION",
    #       "PORT_DESCRIPTION",
    #       "MANAGEMENT_ADDRESS"
    #     ],
    #     "system-description": "ExtremeXOS (X460G2-24t-10G4) version 30.2.1.8"
    #     "system-name": "X460G2-24t-10G4"
    #   }
    # }

    # Using deleted

    # Before state:
    # -------------
    # path: /rest/restconf/data/openconfig_lldp:lldp/config
    # method: GET
    # data:
    # {
    #   "openconfig_lldp:config": {
    #     "enabled": true,
    #     "hello-timer": 10000,
    #     "suppress-tlv-advertisement": [
    #       "SYSTEM_CAPABILITIES",
    #       "MANAGEMENT_ADDRESS"
    #     ],
    #     "system-description": "ExtremeXOS (X460G2-24t-10G4) version 30.2.1.8"
    #     "system-name": "X460G2-24t-10G4"
    #   }
    # }

    - name: Delete attributes of given LLDP service (This won't delete the LLDP service itself)
      exos_lldp_global:
        config:
        state: deleted

    # Module Execution Results:
    # -------------------------
    #
    # "before": [
    #   {
    #     "interval": 10000,
    #     "tlv_select": {
    #       "system_name": true,
    #       "system_description": true,
    #       "port_description": true,
    #       "management_address": false,
    #       "system_capabilities": false
    #     }
    #   }
    # ]
    #
    # "requests": [
    #     {
    #        "data": {
    #           "openconfig_lldp:config": {
    #             "hello-timer": 30,
    #             "suppress-tlv-advertisement": [
    #               "SYSTEM_CAPABILITIES",
    #               "PORT_DESCRIPTION",
    #               "MANAGEMENT_ADDRESS"
    #             ]
    #           }
    #         },
    #        "method": "PATCH",
    #        "path": "/rest/restconf/data/openconfig_lldp:lldp/config"
    #     }
    # ]
    #
    # "after": [
    #   {
    #     "interval": 30,
    #     "tlv_select": {
    #       "system_name": true,
    #       "system_description": true,
    #       "port_description": false,
    #       "management_address": false,
    #       "system_capabilities": false
    #     }
    #   }
    # ]

    # After state:
    # -------------
    # path: /rest/restconf/data/openconfig_lldp:lldp/config
    # method: GET
    # data:
    # {
    #   "openconfig_lldp:config": {
    #     "enabled": true,
    #     "hello-timer": 30,
    #     "suppress-tlv-advertisement": [
    #       "SYSTEM_CAPABILITIES",
    #       "PORT_DESCRIPTION",
    #       "MANAGEMENT_ADDRESS"
    #     ],
    #     "system-description": "ExtremeXOS (X460G2-24t-10G4) version 30.2.1.8"
    #     "system-name": "X460G2-24t-10G4"
    #   }
    # }

## 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.
requests list | always | The set of requests pushed to the remote device. Sample: [{'data': '...', 'method': '...', 'path': '...'}, {'data': '...', 'method': '...', 'path': '...'}, {'data': '...', 'method': '...', 'path': '...'}]

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]

### Authors

- Ujwal Komarla (@ujwalkomarla)

Hint

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