community.network.ce_vxlan_gateway – Manages gateway for the VXLAN network on HUAWEI CloudEngine devices.

Note

This plugin is part of the community.network collection (version 3.0.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install community.network.

To use it in a playbook, specify: community.network.ce_vxlan_gateway.

Synopsis

  • Configuring Centralized All-Active Gateways or Distributed Gateway for the VXLAN Network on HUAWEI CloudEngine devices.

Parameters

Parameter Choices/Defaults Comments
arp_direct_route
string
    Choices:
  • enable
  • disable
Enable VLINK direct route on VBDIF interface.
arp_distribute_gateway
string
    Choices:
  • enable
  • disable
Enable the distributed gateway function on VBDIF interface.
dfs_all_active
string
    Choices:
  • enable
  • disable
Creates all-active gateways.
dfs_id
string
Specifies the ID of a DFS group. The value must be 1.
dfs_peer_ip
string
Configure the IP address of an all-active gateway peer. The value is in dotted decimal notation.
dfs_peer_vpn
string
Specifies the name of the VPN instance that is associated with all-active gateway peer. The value is a string of 1 to 31 case-sensitive characters, spaces not supported. When double quotation marks are used around the string, spaces are allowed in the string. The value _public_ is reserved and cannot be used as the VPN instance name.
dfs_source_ip
string
Specifies the IPv4 address bound to a DFS group. The value is in dotted decimal notation.
dfs_source_vpn
string
Specifies the name of a VPN instance bound to a DFS group. The value is a string of 1 to 31 case-sensitive characters without spaces. If the character string is quoted by double quotation marks, the character string can contain spaces. The value _public_ is reserved and cannot be used as the VPN instance name.
dfs_udp_port
string
Specifies the UDP port number of the DFS group. The value is an integer that ranges from 1025 to 65535.
state
string
    Choices:
  • present ←
  • absent
Determines whether the config should be present or not on the device.
vbdif_bind_vpn
string
Specifies the name of the VPN instance that is associated with the interface. The value is a string of 1 to 31 case-sensitive characters, spaces not supported. When double quotation marks are used around the string, spaces are allowed in the string. The value _public_ is reserved and cannot be used as the VPN instance name.
vbdif_mac
string
Specifies a MAC address for a VBDIF interface. The value is in the format of H-H-H. Each H is a 4-digit hexadecimal number, such as 00e0 or fc01. If an H contains less than four digits, 0s are added ahead. For example, e0 is equal to 00e0. A MAC address cannot be all 0s or 1s or a multicast MAC address.
vbdif_name
string
Full name of VBDIF interface, i.e. Vbdif100.
vpn_instance
string
Specifies the name of a VPN instance. The value is a string of 1 to 31 case-sensitive characters, spaces not supported. When double quotation marks are used around the string, spaces are allowed in the string. The value _public_ is reserved and cannot be used as the VPN instance name.
vpn_vni
string
Specifies a VNI ID. Binds a VXLAN network identifier (VNI) to a virtual private network (VPN) instance. The value is an integer ranging from 1 to 16000000.

Notes

Note

  • Ensure All-Active Gateways or Distributed Gateway for the VXLAN Network can not configure at the same time.

  • Recommended connection is network_cli.

  • This module also works with local connections for legacy playbooks.

Examples

- name: Vxlan gateway 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: Configuring Centralized All-Active Gateways for the VXLAN Network
    community.network.ce_vxlan_gateway:
      dfs_id: 1
      dfs_source_ip: 6.6.6.6
      dfs_all_active: enable
      dfs_peer_ip: 7.7.7.7
      provider: "{{ cli }}"
  - name: Bind the VPN instance to a Layer 3 gateway, enable distributed gateway, and configure host route advertisement.
    community.network.ce_vxlan_gateway:
      vbdif_name: Vbdif100
      vbdif_bind_vpn: vpn1
      arp_distribute_gateway: enable
      arp_direct_route: enable
      provider: "{{ cli }}"
  - name: Assign a VNI to a VPN instance.
    community.network.ce_vxlan_gateway:
      vpn_instance: vpn1
      vpn_vni: 100
      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
verbose mode
k/v pairs of configuration after module execution

Sample:
{'dfs_all_active': 'enable', 'dfs_id': '1', 'evn_peers': [{'ip': '7.7.7.7', 'vpn': ''}], 'evn_source_ip': '6.6.6.6', 'evn_source_vpn': None}
existing
dictionary
verbose mode
k/v pairs of existing configuration

Sample:
{'dfs_all_active': 'disable', 'dfs_id': '1', 'dfs_source_ip': None, 'evn_peer_ip': []}
proposed
dictionary
verbose mode
k/v pairs of parameters passed into module

Sample:
{'dfs_all_active': 'enable', 'dfs_id': '1', 'dfs_peer_ip': '7.7.7.7', 'dfs_source_ip': '6.6.6.6'}
updates
list / elements=string
always
commands sent to the device

Sample:
['dfs-group 1', 'source ip 6.6.6.6', 'active-active-gateway', 'peer 7.7.7.7']


Authors

  • QijunPan (@QijunPan)