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

New in version 2.4.

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

## Synopsis

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

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---

active_route_advertise
-

Choices:
- no_use ←
- true
- false

If the value is true, BGP is enabled to advertise only optimal routes in the RM to peers. If the value is false, BGP is not enabled to advertise only optimal routes in the RM to peers.

add_path_sel_num - |  | Number of Add-Path routes. The value is an integer ranging from 2 to 64.

af_type
- / required

Choices:
- ipv4uni
- ipv4multi
- ipv4vpn
- ipv6uni
- ipv6vpn
- evpn

Address family type of a BGP instance.

allow_invalid_as
-

Choices:
- no_use ←
- true
- false

Allow routes with BGP origin AS validation result Invalid to be selected. If the value is true, invalid routes can participate in route selection. If the value is false, invalid routes cannot participate in route selection.

always_compare_med
-

Choices:
- no_use ←
- true
- false

If the value is true, the MEDs of routes learned from peers in different autonomous systems are compared when BGP selects an optimal route. If the value is false, the MEDs of routes learned from peers in different autonomous systems are not compared when BGP selects an optimal route.

as_path_neglect
-

Choices:
- no_use ←
- true
- false

If the value is true, the AS path attribute is ignored when BGP selects an optimal route. If the value is false, the AS path attribute is not ignored when BGP selects an optimal route. An AS path with a smaller length has a higher priority.

auto_frr_enable
-

Choices:
- no_use ←
- true
- false

If the value is true, BGP auto FRR is enabled. If the value is false, BGP auto FRR is disabled.

default_local_pref - |  | Set the Local-Preference attribute. The value is an integer. The value is an integer ranging from 0 to 4294967295.
default_med - |  | Specify the Multi-Exit-Discriminator (MED) of BGP routes. The value is an integer ranging from 0 to 4294967295.

default_rt_import_enable
-

Choices:
- no_use ←
- true
- false

If the value is true, importing default routes to the BGP routing table is allowed. If the value is false, importing default routes to the BGP routing table is not allowed.

determin_med
-

Choices:
- no_use ←
- true
- false

If the value is true, BGP deterministic-MED is enabled. If the value is false, BGP deterministic-MED is disabled.

ebgp_ecmp_nexthop_changed
-

Choices:
- no_use ←
- true
- false

If the value is true, the next hop of an advertised route is changed to the advertiser itself in EBGP load-balancing scenarios. If the value is false, the next hop of an advertised route is not changed to the advertiser itself in EBGP load-balancing scenarios.

ebgp_if_sensitive
-

Choices:
- no_use ←
- true
- false

If the value is true, after the fast EBGP interface awareness function is enabled, EBGP sessions on an interface are deleted immediately when the interface goes Down. If the value is false, after the fast EBGP interface awareness function is enabled, EBGP sessions on an interface are not deleted immediately when the interface goes Down.

ecmp_nexthop_changed
-

Choices:
- no_use ←
- true
- false

If the value is true, the next hop of an advertised route is changed to the advertiser itself in BGP load-balancing scenarios. If the value is false, the next hop of an advertised route is not changed to the advertiser itself in BGP load-balancing scenarios.

ibgp_ecmp_nexthop_changed
-

Choices:
- no_use ←
- true
- false

If the value is true, the next hop of an advertised route is changed to the advertiser itself in IBGP load-balancing scenarios. If the value is false, the next hop of an advertised route is not changed to the advertiser itself in IBGP load-balancing scenarios.

igp_metric_ignore
-

Choices:
- no_use ←
- true
- false

If the value is true, the metrics of next-hop IGP routes are not compared when BGP selects an optimal route. If the value is false, the metrics of next-hop IGP routes are not compared when BGP selects an optimal route. A route with a smaller metric has a higher priority.

import_process_id - |  | Process ID of an imported routing protocol. The value is an integer ranging from 0 to 4294967295.

import_protocol
-

Choices:
- direct
- ospf
- isis
- static
- rip
- ospfv3
- ripng

Routing protocol from which routes can be imported.

ingress_lsp_policy_name - |  | Ingress lsp policy name.

load_balancing_as_path_ignore
-

Choices:
- no_use ←
- true
- false

Load balancing as path ignore.

lowest_priority
-

Choices:
- no_use ←
- true
- false

If the value is true, enable reduce priority to advertise route. If the value is false, disable reduce priority to advertise route.

mask_len - |  | Specify the mask length of an IP address. The value is an integer ranging from 0 to 128.
max_load_ebgp_num - |  | Specify the maximum number of equal-cost EBGP routes. The value is an integer ranging from 1 to 65535.
max_load_ibgp_num - |  | Specify the maximum number of equal-cost IBGP routes. The value is an integer ranging from 1 to 65535.
maximum_load_balance - |  | Specify the maximum number of equal-cost routes in the BGP routing table. The value is an integer ranging from 1 to 65535.

med_none_as_maximum
-

Choices:
- no_use ←
- true
- false

If the value is true, when BGP selects an optimal route, the system uses 4294967295 as the MED value of a route if the route's attribute does not carry a MED value. If the value is false, the system uses 0 as the MED value of a route if the route's attribute does not carry a MED value.

network_address - |  | Specify the IP address advertised by BGP. The value is a string of 0 to 255 characters.

next_hop_sel_depend_type
-

Choices:
- default ←
- dependTunnel
- dependIp

Next hop select depend type.

nexthop_third_party
-

