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 2.1.1).

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)