ce_evpn_bgp_rr – Manages RR for the VXLAN Network on HUAWEI CloudEngine switches — Ansible Documentation

- AnsibleFest
- Products
- Community
- Webinars & Training
- Blog

Documentation

# ce_evpn_bgp_rr – Manages RR for the VXLAN Network on HUAWEI CloudEngine switches

New in version 2.4.

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

## Synopsis

- Configure an RR in BGP-EVPN address family view on HUAWEI CloudEngine switches.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
as_number - / required |  | Specifies the number of the AS, in integer format. The value is an integer that ranges from 1 to 4294967295.
bgp_evpn_enable - | Choices: enable ← disable | Enable or disable the BGP-EVPN address family.
bgp_instance - |  | Specifies the name of a BGP instance. The value of instance-name can be an integer 1 or a string of 1 to 31.
peer - |  | Specifies the IPv4 address or the group name of a peer.
peer_type - | Choices: group_name ipv4_address | Specify the peer type.
policy_vpn_target - | Choices: enable disable | Enable or disable the VPN-Target filtering.
reflect_client - | Choices: enable disable | Configure the local device as the route reflector and the peer or peer group as the client of the route reflector.

## Notes

Note

- Ensure that BGP view is existed.
- The peer, peer_type, and reflect_client arguments must all exist or not exist.
- Recommended connection is `network_cli`.
- This module also works with `local` connections for legacy playbooks.

## Examples

    - name: BGP RR 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 BGP-EVPN address family view and ensure that BGP view has existed."
        ce_evpn_bgp_rr:
          as_number: 20
          bgp_evpn_enable: enable
          provider: "{{ cli }}"

      - name: "Configure reflect client and ensure peer has existed."
        ce_evpn_bgp_rr:
          as_number: 20
          peer_type: ipv4_address
          peer: 192.8.3.3
          reflect_client: enable
          provider: "{{ cli }}"

      - name: "Configure the VPN-Target filtering."
        ce_evpn_bgp_rr:
          as_number: 20
          policy_vpn_target: enable
          provider: "{{ cli }}"

      - name: "Configure an RR in BGP-EVPN address family view."
        ce_evpn_bgp_rr:
          as_number: 20
          bgp_evpn_enable: enable
          peer_type: ipv4_address
          peer: 192.8.3.3
          reflect_client: enable
          policy_vpn_target: 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 dictionary | always | k/v pairs of end attributes on the device Sample: {'as_number': '20', 'bgp_evpn_enable': 'enable', 'bgp_instance': None, 'peer': '192.8.3.3', 'peer_type': 'ipv4_address', 'policy_vpn_target': 'disable', 'reflect_client': 'enable'}
existing dictionary | always | k/v pairs of existing attributes on the device Sample: {'as_number': '20', 'bgp_evpn_enable': 'disable', 'bgp_instance': None, 'peer': None, 'peer_type': None, 'policy_vpn_target': 'disable', 'reflect_client': 'disable'}
proposed dictionary | always | k/v pairs of parameters passed into module Sample: {'as_number': '20', 'bgp_evpn_enable': 'enable', 'bgp_instance': None, 'peer': '192.8.3.3', 'peer_type': 'ipv4_address', 'policy_vpn_target': 'disable', 'reflect_client': 'enable'}
updates list | always | command list sent to the device Sample: ['bgp 20', ' l2vpn-family evpn', ' peer 192.8.3.3 enable', ' peer 192.8.3.3 reflect-client', ' undo policy vpn-target']

## Status

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

### Authors

- Zhijin Zhou (@QijunPan)

Hint

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