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

Documentation

# ce_bgp_neighbor_af – Manages BGP neighbor Address-family configuration on HUAWEI CloudEngine switches

New in version 2.4.

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

## Synopsis

- Manages BGP neighbor Address-family configurations on HUAWEI CloudEngine switches.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
add_path_mode - | Choices: null receive send both | null, Null. receive, Support receiving Add-Path routes. send, Support sending Add-Path routes. both, Support receiving and sending Add-Path routes.
adv_add_path_num - |  | The number of addPath advertise route. The value is an integer ranging from 2 to 64.
advertise_arp - | Choices: no_use ← true false | If the value is true, advertised ARP routes are distinguished. If the value is false, advertised ARP routes are not distinguished.
advertise_community - | Choices: no_use ← true false | If the value is true, the community attribute is advertised to peers. If the value is false, the community attribute is not advertised to peers.
advertise_ext_community - | Choices: no_use ← true false | If the value is true, the extended community attribute is advertised to peers. If the value is false, the extended community attribute is not advertised to peers.
advertise_irb - | Choices: no_use ← true false | If the value is true, advertised IRB routes are distinguished. If the value is false, advertised IRB routes are not distinguished.
advertise_remote_nexthop - | Choices: no_use ← true false | If the value is true, the remote next-hop attribute is advertised to peers. If the value is false, the remote next-hop attribute is not advertised to any peers.
af_type - / required | Choices: ipv4uni ipv4multi ipv4vpn ipv6uni ipv6vpn evpn | Address family type of a BGP instance.
allow_as_loop_enable - | Choices: no_use ← true false | If the value is true, repetitive local AS numbers are allowed. If the value is false, repetitive local AS numbers are not allowed.
allow_as_loop_limit - |  | Set the maximum number of repetitive local AS number. The value is an integer ranging from 1 to 10.
default_rt_adv_enable - | Choices: no_use ← true false | If the value is true, the function to advertise default routes to peers is enabled. If the value is false, the function to advertise default routes to peers is disabled.
default_rt_adv_policy - |  | Specify the name of a used policy. The value is a string. The value is a string of 1 to 40 characters.
default_rt_match_mode - | Choices: null matchall matchany | null, Null. matchall, Advertise the default route if all matching conditions are met. matchany, Advertise the default route if any matching condition is met.
discard_ext_community - | Choices: no_use ← true false | If the value is true, the extended community attribute in the peer route information is discarded. If the value is false, the extended community attribute in the peer route information is not discarded.
export_acl_name_or_num - |  | Apply an IPv4 ACL-based filtering policy to the routes to be advertised to a specified peer. The value is a string of 1 to 32 characters.
export_as_path_filter - |  | Apply an AS_Path-based filtering policy to the routes to be advertised to a specified peer. The value is an integer ranging from 1 to 256.
export_as_path_name_or_num - |  | Application of a AS path list based filtering policy to the routing of a specified peer.
export_pref_filt_name - |  | Specify the IPv4 filtering policy applied to the routes to be advertised to a specified peer. The value is a string of 1 to 169 characters.
export_rt_policy_name - |  | Specify the filtering policy applied to the routes to be advertised to a peer. The value is a string of 1 to 40 characters.
import_acl_name_or_num - |  | Apply an IPv4 ACL-based filtering policy to the routes received from a specified peer. The value is a string of 1 to 32 characters.
import_as_path_filter - |  | Apply an AS_Path-based filtering policy to the routes received from a specified peer. The value is an integer ranging from 1 to 256.
import_as_path_name_or_num - |  | A routing strategy based on the AS path list for routing received by a designated peer.
import_pref_filt_name - |  | Specify the IPv4 filtering policy applied to the routes received from a specified peer. The value is a string of 1 to 169 characters.
import_rt_policy_name - |  | Specify the filtering policy applied to the routes learned from a peer. The value is a string of 1 to 40 characters.
ipprefix_orf_enable - | Choices: no_use ← true false | If the value is true, the address prefix-based Outbound Route Filter (ORF) capability is enabled for peers. If the value is false, the address prefix-based Outbound Route Filter (ORF) capability is disabled for peers.
is_nonstd_ipprefix_mod - | Choices: no_use ← true false | If the value is true, Non-standard capability codes are used during capability negotiation. If the value is false, RFC-defined standard ORF capability codes are used during capability negotiation.
keep_all_routes - | Choices: no_use ← true false | If the value is true, the system stores all route update messages received from all peers (groups) after BGP connection setup. If the value is false, the system stores only BGP update messages that are received from peers and pass the configured import policy.
nexthop_configure - | Choices: null local invariable | null, The next hop is not changed. local, The next hop is changed to the local IP address. invariable, Prevent the device from changing the next hop of each imported IGP route when advertising it to its BGP peers.
orf_mode - | Choices: null receive send both | ORF mode. null, Default value. receive, ORF for incoming packets. send, ORF for outgoing packets. both, ORF for incoming and outgoing packets.
orftype - |  | ORF Type. The value is an integer ranging from 0 to 65535.
origin_as_valid - | Choices: no_use ← true false | If the value is true, Application results of route announcement. If the value is false, Routing application results are not notified.
preferred_value - |  | Assign a preferred value for the routes learned from a specified peer. The value is an integer ranging from 0 to 65535.
public_as_only - | Choices: no_use ← true false | If the value is true, sent BGP update messages carry only the public AS number but do not carry private AS numbers. If the value is false, sent BGP update messages can carry private AS numbers.
public_as_only_force - | Choices: no_use ← true false | If the value is true, sent BGP update messages carry only the public AS number but do not carry private AS numbers. If the value is false, sent BGP update messages can carry private AS numbers.
public_as_only_limited - | Choices: no_use ← true false | Limited use public as number.
public_as_only_replace - | Choices: no_use ← true false | Private as replaced by public as number.
public_as_only_skip_peer_as - | Choices: no_use ← true false | Public as only skip peer as.
redirect_ip - | Choices: no_use ← true false | Redirect ip.
redirect_ip_vaildation - | Choices: no_use ← true false | Redirect ip vaildation.
reflect_client - | Choices: no_use ← true false | If the value is true, the local device functions as the route reflector and a peer functions as a client of the route reflector. If the value is false, the route reflector and client functions are not configured.
remote_address - / required |  | IPv4 or IPv6 peer connection address.
route_limit - |  | Configure the maximum number of routes that can be accepted from a peer. The value is an integer ranging from 1 to 4294967295.
route_limit_idle_timeout - |  | Specify the value of the idle-timeout timer to automatically reestablish the connections after they are cut off when the number of routes exceeds the set threshold. The value is an integer ranging from 1 to 1200.
route_limit_percent - |  | Specify the percentage of routes when a router starts to generate an alarm. The value is an integer ranging from 1 to 100.
route_limit_type - | Choices: noparameter alertOnly idleForever idleTimeout | Noparameter, After the number of received routes exceeds the threshold and the timeout timer expires,no action. AlertOnly, An alarm is generated and no additional routes will be accepted if the maximum number of routes allowed have been received. IdleForever, The connection that is interrupted is not automatically re-established if the maximum number of routes allowed have been received. IdleTimeout, After the number of received routes exceeds the threshold and the timeout timer expires, the connection that is interrupted is automatically re-established.
rt_updt_interval - |  | Specify the minimum interval at which Update packets are sent. The value is an integer, in seconds. The value is an integer ranging from 0 to 600.
soostring - |  | Configure the Site-of-Origin (SoO) extended community attribute. The value is a string of 3 to 21 characters.
substitute_as_enable - | Choices: no_use ← true false | If the value is true, the function to replace a specified peer's AS number in the AS-Path attribute with the local AS number is enabled. If the value is false, the function to replace a specified peer's AS number in the AS-Path attribute with the local AS number is disabled.
update_pkt_standard_compatible - | Choices: no_use ← true false | If the value is true, When the vpnv4 multicast neighbor receives and updates the message, the message has no label. If the value is false, When the vpnv4 multicast neighbor receives and updates the message, the message has label.
vpls_ad_disable - | Choices: no_use ← true false | If the value is true, enable vpls-ad. If the value is false, disable vpls-ad.
vpls_enable - | Choices: no_use ← true false | If the value is true, vpls enable. If the value is false, vpls disable.
vrf_name - / required |  | Name of a BGP instance. The name is a case-sensitive string of characters. The BGP instance can be used only after the corresponding VPN instance is created.

