On this page
ce_evpn_bd_vni - Manages EVPN VXLAN Network Identifier (VNI) on HUAWEI CloudEngine switches.
New in version 2.4.
Synopsis
- Manages Ethernet Virtual Private Network (EVPN) VXLAN Network Identifier (VNI) configurations on HUAWEI CloudEngine switches.
 
Parameters
| Parameter | Choices/Defaults | Comments | 
|---|---|---|
| bridge_domain_id  
        required
         | 
      
        
        Specify an existed bridge domain (BD).The value is an integer ranging from 1 to 16777215.
         | 
     |
| evpn | 
       
  | 
      
        
        Create or delete an EVPN instance for a VXLAN in BD view.
         | 
     
| route_distinguisher | 
        
        Configures a route distinguisher (RD) for a BD EVPN instance. The format of an RD can be as follows
        
       
        1) 2-byte AS number:4-byte user-defined number, for example, 1:3. An AS number is an integer ranging from 0 to 65535, and a user-defined number is an integer ranging from 0 to 4294967295. The AS and user-defined numbers cannot be both 0s. This means that an RD cannot be 0:0.
        
       
        2) Integral 4-byte AS number:2-byte user-defined number, for example, 65537:3. An AS number is an integer ranging from 65536 to 4294967295, and a user-defined number is an integer ranging from 0 to 65535.
        
       
        3) 4-byte AS number in dotted notation:2-byte user-defined number, for example, 0.0:3 or 0.1:0. A 4-byte AS number in dotted notation is in the format of x.y, where x and y are integers ranging from 0 to 65535.
        
       
        4) A user-defined number is an integer ranging from 0 to 65535. The AS and user-defined numbers cannot be both 0s. This means that an RD cannot be 0.0:0.
        
       
        5) 32-bit IP address:2-byte user-defined number. For example, 192.168.122.15:1. An IP address ranges from 0.0.0.0 to 255.255.255.255, and a user-defined number is an integer ranging from 0 to 65535.
        
       
        6) 'auto' specifies the RD that is automatically generated.
         | 
     |
| state | 
       
  | 
      
        
        Manage the state of the resource.
         | 
     
| vpn_target_both | 
        
        Add VPN targets to both the import and export VPN target lists of a BD EVPN instance. The format is the same as route_distinguisher.
         | 
     |
| vpn_target_export | 
        
        Add VPN targets to the export VPN target list of a BD EVPN instance. The format is the same as route_distinguisher.
         | 
     |
| vpn_target_import  
        required
         | 
      
        
        Add VPN targets to the import VPN target list of a BD EVPN instance. The format is the same as route_distinguisher.
         | 
     
Notes
Note
- Ensure that EVPN has been configured to serve as the VXLAN control plane when state is present.
 - Ensure that a bridge domain (BD) has existed when state is present.
 - Ensure that a VNI has been created and associated with a broadcast domain (BD) when state is present.
 - If you configure evpn:false to delete an EVPN instance, all configurations in the EVPN instance are deleted.
 - After an EVPN instance has been created in the BD view, you can configure an RD using route_distinguisher parameter in BD-EVPN instance view.
 - Before configuring VPN targets for a BD EVPN instance, ensure that an RD has been configured for the BD EVPN instance
 - If you unconfigure route_distinguisher, all VPN target attributes for the BD EVPN instance will be removed at the same time.
 - When using state:absent, evpn is not supported and it will be ignored.
 - When using state:absent to delete VPN target attributes, ensure the configuration of VPN target attributes has existed and otherwise it will report an error.
 