Choices:
- no_use ←
- true
- false

If the value is true, the third-party next hop function is enabled. If the value is false, the third-party next hop function is disabled.

nhp_relay_route_policy_name - |  | Specify the name of a route-policy for route iteration. The value is a string of 1 to 40 characters.

originator_prior
-

Choices:
- no_use ←
- true
- false

Originator prior.

policy_ext_comm_enable
-

Choices:
- no_use ←
- true
- false

If the value is true, modifying extended community attributes is allowed. If the value is false, modifying extended community attributes is not allowed.

policy_vpn_target
-

Choices:
- no_use ←
- true
- false

If the value is true, VPN-Target filtering function is performed for received VPN routes. If the value is false, VPN-Target filtering function is not performed for received VPN routes.

preference_external - |  | Set the protocol priority of EBGP routes. The value is an integer ranging from 1 to 255.
preference_internal - |  | Set the protocol priority of IBGP routes. The value is an integer ranging from 1 to 255.
preference_local - |  | Set the protocol priority of a local BGP route. The value is an integer ranging from 1 to 255.
prefrence_policy_name - |  | Set a routing policy to filter routes so that a configured priority is applied to the routes that match the specified policy. The value is a string of 1 to 40 characters.

reflect_between_client
-

Choices:
- no_use ←
- true
- false

If the value is true, route reflection is enabled between clients. If the value is false, route reflection is disabled between clients.

reflect_chg_path
-

Choices:
- no_use ←
- true
- false

If the value is true, the route reflector is enabled to modify route path attributes based on an export policy. If the value is false, the route reflector is disabled from modifying route path attributes based on an export policy.

reflector_cluster_id - |  | Set a cluster ID. Configuring multiple RRs in a cluster can enhance the stability of the network. The value is an integer ranging from 1 to 4294967295.
reflector_cluster_ipv4 - |  | Set a cluster ipv4 address. The value is expressed in the format of an IPv4 address.

relay_delay_enable
-

Choices:
- no_use ←
- true
- false

If the value is true, relay delay enable. If the value is false, relay delay disable.

rib_only_enable
-

Choices:
- no_use ←
- true
- false

If the value is true, BGP routes cannot be advertised to the IP routing table. If the value is false, Routes preferred by BGP are advertised to the IP routing table.

rib_only_policy_name - |  | Specify the name of a routing policy. The value is a string of 1 to 40 characters.
route_sel_delay - |  | Route selection delay. The value is an integer ranging from 0 to 3600.
router_id - |  | ID of a router that is in IPv4 address format. The value is a string of 0 to 255 characters. The value is in dotted decimal notation.

router_id_neglect
-

Choices:
- no_use ←
- true
- false

If the value is true, the router ID attribute is ignored when BGP selects the optimal route. If the value is false, the router ID attribute is not ignored when BGP selects the optimal route.

rr_filter_number - |  | Set the number of the extended community filter supported by an RR group. The value is a string of 1 to 51 characters.

state
-

Choices:
- present ←
- absent

Specify desired state of the resource.

summary_automatic
-

Choices:
- no_use ←
- true
- false

If the value is true, automatic aggregation is enabled for locally imported routes. If the value is false, automatic aggregation is disabled for locally imported routes.

supernet_label_adv
-

Choices:
- no_use ←
- true
- false

If the value is true, the function to advertise supernetwork label is enabled. If the value is false, the function to advertise supernetwork label is disabled.

supernet_uni_adv
-

Choices:
- no_use ←
- true
- false

If the value is true, the function to advertise supernetwork unicast routes is enabled. If the value is false, the function to advertise supernetwork unicast routes is disabled.

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. The value is a string of 1 to 31 case-sensitive characters.

vrf_rid_auto_sel
-

Choices:
- no_use ←
- true
- false

If the value is true, VPN BGP instances are enabled to automatically select router IDs. If the value is false, VPN BGP instances are disabled from automatically selecting router IDs.

## 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 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 Address_Family"
        ce_bgp_af:
          state: present
          vrf_name: js
          af_type: ipv4uni
          provider: "{{ cli }}"
      - name: "Undo BGP Address_Family"
        ce_bgp_af:
          state: absent
          vrf_name: js
          af_type: ipv4uni
          provider: "{{ cli }}"
      - name: "Config import route"
        ce_bgp_af:
          state: present
          vrf_name: js
          af_type: ipv4uni
          import_protocol: ospf
          import_process_id: 123
          provider: "{{ cli }}"
      - name: "Undo import route"
        ce_bgp_af:
          state: absent
          vrf_name: js
          af_type: ipv4uni
          import_protocol: ospf
          import_process_id: 123
          provider: "{{ cli }}"
      - name: "Config network route"
        ce_bgp_af:
          state: present
          vrf_name: js
          af_type: ipv4uni
          network_address: 1.1.1.1
          mask_len: 24
          provider: "{{ cli }}"
      - name: "Undo network route"
        ce_bgp_af:
          state: absent
          vrf_name: js
          af_type: ipv4uni
          network_address: 1.1.1.1
          mask_len: 24
          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: {'af_type': 'ipv4uni', 'vrf_name': 'js'}
existing dictionary | always | k/v pairs of existing aaa server
proposed dictionary | always | k/v pairs of parameters passed into module Sample: {'af_type': 'ipv4uni', 'state': 'present', 'vrf_name': 'js'}
updates list | always | command sent to the device Sample: ['ipv4-family vpn-instance js']

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