arista.eos.eos_bgp_global module – Manages BGP global resource module

Note

This module is part of the arista.eos collection (version 3.1.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 arista.eos.

To use it in a playbook, specify: arista.eos.eos_bgp_global.

New in version 1.4.0: of arista.eos

Synopsis

  • This module configures and manages the attributes of BGP global on Arista EOS platforms.

Note

This module has a corresponding action plugin.

Parameters

Parameter

Comments

config

dictionary

A list of configurations for BGP global.

access_group

list / elements=dictionary

ip/ipv6 access list configuration.

acl_name

string

access list name.

afi

string

Specify ip/ipv6.

Choices:

  • ipv4

  • ipv6

direction

string

direction of packets.

aggregate_address

list / elements=dictionary

Configure aggregate address.

address

string

ipv4/ipv6 address prefix.

advertise_only

boolean

Advertise without installing the generated blackhole route in FIB.

Choices:

  • no

  • yes

as_set

boolean

Generate autonomous system set path information.

Choices:

  • no

  • yes

attribute_map

string

Name of the route map used to set the attribute of the aggregate route.

match_map

string

Name of the route map used to filter the contributors of the aggregate route.

summary_only

boolean

Filters all more-specific routes from updates.

Choices:

  • no

  • yes

as_number

string

Autonomous system number.

bgp_params

dictionary

BGP parameters.

additional_paths

string

BGP additional-paths commands

Choices:

  • install

  • send

  • receive

advertise_inactive

boolean

Advertise BGP routes even if they are inactive in RIB.

Choices:

  • no

  • yes

allowas_in

dictionary

Allow local-as in updates.

count

integer

Number of local ASNs allowed in a BGP update.

set

boolean

When True, it is set.

Choices:

  • no

  • yes

always_compare_med

boolean

BGP Always Compare MED

Choices:

  • no

  • yes

asn

string

AS Number notation.

Choices:

  • asdot

  • asplain

auto_local_addr

boolean

Automatically determine the local address to be used for the non-transport AF.

Choices:

  • no

  • yes

bestpath

dictionary

Select the bestpath selection algorithim for BGP routes.

as_path

string

Select the bestpath selection based on as-path.

Choices:

  • ignore

  • multipath_relax

ecmp_fast

boolean

Tie-break BGP paths in a ECMP group based on the order of arrival.

Choices:

  • no

  • yes

med

dictionary

MED attribute

confed

boolean

MED Confed.

Choices:

  • no

  • yes

missing_as_worst

boolean

MED missing-as-worst.

Choices:

  • no

  • yes

skip

boolean

skip one of the tie breaking rules in the bestpath selection.

Choices:

  • no

  • yes

tie_break

string

Configure the tie-break option for BGP bestpath selection.

Choices:

  • cluster_list_length

  • router_id

client_to_client

boolean

client to client configuration.

Choices:

  • no

  • yes

cluster_id

string

Cluster ID of this router acting as a route reflector.

confederation

dictionary

confederation.

identifier

string

Confederation identifier.

peers

string

Confederation peers.

control_plane_filter

boolean

Control plane filter for BGP.

Choices:

  • no

  • yes

convergence

dictionary

Bgp convergence parameters.

slow_peer

boolean

Maximum amount of time to wait for slow peers to estabilsh session.

Choices:

  • no

  • yes

time

integer

time in secs

default

string

Default neighbor configuration commands.

Choices:

  • ipv4_unicast

  • ipv6_unicast

enforce_first_as

boolean

Enforce the First AS for EBGP routes(default).

Choices:

  • no

  • yes

host_routes

boolean

BGP host routes configuration.

Choices:

  • no

  • yes

labeled_unicast

string

Labeled Unicast.

Choices:

  • ip

  • tunnel

listen

dictionary

BGP listen.

limit

integer

Set limit on the number of dynamic BGP peers allowed.

range

dictionary

Subnet Range to be associated with the peer group.

address

string

Address prefix

peer_group

dictionary

Name of peer group.

name

string

name.

peer_filter

string

Name of peer filter.

remote_as

string

Neighbor AS number

log_neighbor_changes

boolean

Log neighbor up/down events.

Choices:

  • no

  • yes

missing_policy

dictionary

Missing policy override configuration commands.

action

string

Missing policy action options.

Choices:

  • deny

  • permit

  • deny-in-out

direction

string

Missing policy direction options.

Choices:

  • in

  • out

monitoring

boolean

Enable Bgp monitoring for all/specified stations.

Choices:

  • no

  • yes

next_hop_unchanged

boolean

Preserve original nexthop while advertising routes to eBGP peers.

Choices:

  • no

  • yes

redistribute_internal

boolean

Redistribute internal BGP routes.

Choices:

  • no

  • yes

route

string

Configure route-map for route installation.

route_reflector

dictionary

Configure route reflector options

preserve

boolean

preserve route attributes, overwriting route-map changes

Choices:

  • no

  • yes

set

boolean

When True route_reflector is set.

Choices:

  • no

  • yes

transport

integer

Configure transport port for TCP session

default_metric

integer

Default metric.

distance

dictionary

Define an administrative distance.

external

integer

distance for external routes.

internal

integer

distance for internal routes.

local

integer

distance for local routes.

graceful_restart

dictionary

Enable graceful restart mode.

restart_time

integer

Set the max time needed to restart and come back up.

set

boolean

When True, graceful restart is set.

Choices:

  • no

  • yes

stalepath_time

integer

Set the max time to hold onto restarting peer stale paths.

graceful_restart_helper

boolean

Enable graceful restart helper mode.

Choices:

  • no

  • yes

maximum_paths

dictionary

Maximum number of equal cost paths.

max_equal_cost_paths

integer

Value for maximum number of equal cost paths.

max_installed_ecmp_paths

integer

Value for maximum number of installed ECMP routes.

monitoring

dictionary

BGP monitoring protocol configuration.

port

integer

Configure the BGP monitoring protocol port number <1024-65535>.

received

string

BGP monitoring protocol received route selection.

Choices:

  • post_policy

  • pre_policy

station

string

BGP monitoring station configuration.

timestamp

string

BGP monitoring protocol Per-Peer Header timestamp behavior.

Choices:

  • none

  • send_time

neighbor

aliases: neighbors

list / elements=dictionary

Configure routing for a network.

additional_paths

string

BGP additional-paths commands.

Choices:

  • send

  • receive

allowas_in

dictionary

Allow local-as in updates.

count

integer

Number of local ASNs allowed in a BGP update.

set

boolean

When True, it is set.

Choices:

  • no

  • yes

auto_local_addr

boolean

Automatically determine the local address to be used for the non-transport AF.

Choices:

  • no

  • yes

default_originate

dictionary

Originate default route to this neighbor.

always

boolean

Always originate default route to this neighbor.

Choices:

  • no

  • yes

route_map

string

Route map reference.

description

string

Text describing the neighbor.

dont_capability_negotiate

boolean

Donot perform Capability Negotiation with this neighbor.

Choices:

  • no

  • yes

ebgp_multihop

dictionary

Allow BGP connections to indirectly connected external peers.

set

boolean

If True, ttl is not set.

Choices:

  • no

  • yes

ttl

integer

Time-to-live in the range 1-255 hops.

encryption_password

dictionary

Password to use in computation of MD5 hash.

password

string

password (up to 80 chars).

type

integer

Encryption type.

Choices:

  • 0

  • 7

enforce_first_as

boolean

Enforce the First AS for EBGP routes(default).

Choices:

  • no

  • yes

export_localpref

integer

Override localpref when exporting to an internal peer.

fall_over

boolean

Configure BFD protocol options for this peer.

Choices:

  • no

  • yes

graceful_restart

boolean

Enable graceful restart mode.

Choices:

  • no

  • yes

graceful_restart_helper

boolean

Enable graceful restart helper mode.

Choices:

  • no

  • yes

idle_restart_timer

integer

Neighbor idle restart timer.

import_localpref

integer

Override localpref when importing from an external peer.

dictionary

Enable link bandwidth community for routes to this peer.

boolean

Enable link bandwidth auto generation for routes from this peer.

Choices:

  • no

  • yes

string

Enable link bandwidth default generation for routes from this peer.

boolean

If True, set link bandwidth

Choices:

  • no

  • yes

integer

Delay outbound route updates.

local_as

dictionary

Configure local AS number advertised to peer.

as_number

string

AS number.

fallback

boolean

Prefer router AS Number over local AS Number.

Choices:

  • no

  • yes

local_v6_addr

string

The local IPv6 address of the neighbor in A:B:C:D:E:F:G:H format.

maximum_accepted_routes

dictionary

Maximum number of routes accepted from this peer.

count

integer

Maximum number of accepted routes (0 means unlimited).

warning_limit

integer

Maximum number of accepted routes after which a warning is issued. (0 means never warn)

maximum_received_routes

dictionary

Maximum number of routes received from this peer.

count

integer

Maximum number of routes (0 means unlimited).

warning_limit

dictionary

Percentage of maximum-routes at which warning is to be issued.

limit_count

integer

Number of routes at which to warn.

limit_percent

integer

Percentage of maximum number of routes at which to warn( 1-100).

warning_only

boolean

Only warn, no restart, if max route limit exceeded.

Choices:

  • no

  • yes

metric_out

integer

MED value to advertise to peer.

monitoring

boolean

Enable BGP Monitoring Protocol for this peer.

Choices:

  • no

  • yes

next_hop_self

boolean

Always advertise this router address as the BGP next hop

Choices:

  • no

  • yes

next_hop_unchanged

boolean

Preserve original nexthop while advertising routes to eBGP peers.

Choices:

  • no

  • yes

next_hop_v6_address

string

IPv6 next-hop address for the neighbor

out_delay

integer

Delay outbound route updates.

peer

string

Neighbor address or peer group.

peer_group

string

Name of the peer group.

prefix_list

dictionary

Prefix list reference.

direction

string

Configure an inbound/outbound prefix-list.

Choices:

  • in

  • out

name

string

prefix list name.

remote_as

string

Neighbor Autonomous System.

remove_private_as

dictionary

Remove private AS number from updates to this peer.

all

boolean

Remove private AS number.

Choices:

  • no

  • yes

replace_as

boolean

Replace private AS number with local AS number.

Choices:

  • no

  • yes

set

boolean

If True, set remove_private_as.

Choices:

  • no

  • yes

route_map

dictionary

Route map reference.

direction

string

Configure an inbound/outbound route-map.

Choices:

  • in

  • out

name

string

Route map name.

route_reflector_client

boolean

Configure peer as a route reflector client.

Choices:

  • no

  • yes

route_to_peer

boolean

Use routing table information to reach the peer.

Choices:

  • no

  • yes

send_community

dictionary

Send community attribute to this neighbor.

community_attribute

string

Type of community attributes to send to this neighbor.

divide

string

link-bandwidth divide attribute.

Choices:

  • equal

  • ratio

string

cumulative/aggregate attribute to be sent.

Choices:

  • aggregate

  • divide

speed

string

Reference link speed in bits/second

sub_attribute

string

Attribute to be sent to the neighbor.

Choices:

  • extended

  • link-bandwidth

  • standard

shutdown

boolean

Administratively shut down this neighbor.

Choices:

  • no

  • yes

soft_recognition

string

Configure how to handle routes that fail import.

Choices:

  • all

  • None

timers

dictionary

Timers.

holdtime

integer

Hold time in secs.

keepalive

integer

Keep Alive Interval in secs.

transport

dictionary

Configure transport options for TCP session.

connection_mode

string

Configure connection-mode for TCP session.

remote_port

integer

Configure BGP peer TCP port to connect to.

ttl

integer

BGP ttl security check

update_source

string

Specify the local source interface for peer BGP sessions.

weight

integer

Weight to assign.

network

aliases: networks

list / elements=dictionary

Configure routing for a network.

address

string

address prefix.

route_map

string

Name of route map.

redistribute

list / elements=dictionary

Redistribute routes in to BGP.

isis_level

string

Applicable for isis routes. Specify isis route level.

Choices:

  • level-1

  • level-2

  • level-1-2

ospf_route

string

ospf route options.

Choices:

  • internal

  • external

  • nssa_external_1

  • nssa_external_2

protocol

string

Routes to be redistributed.

Choices:

  • isis

  • ospfv3

  • ospf

  • attached-host

  • connected

  • rip

  • static

route_map

string

Route map reference.

route_target

dictionary

Route target.

action

string

Route action.

Choices:

  • both

  • import

  • export

target

string

Route Target.

router_id

string

Router id.

shutdown

boolean

When True, shut down BGP.

Choices:

  • no

  • yes

timers

dictionary

Timers.

holdtime

integer

Hold time in secs.

keepalive

integer

Keep Alive Interval in secs.

ucmp

dictionary

Configure unequal cost multipathing.

fec

dictionary

Configure UCMP fec utilization threshold.

clear

integer

UCMP FEC utilization Clear thresholds.

trigger

integer

UCMP fec utilization too high threshold.

dictionary

Configure link-bandwidth propagation delay.

string

UCMP link bandwidth mode

Choices:

  • encoding_weighted

  • recursive

integer

Link Bandwidth Advertisement delay.

mode

dictionary

UCMP mode.

nexthops

integer

Value for total number UCMP nexthops.

set

boolean

If True, ucmp mode is set to 1.

Choices:

  • no

  • yes

update

dictionary

Configure BGP update generation.

batch_size

integer

batch size for FIB route acknowledgements.

wait_for

string

wait for options before converge or synchronize.

Choices:

  • wait_for_convergence

  • wait_install

vlan

integer

Configure MAC VRF BGP for single VLAN support.

vlan_aware_bundle

string

Configure MAC VRF BGP for multiple VLAN support.

vrfs

list / elements=dictionary

Configure BGP in a VRF.

access_group

list / elements=dictionary

ip/ipv6 access list configuration.

acl_name

string

access list name.

afi

string

Specify ip/ipv6.

Choices:

  • ipv4

  • ipv6

direction

string

direction of packets.

aggregate_address

list / elements=dictionary

Configure aggregate address.

address

string

ipv4/ipv6 address prefix.

advertise_only

boolean

Advertise without installing the generated blackhole route in FIB.

Choices:

  • no

  • yes

as_set

boolean

Generate autonomous system set path information.

Choices:

  • no

  • yes

attribute_map

string

Name of the route map used to set the attribute of the aggregate route.

match_map

string

Name of the route map used to filter the contributors of the aggregate route.

summary_only

boolean

Filters all more-specific routes from updates.

Choices:

  • no

  • yes

bgp_params

dictionary

BGP parameters.

additional_paths

string

BGP additional-paths commands

Choices:

  • install

  • send

  • receive

advertise_inactive

boolean

Advertise BGP routes even if they are inactive in RIB.

Choices:

  • no

  • yes

allowas_in

dictionary

Allow local-as in updates.

count

integer

Number of local ASNs allowed in a BGP update.

set

boolean

When True, it is set.

Choices:

  • no

  • yes

always_compare_med

boolean

BGP Always Compare MED

Choices:

  • no

  • yes

asn

string

AS Number notation.

Choices:

  • asdot

  • asplain

auto_local_addr

boolean

Automatically determine the local address to be used for the non-transport AF.

Choices:

  • no

  • yes

bestpath

dictionary

Select the bestpath selection algorithim for BGP routes.

as_path

string

Select the bestpath selection based on as-path.

Choices:

  • ignore

  • multipath_relax

ecmp_fast

boolean

Tie-break BGP paths in a ECMP group based on the order of arrival.

Choices:

  • no

  • yes

med

dictionary

MED attribute

confed

boolean

MED Confed.

Choices:

  • no

  • yes

missing_as_worst

boolean

MED missing-as-worst.

Choices:

  • no

  • yes

skip

boolean

skip one of the tie breaking rules in the bestpath selection.

Choices:

  • no

  • yes

tie_break

string

Configure the tie-break option for BGP bestpath selection.

Choices:

  • cluster_list_length

  • router_id

client_to_client

boolean

client to client configuration.

Choices:

  • no

  • yes

cluster_id

string

Cluster ID of this router acting as a route reflector.

confederation

dictionary

confederation.

identifier

string

Confederation identifier.

peers

string

Confederation peers.

control_plane_filter

boolean

Control plane filter for BGP.

Choices:

  • no

  • yes

convergence

dictionary

Bgp convergence parameters.

slow_peer

boolean

Maximum amount of time to wait for slow peers to estabilsh session.

Choices:

  • no

  • yes

time

integer

time in secs

default

string

Default neighbor configuration commands.

Choices:

  • ipv4_unicast

  • ipv6_unicast

enforce_first_as

boolean

Enforce the First AS for EBGP routes(default).

Choices:

  • no

  • yes

host_routes

boolean

BGP host routes configuration.

Choices:

  • no

  • yes

labeled_unicast

string

Labeled Unicast.

Choices:

  • ip

  • tunnel

listen

dictionary

BGP listen.

limit

integer

Set limit on the number of dynamic BGP peers allowed.

range

dictionary

Subnet Range to be associated with the peer group.

address

string

Address prefix

peer_group

dictionary

Name of peer group.

name

string

name.

peer_filter

string

Name of peer filter.

remote_as

string

Neighbor AS number

log_neighbor_changes

boolean

Log neighbor up/down events.

Choices:

  • no

  • yes

missing_policy

dictionary

Missing policy override configuration commands.

action

string

Missing policy action options.

Choices:

  • deny

  • permit

  • deny-in-out

direction

string

Missing policy direction options.

Choices:

  • in

  • out

monitoring

boolean

Enable Bgp monitoring for all/specified stations.

Choices:

  • no

  • yes

next_hop_unchanged

boolean

Preserve original nexthop while advertising routes to eBGP peers.

Choices:

  • no

  • yes

redistribute_internal

boolean

Redistribute internal BGP routes.

Choices:

  • no

  • yes

route

string

Configure route-map for route installation.

route_reflector

dictionary

Configure route reflector options

preserve

boolean

preserve route attributes, overwriting route-map changes

Choices:

  • no

  • yes

set

boolean

When True route_reflector is set.

Choices:

  • no

  • yes

transport

integer

Configure transport port for TCP session

default_metric

integer

Default metric.

distance

dictionary

Define an administrative distance.

external

integer

distance for external routes.

internal

integer

distance for internal routes.

local

integer

distance for local routes.

graceful_restart

dictionary

Enable graceful restart mode.

restart_time

integer

Set the max time needed to restart and come back up.

set

boolean

When True, graceful restart is set.

Choices:

  • no

  • yes

stalepath_time

integer

Set the max time to hold onto restarting peer stale paths.

graceful_restart_helper

boolean

Enable graceful restart helper mode.

Choices:

  • no

  • yes

maximum_paths

dictionary

Maximum number of equal cost paths.

max_equal_cost_paths

integer

Value for maximum number of equal cost paths.

max_installed_ecmp_paths

integer

Value for maximum number of installed ECMP routes.

neighbor

aliases: neighbors

list / elements=dictionary

Configure routing for a network.

additional_paths

string

BGP additional-paths commands.

Choices:

  • send

  • receive

allowas_in

dictionary

Allow local-as in updates.

count

integer

Number of local ASNs allowed in a BGP update.

set

boolean

When True, it is set.

Choices:

  • no

  • yes

auto_local_addr

boolean

Automatically determine the local address to be used for the non-transport AF.

Choices:

  • no

  • yes

default_originate

dictionary

Originate default route to this neighbor.

always

boolean

Always originate default route to this neighbor.

Choices:

  • no

  • yes

route_map

string

Route map reference.

description

string

Text describing the neighbor.

dont_capability_negotiate

boolean

Donot perform Capability Negotiation with this neighbor.

Choices:

  • no

  • yes

ebgp_multihop

dictionary

Allow BGP connections to indirectly connected external peers.

set

boolean

If True, ttl is not set.

Choices:

  • no

  • yes

ttl

integer

Time-to-live in the range 1-255 hops.

encryption_password

dictionary

Password to use in computation of MD5 hash.

password

string

password (up to 80 chars).

type

integer

Encryption type.

Choices:

  • 0

  • 7

enforce_first_as

boolean

Enforce the First AS for EBGP routes(default).

Choices:

  • no

  • yes

export_localpref

integer

Override localpref when exporting to an internal peer.

fall_over

boolean

Configure BFD protocol options for this peer.

Choices:

  • no

  • yes

graceful_restart

boolean

Enable graceful restart mode.

Choices:

  • no

  • yes

graceful_restart_helper

boolean

Enable graceful restart helper mode.

Choices:

  • no

  • yes

idle_restart_timer

integer

Neighbor idle restart timer.

import_localpref

integer

Override localpref when importing from an external peer.

dictionary

Enable link bandwidth community for routes to this peer.

boolean

Enable link bandwidth auto generation for routes from this peer.

Choices:

  • no

  • yes

string

Enable link bandwidth default generation for routes from this peer.

boolean

If True, set link bandwidth

Choices:

  • no

  • yes

integer

Delay outbound route updates.

local_as

dictionary

Configure local AS number advertised to peer.

as_number

string

AS number.

fallback

boolean

Prefer router AS Number over local AS Number.

Choices:

  • no

  • yes

local_v6_addr

string

The local IPv6 address of the neighbor in A:B:C:D:E:F:G:H format.

maximum_accepted_routes

dictionary

Maximum number of routes accepted from this peer.

count

integer

Maximum number of accepted routes (0 means unlimited).

warning_limit

integer

Maximum number of accepted routes after which a warning is issued. (0 means never warn)

maximum_received_routes

dictionary

Maximum number of routes received from this peer.

count

integer

Maximum number of routes (0 means unlimited).

warning_limit

dictionary

Percentage of maximum-routes at which warning is to be issued.

limit_count

integer

Number of routes at which to warn.

limit_percent

integer

Percentage of maximum number of routes at which to warn( 1-100).

warning_only

boolean

Only warn, no restart, if max route limit exceeded.

Choices:

  • no

  • yes

metric_out

integer

MED value to advertise to peer.

monitoring

boolean

Enable BGP Monitoring Protocol for this peer.

Choices:

  • no

  • yes

next_hop_self

boolean

Always advertise this router address as the BGP next hop

Choices:

  • no

  • yes

next_hop_unchanged

boolean

Preserve original nexthop while advertising routes to eBGP peers.

Choices:

  • no

  • yes

next_hop_v6_address

string

IPv6 next-hop address for the neighbor

out_delay

integer

Delay outbound route updates.

peer

string

Neighbor address or peer group.

peer_group

string

Name of the peer group.

prefix_list

dictionary

Prefix list reference.

direction

string

Configure an inbound/outbound prefix-list.

Choices:

  • in

  • out

name

string

prefix list name.

remote_as

string

Neighbor Autonomous System.

remove_private_as

dictionary

Remove private AS number from updates to this peer.

all

boolean

Remove private AS number.

Choices:

  • no

  • yes

replace_as

boolean

Replace private AS number with local AS number.

Choices:

  • no

  • yes

set

boolean

If True, set remove_private_as.

Choices:

  • no

  • yes

route_map

dictionary

Route map reference.

direction

string

Configure an inbound/outbound route-map.

Choices:

  • in

  • out

name

string

Route map name.

route_reflector_client

boolean

Configure peer as a route reflector client.

Choices:

  • no

  • yes

route_to_peer

boolean

Use routing table information to reach the peer.

Choices:

  • no

  • yes

send_community

dictionary

Send community attribute to this neighbor.

community_attribute

string

Type of community attributes to send to this neighbor.

divide

string

link-bandwidth divide attribute.

Choices:

  • equal

  • ratio

string

cumulative/aggregate attribute to be sent.

Choices:

  • aggregate

  • divide

speed

string

Reference link speed in bits/second

sub_attribute

string

Attribute to be sent to the neighbor.

Choices:

  • extended

  • link-bandwidth

  • standard

shutdown

boolean

Administratively shut down this neighbor.

Choices:

  • no

  • yes

soft_recognition

string

Configure how to handle routes that fail import.

Choices:

  • all

  • None

timers

dictionary

Timers.

holdtime

integer

Hold time in secs.

keepalive

integer

Keep Alive Interval in secs.

transport

dictionary

Configure transport options for TCP session.

connection_mode

string

Configure connection-mode for TCP session.

remote_port

integer

Configure BGP peer TCP port to connect to.

ttl

integer

BGP ttl security check

update_source

string

Specify the local source interface for peer BGP sessions.

weight

integer

Weight to assign.

network

aliases: networks

list / elements=dictionary

Configure routing for a network.

address

string

address prefix.

route_map

string

Name of route map.

redistribute

list / elements=dictionary

Redistribute routes in to BGP.

isis_level

string

Applicable for isis routes. Specify isis route level.

Choices:

  • level-1

  • level-2

  • level-1-2

ospf_route

string

ospf route options.

Choices:

  • internal

  • external

  • nssa_external_1

  • nssa_external_2

protocol

string

Routes to be redistributed.

Choices:

  • isis

  • ospfv3

  • ospf

  • attached-host

  • connected

  • rip

  • static

route_map

string

Route map reference.

route_target

dictionary

Route target.

action

string

Route action.

Choices:

  • both

  • import

  • export

imported_route

boolean

Export routes imported from the same Afi/Safi.

Choices:

  • no

  • yes

route_map

string

Name of a route map.

target

string

Route Target.

type

string

Type of address fmaily

Choices:

  • evpn

  • vpn-ipv4

  • vpn-ipv6

router_id

string

Router id.

shutdown

boolean

When True, shut down BGP.

Choices:

  • no

  • yes

timers

dictionary

Timers.

holdtime

integer

Hold time in secs.

keepalive

integer

Keep Alive Interval in secs.

ucmp

dictionary

Configure unequal cost multipathing.

fec

dictionary

Configure UCMP fec utilization threshold.

clear

integer

UCMP FEC utilization Clear thresholds.

trigger

integer

UCMP fec utilization too high threshold.

dictionary

Configure link-bandwidth propagation delay.

string

UCMP link bandwidth mode

Choices:

  • encoding_weighted

  • recursive

  • update_delay

integer

Link Bandwidth Advertisement delay.

mode

dictionary

UCMP mode.

nexthops

integer

Value for total number UCMP nexthops.

set

boolean

If True, ucmp mode is set to 1.

Choices:

  • no

  • yes

update

dictionary

Configure BGP update generation.

batch_size

integer

batch size for FIB route acknowledgements.

wait_for

string

wait for options before converge or synchronize.

Choices:

  • wait_for_convergence

  • wait_install

vrf

string

VRF name.

running_config

string

This option is used only with state parsed.

The value of this option should be the output received from the EOS device by executing the command show running-config | section bgp.

The state parsed reads the configuration from running_config option and transforms it into Ansible structured data as per the resource module’s argspec and the value is then returned in the parsed key within the result.

state

string

The state the configuration should be left in.

State purged removes all the BGP configurations from the target device. Use caution with this state.(‘no router bgp <x>’)

State deleted only removes BGP attributes that this modules manages and does not negate the BGP process completely. Thereby, preserving address-family related configurations under BGP context.

Running states deleted and replaced will result in an error if there are address-family configuration lines present under vrf context that is is to be removed. Please use the arista.eos.eos_bgp_address_family module for prior cleanup.

Refer to examples for more details.

Choices:

  • deleted

  • merged ← (default)

  • purged

  • replaced

  • gathered

  • rendered

  • parsed

Notes

Note

  • Tested against Arista EOS 4.24.6F

  • This module works with connection network_cli. See the EOS Platform Options.

Examples

# Using merged
# Before state

# veos(config)#show running-config | section bgp
# veos(config)#

  - name: Merge provided configuration with device configuration
    arista.eos.eos_bgp_global:
      config:
        as_number: "100"
        bgp_params:
          host_routes: True
          convergence:
            slow_peer: True
            time: 6
          additional_paths: "send"
          log_neighbor_changes: True
        maximum_paths:
          max_equal_cost_paths: 55
        aggregate_address:
          - address: "1.2.1.0/24"
            as_set: true
            match_map: "match01"
          - address: "5.2.1.0/24"
            attribute_map: "attrmatch01"
            advertise_only: true
        redistribute:
          - protocol: "static"
            route_map: "map_static"
          - protocol: "attached-host"
        distance:
          internal: 50
        neighbor:
          - peer: "10.1.3.2"
            allowas_in:
              set: true
            default_originate:
              always: true
            dont_capability_negotiate: true
            export_localpref: 4000
            maximum_received_routes:
              count: 500
              warning_limit:
                limit_percent: 5
            next_hop_unchanged: true
            prefix_list:
              name: "prefix01"
              direction: "out"
          - peer: "peer1"
            fall_over: true
            link_bandwidth:
              update_delay: 5
            monitoring: True
            send_community:
              community_attribute: "extended"
              sub_attribute: "link-bandwidth"
              link_bandwidth_attribute: "aggregate"
              speed: "600"
        vlan: 5
      state: merged

# After State:
# veos(config)#show running-config | section bgp
# router bgp 100
#    bgp convergence slow-peer time 6
#    distance bgp 50 50 50
#    maximum-paths 55
#    bgp additional-paths send any
#    neighbor peer1 peer group
#    neighbor peer1 link-bandwidth update-delay 5
#    neighbor peer1 fall-over bfd
#    neighbor peer1 monitoring
#    neighbor peer1 send-community extended link-bandwidth aggregate 600
#    neighbor peer1 maximum-routes 12000
#    neighbor 10.1.3.2 export-localpref 4000
#    neighbor 10.1.3.2 next-hop-unchanged
#    neighbor 10.1.3.2 dont-capability-negotiate
#    neighbor 10.1.3.2 allowas-in 3
#    neighbor 10.1.3.2 default-originate always
#    neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent
#    aggregate-address 1.2.1.0/24 as-set match-map match01
#    aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only
#    redistribute static route-map map_static
#    redistribute attached-host
#    !
#    vlan 5
#    !
#    address-family ipv4
#       neighbor 10.1.3.2 prefix-list prefix01 out
# veos(config)#
#
# Module Execution:
#
# "after": {
#         "aggregate_address": [
#             {
#                 "address": "1.2.1.0/24",
#                 "as_set": true,
#                 "match_map": "match01"
#             },
#             {
#                 "address": "5.2.1.0/24",
#                 "advertise_only": true,
#                 "attribute_map": "attrmatch01"
#             }
#         ],
#         "as_number": "100",
#         "bgp_params": {
#             "additional_paths": "send",
#             "convergence": {
#                 "slow_peer": true,
#                 "time": 6
#             }
#         },
#         "distance": {
#             "external": 50,
#             "internal": 50,
#             "local": 50
#         },
#         "maximum_paths": {
#             "max_equal_cost_paths": 55
#         },
#         "neighbor": [
#             {
#                 "fall_over": true,
#                 "link_bandwidth": {
#                     "set": true,
#                     "update_delay": 5
#                 },
#                 "maximum_received_routes": {
#                     "count": 12000
#                 },
#                 "monitoring": true,
#                 "peer": "peer1",
#                 "peer_group": "peer1",
#                 "send_community": {
#                     "community_attribute": "extended",
#                     "link_bandwidth_attribute": "aggregate",
#                     "speed": "600",
#                     "sub_attribute": "link-bandwidth"
#                 }
#             },
#             {
#                 "allowas_in": {
#                     "count": 3
#                 },
#                 "default_originate": {
#                     "always": true
#                 },
#                 "dont_capability_negotiate": true,
#                 "export_localpref": 4000,
#                 "maximum_received_routes": {
#                     "count": 500,
#                     "warning_limit": {
#                         "limit_percent": 5
#                     }
#                 },
#                 "next_hop_unchanged": true,
#                 "peer": "10.1.3.2"
#             }
#         ],
#         "redistribute": [
#             {
#                 "protocol": "static",
#                 "route_map": "map_static"
#             },
#             {
#                 "protocol": "attached-host"
#             }
#         ],
#         "vlan": 5
#     },
#     "before": {},
#     "changed": true,
#     "commands": [
#         "router bgp 100",
#         "neighbor 10.1.3.2 allowas-in",
#         "neighbor 10.1.3.2 default-originate always",
#         "neighbor 10.1.3.2 dont-capability-negotiate",
#         "neighbor 10.1.3.2 export-localpref 4000",
#         "neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent",
#         "neighbor 10.1.3.2 next-hop-unchanged",
#         "neighbor 10.1.3.2 prefix-list prefix01 out",
#         "neighbor peer1 fall-over bfd",
#         "neighbor peer1 link-bandwidth update-delay 5",
#         "neighbor peer1 monitoring",
#         "neighbor peer1 send-community extended link-bandwidth aggregate 600",
#         "redistribute static route-map map_static",
#         "redistribute attached-host",
#         "aggregate-address 1.2.1.0/24 as-set match-map match01",
#         "aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only",
#         "bgp host-routes fib direct-install",
#         "bgp convergence slow-peer time 6",
#         "bgp additional-paths send any",
#         "bgp log-neighbor-changes",
#         "maximum-paths 55",
#         "distance bgp 50",
#         "vlan 5"
#     ],

# Using replaced:

# Before state:
# veos(config)#show running-config | section bgp
# router bgp 100
#    bgp convergence slow-peer time 6
#    distance bgp 50 50 50
#    maximum-paths 55
#    bgp additional-paths send any
#    neighbor peer1 peer group
#    neighbor peer1 link-bandwidth update-delay 5
#    neighbor peer1 fall-over bfd
#    neighbor peer1 monitoring
#    neighbor peer1 send-community extended link-bandwidth aggregate 600
#    neighbor peer1 maximum-routes 12000
#    neighbor 10.1.3.2 export-localpref 4000
#    neighbor 10.1.3.2 next-hop-unchanged
#    neighbor 10.1.3.2 dont-capability-negotiate
#    neighbor 10.1.3.2 allowas-in 3
#    neighbor 10.1.3.2 default-originate always
#    neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent
#    aggregate-address 1.2.1.0/24 as-set match-map match01
#    aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only
#    redistribute static route-map map_static
#    redistribute attached-host
#    !
#    vlan 5
#    !
#    address-family ipv4
#       neighbor 10.1.3.2 prefix-list prefix01 out
#    !
#    vrf vrf01
#       route-target import 54:11
#       neighbor 12.1.3.2 dont-capability-negotiate
#       neighbor 12.1.3.2 allowas-in 3
#       neighbor 12.1.3.2 default-originate always
#       neighbor 12.1.3.2 maximum-routes 12000
# veos(config)#

  - name: replace provided configuration with device configuration
    arista.eos.eos_bgp_global:
      config:
        as_number: "100"
        bgp_params:
          host_routes: True
          convergence:
            slow_peer: True
            time: 6
          additional_paths: "send"
          log_neighbor_changes: True
        vrfs:
          - vrf: "vrf01"
            maximum_paths:
              max_equal_cost_paths: 55
            aggregate_address:
              - address: "1.2.1.0/24"
                as_set: true
                match_map: "match01"
              - address: "5.2.1.0/24"
                attribute_map: "attrmatch01"
                advertise_only: true
            redistribute:
              - protocol: "static"
                route_map: "map_static"
              - protocol: "attached-host"
            distance:
              internal: 50
            neighbor:
              - peer: "10.1.3.2"
                allowas_in:
                  set: true
                default_originate:
                  always: true
                dont_capability_negotiate: true
                export_localpref: 4000
                maximum_received_routes:
                  count: 500
                  warning_limit:
                    limit_percent: 5
                next_hop_unchanged: true
                prefix_list:
                  name: "prefix01"
                  direction: "out"
              - peer: "peer1"
                fall_over: true
                link_bandwidth:
                  update_delay: 5
                monitoring: True
                send_community:
                  community_attribute: "extended"
                  sub_attribute: "link-bandwidth"
                  link_bandwidth_attribute: "aggregate"
                  speed: "600"
      state: replaced

# After State:

# veos(config)#show running-config | section bgp
# router bgp 100
#    bgp convergence slow-peer time 6
#    bgp additional-paths send any
#    !
#    vrf vrf01
#       distance bgp 50 50 50
#       maximum-paths 55
#       neighbor 10.1.3.2 export-localpref 4000
#       neighbor 10.1.3.2 next-hop-unchanged
#       neighbor 10.1.3.2 dont-capability-negotiate
#       neighbor 10.1.3.2 allowas-in 3
#       neighbor 10.1.3.2 default-originate always
#       neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent
#       aggregate-address 1.2.1.0/24 as-set match-map match01
#       aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only
#       redistribute static route-map map_static
#       redistribute attached-host
#       !
#       address-family ipv4
#          neighbor 10.1.3.2 prefix-list prefix01 out
# veos(config)#
#
#
# Module Execution:
#
# "after": {
#         "as_number": "100",
#         "bgp_params": {
#             "additional_paths": "send",
#             "convergence": {
#                 "slow_peer": true,
#                 "time": 6
#             }
#         },
#         "vrfs": [
#             {
#                 "aggregate_address": [
#                     {
#                         "address": "1.2.1.0/24",
#                         "as_set": true,
#                         "match_map": "match01"
#                     },
#                     {
#                         "address": "5.2.1.0/24",
#                         "advertise_only": true,
#                         "attribute_map": "attrmatch01"
#                     }
#                 ],
#                 "distance": {
#                     "external": 50,
#                     "internal": 50,
#                     "local": 50
#                 },
#                 "maximum_paths": {
#                     "max_equal_cost_paths": 55
#                 },
#                 "neighbor": [
#                     {
#                         "allowas_in": {
#                             "count": 3
#                         },
#                         "default_originate": {
#                             "always": true
#                         },
#                         "dont_capability_negotiate": true,
#                         "export_localpref": 4000,
#                         "maximum_received_routes": {
#                             "count": 500,
#                             "warning_limit": {
#                                 "limit_percent": 5
#                             }
#                         },
#                         "next_hop_unchanged": true,
#                         "peer": "10.1.3.2"
#                     }
#                 ],
#                 "redistribute": [
#                     {
#                         "protocol": "static",
#                         "route_map": "map_static"
#                     },
#                     {
#                         "protocol": "attached-host"
#                     }
#                 ],
#                 "vrf": "vrf01"
#             }
#         ]
#     },
#     "before": {
#         "aggregate_address": [
#             {
#                 "address": "1.2.1.0/24",
#                 "as_set": true,
#                 "match_map": "match01"
#             },
#             {
#                 "address": "5.2.1.0/24",
#                 "advertise_only": true,
#                 "attribute_map": "attrmatch01"
#             }
#         ],
#         "as_number": "100",
#         "bgp_params": {
#             "additional_paths": "send",
#             "convergence": {
#                 "slow_peer": true,
#                 "time": 6
#             }
#         },
#         "distance": {
#             "external": 50,
#             "internal": 50,
#             "local": 50
#         },
#         "maximum_paths": {
#             "max_equal_cost_paths": 55
#         },
#         "neighbor": [
#             {
#                 "fall_over": true,
#                 "link_bandwidth": {
#                     "set": true,
#                     "update_delay": 5
#                 },
#                 "maximum_received_routes": {
#                     "count": 12000
#                 },
#                 "monitoring": true,
#                 "peer": "peer1",
#                 "peer_group": "peer1",
#                 "send_community": {
#                     "community_attribute": "extended",
#                     "link_bandwidth_attribute": "aggregate",
#                     "speed": "600",
#                     "sub_attribute": "link-bandwidth"
#                 }
#             },
#             {
#                 "allowas_in": {
#                     "count": 3
#                 },
#                 "default_originate": {
#                     "always": true
#                 },
#                 "dont_capability_negotiate": true,
#                 "export_localpref": 4000,
#                 "maximum_received_routes": {
#                     "count": 500,
#                     "warning_limit": {
#                         "limit_percent": 5
#                     }
#                 },
#                 "next_hop_unchanged": true,
#                 "peer": "10.1.3.2"
#             }
#         ],
#         "redistribute": [
#             {
#                 "protocol": "static",
#                 "route_map": "map_static"
#             },
#             {
#                 "protocol": "attached-host"
#             }
#         ],
#         "vlan": 5,
#         "vrfs": [
#             {
#                 "neighbor": [
#                     {
#                         "allowas_in": {
#                             "count": 3
#                         },
#                         "default_originate": {
#                             "always": true
#                         },
#                         "dont_capability_negotiate": true,
#                         "maximum_received_routes": {
#                             "count": 12000
#                         },
#                         "peer": "12.1.3.2"
#                     }
#                 ],
#                 "route_target": {
#                     "action": "import",
#                     "target": "54:11"
#                 },
#                 "vrf": "vrf01"
#             }
#         ]
#     },
#     "changed": true,
#     "commands": [
#         "router bgp 100",
#         "vrf vrf01",
#         "no route-target import 54:11",
#         "neighbor 10.1.3.2 allowas-in",
#         "neighbor 10.1.3.2 default-originate always",
#         "neighbor 10.1.3.2 dont-capability-negotiate",
#         "neighbor 10.1.3.2 export-localpref 4000",
#         "neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent",
#         "neighbor 10.1.3.2 next-hop-unchanged",
#         "neighbor 10.1.3.2 prefix-list prefix01 out",
#         "neighbor peer1 fall-over bfd",
#         "neighbor peer1 link-bandwidth update-delay 5",
#         "neighbor peer1 monitoring",
#         "neighbor peer1 send-community extended link-bandwidth aggregate 600",
#         "no neighbor 12.1.3.2",
#         "redistribute static route-map map_static",
#         "redistribute attached-host",
#         "aggregate-address 1.2.1.0/24 as-set match-map match01",
#         "aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only",
#         "maximum-paths 55",
#         "distance bgp 50",
#         "exit",
#         "no neighbor peer1 peer group",
#         "no neighbor peer1 link-bandwidth update-delay 5",
#         "no neighbor peer1 fall-over bfd",
#         "no neighbor peer1 monitoring",
#         "no neighbor peer1 send-community extended link-bandwidth aggregate 600",
#         "no neighbor peer1 maximum-routes 12000",
#         "no neighbor 10.1.3.2",
#         "no redistribute static route-map map_static",
#         "no redistribute attached-host",
#         "no aggregate-address 1.2.1.0/24 as-set match-map match01",
#         "no aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only",
#         "bgp host-routes fib direct-install",
#         "bgp log-neighbor-changes",
#         "no distance bgp 50 50 50",
#         "no maximum-paths 55",
#         "no vlan 5"
#     ],
#

# Using replaced (in presence of address_family under vrf):
# Before State:

#veos(config)#show running-config | section bgp
# router bgp 100
#    bgp convergence slow-peer time 6
#    bgp additional-paths send any
#    !
#    vrf vrf01
#       distance bgp 50 50 50
#       maximum-paths 55
#       neighbor 10.1.3.2 export-localpref 4000
#       neighbor 10.1.3.2 next-hop-unchanged
#       neighbor 10.1.3.2 dont-capability-negotiate
#       neighbor 10.1.3.2 allowas-in 3
#       neighbor 10.1.3.2 default-originate always
#       neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent
#       aggregate-address 1.2.1.0/24 as-set match-map match01
#       aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only
#       redistribute static route-map map_static
#       redistribute attached-host
#       !
#       address-family ipv4
#          neighbor 10.1.3.2 prefix-list prefix01 out
#       !
#       address-family ipv6
#          redistribute dhcp
# veos(config)#

  - name:  Replace
    arista.eos.eos_bgp_global:
      config:
        as_number: "100"
        graceful_restart:
          set: True
        router_id: "1.1.1.1"
        timers:
          keepalive: 2
          holdtime: 5
        ucmp:
          mode:
            set: True
        vlan_aware_bundle: "bundle1 bundle2 bundle3"
      state: replaced

# Module Execution:

# fatal: [192.168.122.113]: FAILED! => {
#     "changed": false,
#     "invocation": {
#         "module_args": {
#             "config": {
#                 "access_group": null,
#                 "aggregate_address": null,
#                 "as_number": "100",
#                 "bgp_params": null,
#                 "default_metric": null,
#                 "distance": null,
#                 "graceful_restart": {
#                     "restart_time": null,
#                     "set": true,
#                     "stalepath_time": null
#                 },
#                 "graceful_restart_helper": null,
#                 "maximum_paths": null,
#                 "monitoring": null,
#                 "neighbor": null,
#                 "network": null,
#                 "redistribute": null,
#                 "route_target": null,
#                 "router_id": "1.1.1.1",
#                 "shutdown": null,
#                 "timers": {
#                     "holdtime": 5,
#                     "keepalive": 2
#                 },
#                 "ucmp": {
#                     "fec": null,
#                     "link_bandwidth": null,
#                     "mode": {
#                         "nexthops": null,
#                         "set": true
#                     }
#                 },
#                 "update": null,
#                 "vlan": null,
#                 "vlan_aware_bundle": "bundle1 bundle2 bundle3",
#                 "vrfs": null
#             },
#             "running_config": null,
#             "state": "replaced"
#         }
#     },
#     "msg": "Use the _bgp_af module to delete the address_family under vrf, before replacing/deleting the vrf."
# }

# Using deleted:

# Before state:

# veos(config)#show running-config | section bgp
# router bgp 100
#    bgp convergence slow-peer time 6
#    bgp additional-paths send any
#    !
#    vrf vrf01
#       distance bgp 50 50 50
#       maximum-paths 55
#       neighbor 10.1.3.2 export-localpref 4000
#       neighbor 10.1.3.2 next-hop-unchanged
#       neighbor 10.1.3.2 dont-capability-negotiate
#       neighbor 10.1.3.2 allowas-in 3
#       neighbor 10.1.3.2 default-originate always
#       neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent
#       aggregate-address 1.2.1.0/24 as-set match-map match01
#       aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only
#       redistribute static route-map map_static
#       redistribute attached-host
#       !

  - name: Delete configuration
    arista.eos.eos_bgp_global:
      config:
        as_number: "100"
      state: deleted

# After State:

# veos(config)#show running-config | section bgp
# router bgp 100
#
#
# Module Execution:
#
# "after": {
#         "as_number": "100"
#     },
#     "before": {
#         "as_number": "100",
#         "bgp_params": {
#             "additional_paths": "send",
#             "convergence": {
#                 "slow_peer": true,
#                 "time": 6
#             }
#         },
#         "vrfs": [
#             {
#                 "aggregate_address": [
#                     {
#                         "address": "1.2.1.0/24",
#                         "as_set": true,
#                         "match_map": "match01"
#                     },
#                     {
#                         "address": "5.2.1.0/24",
#                         "advertise_only": true,
#                         "attribute_map": "attrmatch01"
#                     }
#                 ],
#                 "distance": {
#                     "external": 50,
#                     "internal": 50,
#                     "local": 50
#                 },
#                 "maximum_paths": {
#                     "max_equal_cost_paths": 55
#                 },
#                 "neighbor": [
#                     {
#                         "allowas_in": {
#                             "count": 3
#                         },
#                         "default_originate": {
#                             "always": true
#                         },
#                         "dont_capability_negotiate": true,
#                         "export_localpref": 4000,
#                         "maximum_received_routes": {
#                             "count": 500,
#                             "warning_limit": {
#                                 "limit_percent": 5
#                             }
#                         },
#                         "next_hop_unchanged": true,
#                         "peer": "10.1.3.2"
#                     }
#                 ],
#                 "redistribute": [
#                     {
#                         "protocol": "static",
#                         "route_map": "map_static"
#                     },
#                     {
#                         "protocol": "attached-host"
#                     }
#                 ],
#                 "vrf": "vrf01"
#             }
#         ]
#     },
#     "changed": true,
#     "commands": [
#         "router bgp 100",
#         "no vrf vrf01",
#         "no bgp convergence slow-peer time 6",
#         "no bgp additional-paths send any"
#     ],
#

# Using purged:

# Before state:

# veos(config)#show running-config | section bgp
# router bgp 100
#    bgp convergence slow-peer time 6
#    distance bgp 50 50 50
#    maximum-paths 55
#    bgp additional-paths send any
#    neighbor peer1 peer group
#    neighbor peer1 link-bandwidth update-delay 5
#    neighbor peer1 fall-over bfd
#    neighbor peer1 monitoring
#    neighbor peer1 send-community extended link-bandwidth aggregate 600
#    neighbor peer1 maximum-routes 12000
#    neighbor 10.1.3.2 export-localpref 4000
#    neighbor 10.1.3.2 next-hop-unchanged
#    neighbor 10.1.3.2 dont-capability-negotiate
#    neighbor 10.1.3.2 allowas-in 3
#    neighbor 10.1.3.2 default-originate always
#    neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent
#    aggregate-address 1.2.1.0/24 as-set match-map match01
#    aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only
#    redistribute static route-map map_static
#    redistribute attached-host
#    !
#    vlan 5
#    !
#    address-family ipv4
#       neighbor 10.1.3.2 prefix-list prefix01 out
#    !
#    vrf vrf01
#       route-target import 54:11
#       neighbor 12.1.3.2 dont-capability-negotiate
#       neighbor 12.1.3.2 allowas-in 3
#       neighbor 12.1.3.2 default-originate always
#       neighbor 12.1.3.2 maximum-routes 12000
# veos(config)#

  - name: Purge configuration
    arista.eos.eos_bgp_global:
      config:
        as_number: "100"
      state: purged

# After State:

# veos(config)#show running-config | section bgp
# veos(config)#

# Module Execution:

# "after": {},
#     "before": {
#         "aggregate_address": [
#             {
#                 "address": "1.2.1.0/24",
#                 "as_set": true,
#                 "match_map": "match01"
#             },
#             {
#                 "address": "5.2.1.0/24",
#                 "advertise_only": true,
#                 "attribute_map": "attrmatch01"
#             }
#         ],
#         "as_number": "100",
#         "bgp_params": {
#             "additional_paths": "send",
#             "convergence": {
#                 "slow_peer": true,
#                 "time": 6
#             }
#         },
#         "distance": {
#             "external": 50,
#             "internal": 50,
#             "local": 50
#         },
#         "maximum_paths": {
#             "max_equal_cost_paths": 55
#         },
#         "neighbor": [
#             {
#                 "fall_over": true,
#                 "link_bandwidth": {
#                     "set": true,
#                     "update_delay": 5
#                 },
#                 "maximum_received_routes": {
#                     "count": 12000
#                 },
#                 "monitoring": true,
#                 "peer": "peer1",
#                 "peer_group": "peer1",
#                 "send_community": {
#                     "community_attribute": "extended",
#                     "link_bandwidth_attribute": "aggregate",
#                     "speed": "600",
#                     "sub_attribute": "link-bandwidth"
#                 }
#             },
#             {
#                 "allowas_in": {
#                     "count": 3
#                 },
#                 "default_originate": {
#                     "always": true
#                 },
#                 "dont_capability_negotiate": true,
#                 "export_localpref": 4000,
#                 "maximum_received_routes": {
#                     "count": 500,
#                     "warning_limit": {
#                         "limit_percent": 5
#                     }
#                 },
#                 "next_hop_unchanged": true,
#                 "peer": "10.1.3.2"
#             }
#         ],
#         "redistribute": [
#             {
#                 "protocol": "static",
#                 "route_map": "map_static"
#             },
#             {
#                 "protocol": "attached-host"
#             }
#         ],
#         "vlan": 5,
#         "vrfs": [
#             {
#                 "neighbor": [
#                     {
#                         "allowas_in": {
#                             "count": 3
#                         },
#                         "default_originate": {
#                             "always": true
#                         },
#                         "dont_capability_negotiate": true,
#                         "maximum_received_routes": {
#                             "count": 12000
#                         },
#                         "peer": "12.1.3.2"
#                     }
#                 ],
#                 "route_target": {
#                     "action": "import",
#                     "target": "54:11"
#                 },
#                 "vrf": "vrf01"
#             }
#         ]
#     },
#     "changed": true,
#     "commands": [
#         "no router bgp 100"
#     ],

Authors

  • Gomathi Selvi Srinivasan (@GomathiselviS)