cisco.nxos.nxos_bgp_neighbor_af – Manages BGP address-family’s neighbors configuration.

Note

This plugin is part of the cisco.nxos collection.

To install it use: ansible-galaxy collection install cisco.nxos.

To use it in a playbook, specify: cisco.nxos.nxos_bgp_neighbor_af.

New in version 1.0.0: of cisco.nxos

Synopsis

  • Manages BGP address-family’s neighbors configurations on NX-OS switches.

Parameters

Parameter Choices/Defaults Comments
additional_paths_receive
string
    Choices:
  • enable
  • disable
  • inherit
Valid values are enable for basic command enablement; disable for disabling the command at the neighbor af level (it adds the disable keyword to the basic command); and inherit to remove the command at this level (the command value is inherited from a higher BGP layer).
additional_paths_send
string
    Choices:
  • enable
  • disable
  • inherit
Valid values are enable for basic command enablement; disable for disabling the command at the neighbor af level (it adds the disable keyword to the basic command); and inherit to remove the command at this level (the command value is inherited from a higher BGP layer).
advertise_map_exist
list / elements=string
Conditional route advertisement. This property requires two route maps, an advertise-map and an exist-map. Valid values are an array specifying both the advertise-map name and the exist-map name, or simply 'default' e.g. ['my_advertise_map', 'my_exist_map']. This command is mutually exclusive with the advertise_map_non_exist property.
advertise_map_non_exist
list / elements=string
Conditional route advertisement. This property requires two route maps, an advertise-map and an exist-map. Valid values are an array specifying both the advertise-map name and the non-exist-map name, or simply 'default' e.g. ['my_advertise_map', 'my_non_exist_map']. This command is mutually exclusive with the advertise_map_exist property.
afi
string / required
    Choices:
  • ipv4
  • ipv6
  • vpnv4
  • vpnv6
  • l2vpn
Address Family Identifier.
allowas_in
boolean
    Choices:
  • no
  • yes
Activate allowas-in property
allowas_in_max
string
Max-occurrences value for allowas_in. Valid values are an integer value or 'default'. This is mutually exclusive with allowas_in.
as_override
boolean
    Choices:
  • no
  • yes
Activate the as-override feature.
asn
string / required
BGP autonomous system number. Valid values are String, Integer in ASPLAIN or ASDOT notation.
default_originate
boolean
    Choices:
  • no
  • yes
Activate the default-originate feature.
default_originate_route_map
string
Route-map for the default_originate property. Valid values are a string defining a route-map name, or 'default'. This is mutually exclusive with default_originate.
disable_peer_as_check
boolean
    Choices:
  • no
  • yes
Disable checking of peer AS-number while advertising
filter_list_in
string
Valid values are a string defining a filter-list name, or 'default'.
filter_list_out
string
Valid values are a string defining a filter-list name, or 'default'.
max_prefix_interval
string
Optional restart interval. Valid values are an integer. Requires max_prefix_limit. May not be combined with max_prefix_warning.
max_prefix_limit
string
maximum-prefix limit value. Valid values are an integer value or 'default'.
max_prefix_threshold
string
Optional threshold percentage at which to generate a warning. Valid values are an integer value. Requires max_prefix_limit.
max_prefix_warning
boolean
    Choices:
  • no
  • yes
Optional warning-only keyword. Requires max_prefix_limit. May not be combined with max_prefix_interval.
neighbor
string / required
Neighbor Identifier. Valid values are string. Neighbors may use IPv4 or IPv6 notation, with or without prefix length.
next_hop_self
boolean
    Choices:
  • no
  • yes
Activate the next-hop-self feature.
next_hop_third_party
boolean
    Choices:
  • no
  • yes
Activate the next-hop-third-party feature.
prefix_list_in
string
Valid values are a string defining a prefix-list name, or 'default'.
prefix_list_out
string
Valid values are a string defining a prefix-list name, or 'default'.
provider
dictionary
Deprecated
Starting with Ansible 2.5 we recommend using connection: network_cli.
Starting with Ansible 2.6 we recommend using connection: httpapi for NX-API.
This option will be removed in a release after 2022-06-01.
For more information please see the NXOS Platform Options guide.

A dict object containing connection details.
auth_pass
string
Specifies the password to use if required to enter privileged mode on the remote device. If authorize is false, then this argument does nothing. If the value is not specified in the task, the value of environment variable ANSIBLE_NET_AUTH_PASS will be used instead.
authorize
boolean
    Choices:
  • no ←
  • yes
