community.network.ce_evpn_bgp_rr – Manages RR for the VXLAN Network on HUAWEI CloudEngine switches.

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_evpn_bgp_rr.

Synopsis

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

Parameters

Parameter Choices/Defaults Comments
as_number
string / required
Specifies the number of the AS, in integer format. The value is an integer that ranges from 1 to 4294967295.
bgp_evpn_enable
string
    Choices:
  • enable ←
  • disable
Enable or disable the BGP-EVPN address family.
bgp_instance
string
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
string
Specifies the IPv4 address or the group name of a peer.
peer_type
string
    Choices:
  • group_name
  • ipv4_address
Specify the peer type.
policy_vpn_target
string
    Choices:
  • enable
  • disable
Enable or disable the VPN-Target filtering.
reflect_client
string
    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."
    community.network.ce_evpn_bgp_rr:
      as_number: 20
      bgp_evpn_enable: enable
      provider: "{{ cli }}"

  - name: "Configure reflect client and ensure peer has existed."
    community.network.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."
    community.network.ce_evpn_bgp_rr:
      as_number: 20
      policy_vpn_target: enable
      provider: "{{ cli }}"

  - name: "Configure an RR in BGP-EVPN address family view."
    community.network.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 / elements=string
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']


Authors

  • Zhijin Zhou (@QijunPan)