## Notes

Note

- This module requires the netconf system service be enabled on the remote device being managed.
- Recommended connection is `netconf`.
- This module also works with `local` connections for legacy playbooks.

## Examples

    - name: CloudEngine BGP neighbor address family 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: "Config BGP peer Address_Family"
        ce_bgp_neighbor_af:
          state: present
          vrf_name: js
          af_type: ipv4uni
          remote_address: 192.168.10.10
          nexthop_configure: local
          provider: "{{ cli }}"

      - name: "Undo BGP peer Address_Family"
        ce_bgp_neighbor_af:
          state: absent
          vrf_name: js
          af_type: ipv4uni
          remote_address: 192.168.10.10
          nexthop_configure: local
          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 aaa params after module execution Sample: {'bgp neighbor af': {'af_type': 'ipv4uni', 'remote_address': '192.168.10.10', 'vrf_name': 'js'}, 'bgp neighbor af other': {'af_type': 'ipv4uni', 'nexthop_configure': 'local', 'vrf_name': 'js'}}
existing dictionary | always | k/v pairs of existing aaa server Sample: {'bgp neighbor af': {'af_type': 'ipv4uni', 'remote_address': '192.168.10.10', 'vrf_name': 'js'}, 'bgp neighbor af other': {'af_type': 'ipv4uni', 'nexthop_configure': 'null', 'vrf_name': 'js'}}
proposed dictionary | always | k/v pairs of parameters passed into module Sample: {'af_type': 'ipv4uni', 'nexthop_configure': 'local', 'remote_address': '192.168.10.10', 'state': 'present', 'vrf_name': 'js'}
updates list | always | command sent to the device Sample: ['peer 192.168.10.10 next-hop-local']

## Status

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

### Authors

- wangdezhuang (@QijunPan)

Hint

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