Instructs the module to enter privileged mode on the remote device before sending any commands. If not specified, the device will attempt to execute all commands in non-privileged mode. If the value is not specified in the task, the value of environment variable ANSIBLE_NET_AUTHORIZE will be used instead.
host
string
Specifies the DNS host name or address for connecting to the remote device over the specified transport. The value of host is used as the destination address for the transport.
password
string
Specifies the password to use to authenticate the connection to the remote device. This is a common argument used for either cli or nxapi transports. If the value is not specified in the task, the value of environment variable ANSIBLE_NET_PASSWORD will be used instead.
port
integer
Specifies the port to use when building the connection to the remote device. This value applies to either cli or nxapi. The port value will default to the appropriate transport common port if none is provided in the task. (cli=22, http=80, https=443).
ssh_keyfile
string
Specifies the SSH key to use to authenticate the connection to the remote device. This argument is only used for the cli transport. If the value is not specified in the task, the value of environment variable ANSIBLE_NET_SSH_KEYFILE will be used instead.
timeout
integer
Specifies the timeout in seconds for communicating with the network device for either connecting or sending commands. If the timeout is exceeded before the operation is completed, the module will error. NX-API can be slow to return on long-running commands (sh mac, sh bgp, etc).
transport
string
    Choices:
  • cli ←
  • nxapi
Configures the transport connection to use when connecting to the remote device. The transport argument supports connectivity to the device over cli (ssh) or nxapi.
use_proxy
boolean
    Choices:
  • no
  • yes ←
If no, the environment variables http_proxy and https_proxy will be ignored.
use_ssl
boolean
    Choices:
  • no ←
  • yes
Configures the transport to use SSL if set to yes only when the transport=nxapi, otherwise this value is ignored.
username
string
Configures the username to use to authenticate the connection to the remote device. This value is used to authenticate either the CLI login or the nxapi authentication depending on which transport is used. If the value is not specified in the task, the value of environment variable ANSIBLE_NET_USERNAME will be used instead.
validate_certs
boolean
    Choices:
  • no ←
  • yes
If no, SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. If the transport argument is not nxapi, this value is ignored.
rewrite_evpn_rt_asn
boolean
added in 1.1.0 of cisco.nxos
    Choices:
  • no
  • yes
Auto generate route targets for EBGP neighbor.
route_map_in
string
Valid values are a string defining a route-map name, or 'default'.
route_map_out
string
Valid values are a string defining a route-map name, or 'default'.
route_reflector_client
boolean
    Choices:
  • no
  • yes
Router reflector client.
safi
string / required
    Choices:
  • unicast
  • multicast
  • evpn
Sub Address Family Identifier.
send_community
string
    Choices:
  • none
  • both
  • extended
  • standard
  • default
send-community attribute.
soft_reconfiguration_in
string
    Choices:
  • enable
  • always
  • inherit
Valid values are 'enable' for basic command enablement; 'always' to add the always keyword to the basic command; and 'inherit' to remove the command at this level (the command value is inherited from a higher BGP layer).
soo
string
Site-of-origin. Valid values are a string defining a VPN extcommunity or 'default'.
state
string
    Choices:
  • present ←
  • absent
Determines whether the config should be present or not on the device.
suppress_inactive
boolean
    Choices:
  • no
  • yes
suppress-inactive feature.
unsuppress_map
string
unsuppress-map. Valid values are a string defining a route-map name or 'default'.
vrf
string
Default:
"default"
Name of the VRF. The name 'default' is a valid VRF representing the global bgp.
weight
string
Weight value. Valid values are an integer value or 'default'.

Notes

Note

  • Tested against NXOSv 7.3.(0)D1(1) on VIRL

  • state=absent removes the whole BGP address-family’s neighbor configuration.

  • Default, when supported, removes properties

  • In order to default maximum-prefix configuration, only max_prefix_limit=default is needed.

  • For information on using CLI and NX-API see the NXOS Platform Options guide

  • For more information on using Ansible to manage network devices see the Ansible Network Guide

  • For more information on using Ansible to manage Cisco devices see the Cisco integration page.

Examples

- name: configure RR client
  cisco.nxos.nxos_bgp_neighbor_af:
    asn: 65535
    neighbor: 192.0.2.3
    afi: ipv4
    safi: unicast
    route_reflector_client: true
    state: present
    rewrite_evpn_rt_asn: true

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
commands
list / elements=string
always
commands sent to the device

Sample:
['router bgp 65535', 'neighbor 192.0.2.3', 'address-family ipv4 unicast', 'route-reflector-client', 'rewrite-evpn-rt-asn']


Authors

  • Gabriele Gerbino (@GGabriele)