On this page
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
         | 
      
       
  | 
      
        
        Enable VLINK direct route on VBDIF interface.
         | 
     
| arp_distribute_gateway
        
        string
         | 
      
       
  | 
      
        
        Enable the distributed gateway function on VBDIF interface.
         | 
     
| dfs_all_active
        
        string
         | 
      
       
  | 
      
        
        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
         | 
      
       
  | 
      
        
        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 
localconnections 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)
 
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
 https://docs.ansible.com/ansible/latest/collections/community/network/ce_vxlan_gateway_module.html