# ce_dldp – Manages global DLDP configuration on HUAWEI CloudEngine switches

New in version 2.4.

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

## Synopsis

- Manages global DLDP configuration on HUAWEI CloudEngine switches.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---

auth_mode
-

Choices:
- md5
- simple
- sha
- hmac-sha256
- none

Specifies authentication algorithm of DLDP.

auth_pwd - |  | Specifies authentication password. The value is a string of 1 to 16 case-sensitive plaintexts or 24/32/48/108/128 case-sensitive encrypted characters. The string excludes a question mark (?).

enable
-

Choices:
- enable
- disable

Set global DLDP enable state.

reset
-

Choices:
- enable
- disable

Specify whether reset DLDP state of disabled interfaces.

time_internal - |  | Specifies the interval for sending Advertisement packets. The value is an integer ranging from 1 to 100, in seconds. The default interval for sending Advertisement packets is 5 seconds.

work_mode
-

Choices:
- enhance
- normal

Set global DLDP work-mode.

## Notes

Note

- The relevant configurations will be deleted if DLDP is disabled using enable=disable.
- When using auth_mode=none, it will restore the default DLDP authentication mode. By default, DLDP packets are not authenticated.
- By default, the working mode of DLDP is enhance, so you are advised to use work_mode=enhance to restore default DLDP working mode.
- The default interval for sending Advertisement packets is 5 seconds, so you are advised to use time_interval=5 to restore default DLDP interval.
- This module requires the netconf system service be enabled on the remote device being managed.
- Recommended connection is `netconf`.
- This module also works with `local` connections for legacy playbooks.

## Examples

    - name: DLDP test
      hosts: cloudengine
      connection: local
      gather_facts: no
      vars:
        cli:
          host: "{{ inventory_hostname }}"
          port: "{{ ansible_ssh_port }}"
          username: "{{ username }}"
          password: "{{ password }}"
          transport: cli

      tasks:

      - name: "Configure global DLDP enable state"
        ce_dldp:
          enable: enable
          provider: "{{ cli }}"

      - name: "Configure DLDP work-mode and ensure global DLDP state is already enabled"
        ce_dldp:
          enable: enable
          work_mode: normal
          provider: "{{ cli }}"

      - name: "Configure advertisement message time interval in seconds and ensure global DLDP state is already enabled"
        ce_dldp:
          enable: enable
          time_interval: 6
          provider: "{{ cli }}"

      - name: "Configure a DLDP authentication mode and ensure global DLDP state is already enabled"
        ce_dldp:
          enable: enable
          auth_mode: md5
          auth_pwd: abc
          provider: "{{ cli }}"

      - name: "Reset DLDP state of disabled interfaces and ensure global DLDP state is already enabled"
        ce_dldp:
          enable: enable
          reset: enable
          provider: "{{ cli }}"

## Return Values

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

Key | Returned | Description
--- | --- | ---
changed boolean | always | check to see if a change was made on the device Sample: True
end_state dictionary | always | k/v pairs of global DLDP configuration after module execution Sample: {'enable': 'enable', 'reset': 'enable', 'time_internal': '12', 'work_mode': 'normal'}
existing dictionary | always | k/v pairs of existing global DLDP configuration Sample: {'enable': 'disable', 'reset': 'disable', 'time_internal': '5', 'work_mode': 'enhance'}
proposed dictionary | always | k/v pairs of parameters passed into module Sample: {'enable': 'enable', 'reset': 'enable', 'time_internal': '12', 'work_mode': 'normal'}
updates list | always | command sent to the device Sample: ['dldp enable', 'dldp work-mode normal', 'dldp interval 12', 'dldp reset']

## Status

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

### Authors

- Zhijin Zhou (@QijunPan)

Hint

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