# ce_vxlan_tunnel – Manages VXLAN tunnel configuration on HUAWEI CloudEngine devices

New in version 2.4.

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

## Synopsis

- This module offers the ability to set the VNI and mapped to the BD, and configure an ingress replication list on HUAWEI CloudEngine devices.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
bridge_domain_id - |  | Specifies a bridge domain ID. The value is an integer ranging from 1 to 16777215.

nve_mode
-

Choices:
- mode-l2
- mode-l3

Specifies the working mode of an NVE interface.

nve_name - |  | Specifies the number of an NVE interface. The value ranges from 1 to 2.
peer_list_ip - |  | Specifies the IP address of a remote VXLAN tunnel endpoints (VTEP). The value is in dotted decimal notation.

protocol_type
-

Choices:
- bgp
- null

The operation type of routing protocol.

source_ip - |  | Specifies an IP address for a source VTEP. The value is in dotted decimal notation.

state
-

Choices:
- present ←
- absent

Manage the state of the resource.

vni_id - |  | Specifies a VXLAN network identifier (VNI) ID. The value is an integer ranging from 1 to 16000000.

## Notes

Note

- 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: vxlan tunnel module test
      hosts: ce128
      connection: local
      gather_facts: no
      vars:
        cli:
          host: "{{ inventory_hostname }}"
          port: "{{ ansible_ssh_port }}"
          username: "{{ username }}"
          password: "{{ password }}"
          transport: cli

      tasks:

      - name: Make sure nve_name is exist, ensure vni_id and protocol_type is configured on Nve1 interface.
        ce_vxlan_tunnel:
          nve_name: Nve1
          vni_id: 100
          protocol_type: bgp
          state: present
          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 configuration after module execution Sample: {'nve_interface_name"': 'Nve1', 'nve_mode"': 'mode-l3', 'source_ip': '0.0.0.0'}
existing dictionary | always | k/v pairs of existing rollback Sample: {'nve_interface_name"': 'Nve1', 'nve_mode"': 'mode-l3', 'source_ip': '0.0.0.0'}
proposed dictionary | always | k/v pairs of parameters passed into module Sample: {'nve_interface_name"': 'Nve1', 'nve_mode"': 'mode-l2', 'source_ip': '0.0.0.0'}
updates list | always | command sent to the device Sample: ['interface Nve1', 'mode l3']

## Status

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

### Authors

- Li Yanfeng (@QijunPan)

Hint

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