Examples
- name: EVPN BD VNI 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 an EVPN instance for a VXLAN in BD view"
    ce_evpn_bd_vni:
      bridge_domain_id: 20
      evpn: enable
      provider: "{{ cli }}"
  - name: "Configure a route distinguisher (RD) for a BD EVPN instance"
    ce_evpn_bd_vni:
      bridge_domain_id: 20
      route_distinguisher: '22:22'
      provider: "{{ cli }}"
  - name: "Configure VPN targets to both the import and export VPN target lists of a BD EVPN instance"
    ce_evpn_bd_vni:
      bridge_domain_id: 20
      vpn_target_both: 22:100,22:101
      provider: "{{ cli }}"
  - name: "Configure VPN targets to the import VPN target list of a BD EVPN instance"
    ce_evpn_bd_vni:
      bridge_domain_id: 20
      vpn_target_import: 22:22,22:23
      provider: "{{ cli }}"
  - name: "Configure VPN targets to the export VPN target list of a BD EVPN instance"
    ce_evpn_bd_vni:
      bridge_domain_id: 20
      vpn_target_export: 22:38,22:39
      provider: "{{ cli }}"
  - name: "Unconfigure VPN targets to both the import and export VPN target lists of a BD EVPN instance"
    ce_evpn_bd_vni:
      bridge_domain_id: 20
      vpn_target_both: '22:100'
      state: absent
      provider: "{{ cli }}"
  - name: "Unconfigure VPN targets to the import VPN target list of a BD EVPN instance"
    ce_evpn_bd_vni:
      bridge_domain_id: 20
      vpn_target_import: '22:22'
      state: absent
      provider: "{{ cli }}"
  - name: "Unconfigure VPN targets to the export VPN target list of a BD EVPN instance"
    ce_evpn_bd_vni:
      bridge_domain_id: 20
      vpn_target_export: '22:38'
      state: absent
      provider: "{{ cli }}"
  - name: "Unconfigure a route distinguisher (RD) of a BD EVPN instance"
    ce_evpn_bd_vni:
      bridge_domain_id: 20
      route_distinguisher: '22:22'
      state: absent
      provider: "{{ cli }}"
  - name: "Unconfigure an EVPN instance for a VXLAN in BD view"
    ce_evpn_bd_vni:
      bridge_domain_id: 20
      evpn: disable
      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  
        dict
         | 
      always | 
        
        k/v pairs of end attributes on the device
         Sample:
        
       
        {'bridge_domain_id': '2', 'evpn': 'enable', 'route_distinguisher': '22:22', 'vpn_target_both': ['22:100', '22:101'], 'vpn_target_export': ['22:38', '22:39'], 'vpn_target_import': ['22:22', '22:23']}
         | 
     
| existing  
        dict
         | 
      always | 
        
        k/v pairs of existing attributes on the device
         Sample:
        
       
        {'bridge_domain_id': '2', 'evpn': 'disable', 'route_distinguisher': None, 'vpn_target_both': [], 'vpn_target_export': [], 'vpn_target_import': []}
         | 
     
| proposed  
        dict
         | 
      always | 
        
        k/v pairs of parameters passed into module
         Sample:
        
       
        {'bridge_domain_id': '2', 'evpn': 'enable', 'route_distinguisher': '22:22', 'state': 'present', 'vpn_target_both': ['22:100', '22:101'], 'vpn_target_export': ['22:38', '22:39'], 'vpn_target_import': ['22:22', '22:23']}
         | 
     
| updates  
        list
         | 
      always | 
        
        command list sent to the device
         Sample:
        
       
        ['bridge-domain 2', ' evpn', ' route-distinguisher 22:22', ' vpn-target 22:38 export-extcommunity', ' vpn-target 22:39 export-extcommunity', ' vpn-target 22:100 export-extcommunity', ' vpn-target 22:101 export-extcommunity', ' vpn-target 22:22 import-extcommunity', ' vpn-target 22:23 import-extcommunity', ' vpn-target 22:100 import-extcommunity', ' vpn-target 22:101 import-extcommunity']
         | 
     
Status
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
Maintenance
This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.
For a list of other modules that are also maintained by the Ansible Community, see here.
Author
- Zhijin Zhou (@CloudEngine-Ansible)
 
Hint
If you notice any issues in this documentation you can edit this document to improve it.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
 https://docs.ansible.com/ansible/2.6/modules/ce_evpn_bd_vni_module.html