On this page
cisco.ios.ios_bgp_address_family – BGP Address family resource module
Note
This plugin is part of the cisco.ios collection (version 2.5.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 cisco.ios.
To use it in a playbook, specify: cisco.ios.ios_bgp_address_family.
New in version 1.2.0: of cisco.ios
Synopsis
- This module configures and manages the attributes of bgp address family on Cisco IOS.
 
Parameters
| Parameter | Choices/Defaults | Comments | |||||||
|---|---|---|---|---|---|---|---|---|---|
| config
        
        dictionary
         | 
      
        
        A list of configurations for bgp address family.
         | 
     ||||||||
| address_family
        
        list / elements=dictionary
         | 
      
        
        A list of configurations for bgp address family.
         | 
     ||||||||
| afi
        
        string
         | 
      
       
  | 
      
        
        Address Family
         | 
     |||||||
| aggregate_address
        
        list / elements=dictionary
         | 
      
        
        Configure BGP aggregate entries
         | 
     ||||||||
| address
        
        string
         | 
      
        
        Aggregate address(A.B.C.D)
         | 
     ||||||||
| advertise_map
        
        string
         | 
      
        
        Set condition to advertise attribute
         | 
     ||||||||
| as_confed_set
        
        boolean
         | 
      
       
  | 
      
        
        Generate AS confed set path information
         | 
     |||||||
| as_set
        
        boolean
         | 
      
       
  | 
      
        
        Generate AS set path information
         | 
     |||||||
| attribute_map
        
        string
         | 
      
        
        Set attributes of aggregate
         | 
     ||||||||
| netmask
        
        string
         | 
      
        
        Aggregate mask(A.B.C.D)
         | 
     ||||||||
| summary_only
        
        boolean
         | 
      
       
  | 
      
        
        Filter more specific routes from updates
         | 
     |||||||
| suppress_map
        
        string
         | 
      
        
        Conditionally filter more specific routes from updates
         | 
     ||||||||
| auto_summary
        
        boolean
         | 
      
       
  | 
      
        
        Enable automatic network number summarization
         | 
     |||||||
| bgp
        
        dictionary
         | 
      
        
        Configure BGP aggregate entries
         | 
     ||||||||
| additional_paths
        
        dictionary
         | 
      
        
        Additional paths in the BGP table
         | 
     ||||||||
| receive
        
        boolean
         | 
      
       
  | 
      
        
        Receive additional paths from neighbors
         | 
     |||||||
| select
        
        dictionary
         | 
      
        
        Selection criteria to pick the paths
         | 
     ||||||||
| all
        
        boolean
         | 
      
       
  | 
      
        
        Select all available paths
         | 
     |||||||
| best
        
        integer
         | 
      
        
        Select best N paths (2-3).
         | 
     ||||||||
| group_best
        
        boolean
         | 
      
       
  | 
      
        
        Select group-best path
         | 
     |||||||
| send
        
        boolean
         | 
      
       
  | 
      
        
        Send additional paths to neighbors
         | 
     |||||||
| aggregate_timer
        
        integer
         | 
      
        
        Configure Aggregation Timer
        
       
        Please refer vendor documentation for valid values
         | 
     ||||||||
| dampening
        
        dictionary
         | 
      
        
        Enable route-flap dampening
         | 
     ||||||||
| max_suppress
        
        integer
         | 
      
        
        Maximum duration to suppress a stable route
        
       
        Please refer vendor documentation for valid values
         | 
     ||||||||
| penalty_half_time
        
        integer
         | 
      
        
        Half-life time for the penalty
        
       
        Please refer vendor documentation for valid values
         | 
     ||||||||
| reuse_route_val
        
        integer
         | 
      
        
        Value to start reusing a route
        
       
        Please refer vendor documentation for valid values
         | 
     ||||||||
| route_map
        
        string
         | 
      
        
        Route-map to specify criteria for dampening
         | 
     ||||||||
| suppress_route_val
        
        integer
         | 
      
        
        Value to start suppressing a route
        
       
        Please refer vendor documentation for valid values
         | 
     ||||||||
| dmzlink_bw
        
        boolean
         | 
      
       
  | 
      
        
        Use DMZ Link Bandwidth as weight for BGP multipaths
         | 
     |||||||
| nexthop
        
        dictionary
         | 
      
        
        Nexthop tracking commands
         | 
     ||||||||
| route_map
        
        string
         | 
      
        
        Route map for valid nexthops
         | 
     ||||||||
| trigger
        
        dictionary
         | 
      
        
        Nexthop triggering
         | 
     ||||||||
| delay
        
        integer
         | 
      
        
        Set the delay to tigger nexthop tracking
        
       
        Please refer vendor documentation for valid values
         | 
     ||||||||
| enable
        
        boolean
         | 
      
       
  | 
      
        
        Enable nexthop tracking
         | 
     |||||||
| redistribute_internal
        
        boolean
         | 
      
       
  | 
      
        
        Allow redistribution of iBGP into IGPs (dangerous)
         | 
     |||||||
| route_map
        
        boolean
         | 
      
       
  | 
      
        
        route-map control commands
        
       
        Have route-map set commands take priority over BGP commands such as next-hop unchanged
         | 
     |||||||
| scan_time
        
        integer
         | 
      
        
        Configure background scanner interval
        
       
        Please refer vendor documentation for valid values
         | 
     ||||||||
| slow_peer
        
        list / elements=dictionary
         | 
      
        
        Nexthop triggering
         | 
     ||||||||
| detection
        
        dictionary
         | 
      
        
        Slow-peer detection
         | 
     ||||||||
| enable
        
        boolean
         | 
      
       
  | 
      
        
        Enable slow-peer detection
         | 
     |||||||
| threshold
        
        integer
         | 
      
        
        Set the slow-peer detection threshold
        
       
        Threshold value (seconds)
        
       
        Please refer vendor documentation for valid values
         | 
     ||||||||
| split_update_group
        
        dictionary
         | 
      
        
        Configure slow-peer split-update-group
         | 
     ||||||||
| dynamic
        
        boolean
         | 
      
       
  | 
      
        
        Dynamically split the slow peer to slow-update group
         | 
     |||||||
| permanent
        
        boolean
         | 
      
       
  | 
      
        
        Keep the slow-peer permanently in slow-update group
         | 
     |||||||
| soft_reconfig_backup
        
        boolean
         | 
      
       
  | 
      
        
        Use soft-reconfiguration inbound only when route-refresh is not negotiated
         | 
     |||||||
| update_group
        
        boolean
         | 
      
       
  | 
      
        
        Manage peers in bgp update groups
        
       
        Split update groups based on Policy
        
       
        Keep peers with as-override in different update groups
         | 
     |||||||
| default
        
        boolean
         | 
      
       
  | 
      
        
        Set a command to its defaults
         | 
     |||||||
| default_information
        
        boolean
         | 
      
       
  | 
      
        
        Distribution of default information
        
       
        Distribute default route
         | 
     |||||||
| default_metric
        
        integer
         | 
      
        
        Set metric of redistributed routes
         | 
     ||||||||
| distance
        
        dictionary
         | 
      
        
        Define an administrative distance
         | 
     ||||||||
| external
        
        integer
         | 
      
        
        Distance for routes external to the AS
         | 
     ||||||||
| internal
        
        integer
         | 
      
        
        Distance for routes internal to the AS
         | 
     ||||||||
| local
        
        integer
         | 
      
        
        Distance for local routes
         | 
     ||||||||
| neighbor
        
        list / elements=dictionary
         | 
      
        
        Specify a neighbor router
         | 
     ||||||||
| activate
        
        boolean
         | 
      
       
  | 
      
        
        Enable the Address Family for this Neighbor
         | 
     |||||||
| additional_paths
        
        dictionary
         | 
      
        
        Negotiate additional paths capabilities with this neighbor
         | 
     ||||||||
| disable
        
        boolean
         | 
      
       
  | 
      
        
        Disable additional paths for this neighbor
         | 
     |||||||
| receive
        
        boolean
         | 
      
       
  | 
      
        
        Receive additional paths from neighbors
         | 
     |||||||
| send
        
        boolean
         | 
      
       
  | 
      
        
        Send additional paths to this neighbor
         | 
     |||||||
| address
        
        string
         | 
      
        
        Neighbor address (A.B.C.D)
         | 
     ||||||||
| advertise
        
        dictionary
         | 
      
        
        Advertise to this neighbor
        
       
        Advertise additional paths
         | 
     ||||||||
| all
        
        boolean
         | 
      
       
  | 
      
        
        Select all available paths
         | 
     |||||||
| best
        
        integer
         | 
      
        
        Select best N paths (2-3).
         | 
     ||||||||
| group_best
        
        boolean
         | 
      
       
  | 
      
        
        Select group-best path
         | 
     |||||||
| advertise_map
        
        dictionary
         | 
      
        
        specify route-map for conditional advertisement
         | 
     ||||||||
| exist_map
        
        string
         | 
      
        
        advertise prefix only if prefix is in the condition exists
        
       
        condition route-map name
         | 
     ||||||||
| name
        
        string
         | 
      
        
        advertise route-map name
         | 
     ||||||||
| non_exist_map
        
        string
         | 
      
        
        advertise prefix only if prefix in the condition does not exist
        
       
        condition route-map name
         | 
     ||||||||
| advertisement_interval
        
        integer
         | 
      
        
        Minimum interval between sending BGP routing updates
         | 
     ||||||||
| aigp
        
        dictionary
         | 
      
        
        Enable a AIGP on neighbor
         | 
     ||||||||
| enable
        
        string
         | 
      
        
        Enable a AIGP on neighbor
         | 
     ||||||||
| send
        
        dictionary
         | 
      
        
        Cost community or MED carrying AIGP VALUE
         | 
     ||||||||
| cost_community
        
        dictionary
         | 
      
        
        Cost extended community carrying AIGP Value
         | 
     ||||||||
| id
        
        integer
         | 
      
        
        Community ID
        
       
        Please refer vendor documentation for valid values
         | 
     ||||||||
| poi
        
        dictionary
         | 
      
        
        Point of Insertion
         | 
     ||||||||
| igp_cost
        
        boolean
         | 
      
       
  | 
      
        
        Point of Insertion After IGP
         | 
     |||||||
| pre_bestpath
        
        boolean
         | 
      
       
  | 
      
        
        Point of Insertion At Beginning
         | 
     |||||||
| transitive
        
        boolean
         | 
      
       
  | 
      
        
        Cost community is Transitive
         | 
     |||||||
| med
        
        boolean
         | 
      
       
  | 
      
        
        Med carrying AIGP Value
         | 
     |||||||
| allow_policy
        
        boolean
         | 
      
       
  | 
      
        
        Enable the policy support for this IBGP Neighbor
         | 
     |||||||
| allowas_in
        
        integer
         | 
      
        
        Accept as-path with my AS present in it
        
       
        Please refer vendor documentation for valid values
         | 
     ||||||||
| as_override
        
        dictionary
         | 
      
        
        Override matching AS-number while sending update
         | 
     ||||||||
| set
        
        boolean
         | 
      
       
  | 
      
        
        Enable AS override
         | 
     |||||||
| split_horizon
        
        boolean
         | 
      
       
  | 
      
        
        Maintain Split Horizon while sending update
         | 
     |||||||
| bmp_activate
        
        dictionary
         | 
      
        
        Activate the BMP monitoring for a BGP peer
         | 
     ||||||||
| all
        
        boolean
         | 
      
       
  | 
      
        
        Activate BMP monitoring for all servers
         | 
     |||||||
| server
        
        integer
         | 
      
        
        Activate BMP for server
        
       
        BMP Server Number
        
       
        Please refer vendor documentation for valid values
         | 
     ||||||||
| capability
        
        dictionary
         | 
      
        
        Advertise capability to the peer
        
       
        Advertise ORF capability to the peer
        
       
        Advertise prefixlist ORF capability to this neighbor
         | 
     ||||||||
| both
        
        boolean
         | 
      
       
  | 
      
        
        Capability to SEND and RECEIVE the ORF to/from this neighbor
         | 
     |||||||
| receive
        
        boolean
         | 
      
       
  | 
      
        
        Capability to RECEIVE the ORF from this neighbor
         | 
     |||||||
| send
        
        boolean
         | 
      
       
  | 
      
        
        Capability to SEND the ORF to this neighbor
         | 
     |||||||
| cluster_id
        
        string
         | 
      
        
        Configure Route-Reflector Cluster-id (peers may reset)
        
       
        Route-Reflector Cluster-id as 32 bit quantity, or Route-Reflector Cluster-id in IP address format (A.B.C.D)
         | 
     ||||||||
| default_originate
        
        dictionary
         | 
      
        
        Originate default route to this neighbor
         | 
     ||||||||
| route_map
        
        string
         | 
      
        
        Route-map to specify criteria to originate default
         | 
     ||||||||
| set
        
        boolean
         | 
      
       
  | 
      
        
        Set default route to this neighbor
         | 
     |||||||
| description
        
        string
         | 
      
        
        Neighbor specific description
         | 
     ||||||||
| disable_connected_check
        
        boolean
         | 
      
       
  | 
      
        
        one-hop away EBGP peer using loopback address
         | 
     |||||||
| distribute_list
        
        dictionary
         | 
      
        
        Filter updates to/from this neighbor
         | 
     ||||||||
| acl
        
        string
         | 
      
        
        ACL id/name
         | 
     ||||||||
| in
        
        boolean
         | 
      
       
  | 
      
        
        Filter incoming updates
         | 
     |||||||
| out
        
        boolean
         | 
      
       
  | 
      
        
        Filter outgoing updates
         | 
     |||||||
| dmzlink_bw
        
        boolean
         | 
      
       
  | 
      
        
        Propagate the DMZ link bandwidth
         | 
     |||||||
| ebgp_multihop
        
        dictionary
         | 
      
        
        Allow EBGP neighbors not on directly connected networks
         | 
     ||||||||
| enable
        
        boolean
         | 
      
       
  | 
      
        
        Allow EBGP neighbors not on directly connected networks
         | 
     |||||||
| hop_count
        
        integer
         | 
      
        
        Maximum hop count
        
       
        Please refer vendor documentation for valid values
         | 
     ||||||||
| fall_over
        
        dictionary
         | 
      
        
        Session fall on peer route lost
         | 
     ||||||||
| bfd
        
        dictionary
         | 
      
        
        Use BFD to detect failure
         | 
     ||||||||
| multi_hop
        
        boolean
         | 
      
       
  | 
      
        
        Force BFD multi-hop to detect failure
         | 
     |||||||
| set
        
        boolean
         | 
      
       
  | 
      
        
        set bfd
         | 
     |||||||
| single_hop
        
        boolean
         | 
      
       
  | 
      
        
        Force BFD single-hop to detect failure
         | 
     |||||||
| route_map
        
        string
         | 
      
        
        Route map for peer route
         | 
     ||||||||
| filter_list
        
        dictionary
         | 
      
        
        Establish BGP filters
         | 
     ||||||||
| as_path_acl
        
        integer
         | 
      
        
        AS path access list
        
       
        Please refer vendor documentation for valid values
         | 
     ||||||||
| in
        
        boolean
         | 
      
       
  | 
      
        
        Filter incoming updates
         | 
     |||||||
| out
        
        boolean
         | 
      
       
  | 
      
        
        Filter outgoing updates
         | 
     |||||||
| ha_mode
        
        dictionary
         | 
      
        
        high availability mode
         | 
     ||||||||
| disable
        
        boolean
         | 
      
       
  | 
      
        
        disable graceful-restart
         | 
     |||||||
| set
        
        boolean
         | 
      
       
  | 
      
        
        set ha-mode and graceful-restart for this peer
         | 
     |||||||
| inherit
        
        string
         | 
      
        
        Inherit a template
        
       
        Inherit a peer-policy template
         | 
     ||||||||
| internal_vpn_client
        
        boolean
         | 
      
       
  | 
      
        
        Stack iBGP-CE Neighbor Path in ATTR_SET for vpn update
         | 
     |||||||
| ipv6_adddress
        
        string
         | 
      
        
        Neighbor ipv6 address (X:X:X:X::X)
         | 
     ||||||||
| local_as
        
        dictionary
         | 
      
        
        Specify a local-as number
         | 
     ||||||||
| dual_as
        
        boolean
         | 
      
       
  | 
      
        
        Accept either real AS or local AS from the ebgp peer
         | 
     |||||||
| no_prepend
        
        dictionary
         | 
      
        
        Do not prepend local-as to updates from ebgp peers
         | 
     ||||||||
| replace_as
        
        boolean
         | 
      
       
  | 
      
        
        Replace real AS with local AS in the EBGP updates
         | 
     |||||||
| set
        
        boolean
         | 
      
       
  | 
      
        
        Set prepend
         | 
     |||||||
| number
        
        integer
         | 
      
        
        AS number used as local AS
        
       
        Please refer vendor documentation for valid values
         | 
     ||||||||
| set
        
        boolean
         | 
      
       
  | 
      
        
        set local-as number
         | 
     |||||||
| log_neighbor_changes
        
        dictionary
         | 
      
        
        Log neighbor up/down and reset reason
         | 
     ||||||||
| disable
        
        boolean
         | 
      
       
  | 
      
        
        disable Log neighbor up/down and reset
         | 
     |||||||
| set
        
        boolean
         | 
      
       
  | 
      
        
        set Log neighbor up/down and reset
         | 
     |||||||
| maximum_prefix
        
        dictionary
         | 
      
        
        Establish BGP filters
         | 
     ||||||||
| number
        
        integer
         | 
      
        
        maximum no. of prefix limit
        
       
        Please refer vendor documentation for valid values
         | 
     ||||||||
| restart
        
        integer
         | 
      
        
        Restart bgp connection after limit is exceeded
         | 
     ||||||||
| threshold_value
        
        integer
         | 
      
        
        Threshold value (%) at which to generate a warning msg
        
       
        Please refer vendor documentation for valid values
         | 
     ||||||||
| warning_only
        
        boolean
         | 
      
       
  | 
      
        
        Only give warning message when limit is exceeded
         | 
     |||||||
| next_hop_self
        
        boolean
         | 
      
       
  | 
      
        
        Disable the next hop calculation for this neighbor
        
       
        This option is DEPRECATED and is replaced with nexthop_self which accepts dict as input this attribute will be removed after 2023-06-01.
         | 
     |||||||
| next_hop_unchanged
        
        boolean
         | 
      
       
  | 
      
        
        Propagate next hop unchanged for iBGP paths to this neighbor
         | 
     |||||||
| nexthop_self
        
        dictionary
         | 
      
        
        Disable the next hop calculation for this neighbor
         | 
     ||||||||
| all
        
        boolean
         | 
      
       
  | 
      
        
        Enable next-hop-self for both eBGP and iBGP received paths
         | 
     |||||||
| set
        
        boolean
         | 
      
       
  | 
      
        
        set the next hop self
         | 
     |||||||
| password
        
        string
         | 
      
        
        Set a password
         | 
     ||||||||
| path_attribute
        
        dictionary
         | 
      
        
        BGP optional attribute filtering
         | 
     ||||||||
| discard
        
        dictionary
         | 
      
        
        Discard matching path-attribute for this neighbor
         | 
     ||||||||
| in
        
        boolean
         | 
      
       
  | 
      
        
        Perform inbound path-attribute filtering
         | 
     |||||||
| range
        
        dictionary
         | 
      
        
        path attribute range
         | 
     ||||||||
| end
        
        integer
         | 
      
        
        path attribute range end value
        
       
        Please refer vendor documentation for valid values
         | 
     ||||||||
| start
        
        integer
         | 
      
        
        path attribute range start value
        
       
        Please refer vendor documentation for valid values
         | 
     ||||||||
| type
        
        integer
         | 
      
        
        path attribute type
        
       
        Please refer vendor documentation for valid values
         | 
     ||||||||
| treat_as_withdraw
        
        dictionary
         | 
      
        
        Treat-as-withdraw matching path-attribute for this neighbor
         | 
     ||||||||
| in
        
        boolean
         | 
      
       
  | 
      
        
        Perform inbound path-attribute filtering
         | 
     |||||||
| range
        
        dictionary
         | 
      
        
        path attribute range
         | 
     ||||||||
| end
        
        integer
         | 
      
        
        path attribute range end value
        
       
        Please refer vendor documentation for valid values
         | 
     ||||||||
| start
        
        integer
         | 
      
        
        path attribute range start value
        
       
        Please refer vendor documentation for valid values
         | 
     ||||||||
| type
        
        integer
         | 
      
        
        path attribute type
        
       
        Please refer vendor documentation for valid values
         | 
     ||||||||
| peer_group
        
        boolean
         | 
      
       
  | 
      
        
        Member of the peer-group
         | 
     |||||||
| prefix_list
        
        dictionary
         | 
      
        
        Filter updates to/from this neighbor
        
       
        This option is DEPRECATED and is replaced with prefix_lists which accepts list of dict as input
         | 
     ||||||||
| in
        
        boolean
         | 
      
       
  | 
      
        
        Filter incoming updates
         | 
     |||||||
| name
        
        string
         | 
      
        
        Name of a prefix list
         | 
     ||||||||
| out
        
        boolean
         | 
      
       
  | 
      
        
        Filter outgoing updates
         | 
     |||||||
| prefix_lists
        
        list / elements=dictionary
         | 
      
        
        Filter updates to/from this neighbor
         | 
     ||||||||
| in
        
        boolean
         | 
      
       
  | 
      
        
        Filter incoming updates
         | 
     |||||||
| name
        
        string
         | 
      
        
        Name of a prefix list
         | 
     ||||||||
| out
        
        boolean
         | 
      
       
  | 
      
        
        Filter outgoing updates
         | 
     |||||||
| remote_as
        
        integer
         | 
      
        
        Specify a BGP neighbor
        
       
        AS of remote neighbor
         | 
     ||||||||
| remove_private_as
        
        dictionary
         | 
      
        
        Remove private AS number from outbound updates
         | 
     ||||||||
| all
        
        boolean
         | 
      
       
  | 
      
        
        Remove all private AS numbers
         | 
     |||||||
| replace_as
        
        boolean
         | 
      
       
  | 
      
        
        Replace all private AS numbers with local AS
         | 
     |||||||
| set
        
        boolean
         | 
      
       
  | 
      
        
        Remove private AS number from outbound updates
         | 
     |||||||
| route_map
        
        dictionary
         | 
      
        
        Apply route map to neighbor
        
       
        This option is DEPRECATED and is replaced with route_maps which accepts list of dict as input
         | 
     ||||||||
| in
        
        boolean
         | 
      
       
  | 
      
        
        Apply map to incoming routes
         | 
     |||||||
| name
        
        string
         | 
      
        
        Name of route map
         | 
     ||||||||
| out
        
        boolean
         | 
      
       
  | 
      
        
        Apply map to outbound routes
         | 
     |||||||
| route_maps
        
        list / elements=dictionary
         | 
      
        
        Apply route map to neighbor
         | 
     ||||||||
| in
        
        boolean
         | 
      
       
  | 
      
        
        Apply map to incoming routes
         | 
     |||||||
| name
        
        string
         | 
      
        
        Name of route map
         | 
     ||||||||
| out
        
        boolean
         | 
      
       
  | 
      
        
        Apply map to outbound routes
         | 
     |||||||
| route_reflector_client
        
        boolean
         | 
      
       
  | 
      
        
        Configure a neighbor as Route Reflector client
         | 
     |||||||
| route_server_client
        
        boolean
         | 
      
       
  | 
      
        
        Configure a neighbor as Route Server client
         | 
     |||||||
| send_community
        
        dictionary
         | 
      
        
        Send Community attribute to this neighbor
         | 
     ||||||||
| both
        
        boolean
         | 
      
       
  | 
      
        
        Send Standard and Extended Community attributes
         | 
     |||||||
| extended
        
        boolean
         | 
      
       
  | 
      
        
        Send Extended Community attribute
         | 
     |||||||
| standard
        
        boolean
         | 
      
       
  | 
      
        
        Send Standard Community attribute
         | 
     |||||||
| shutdown
        
        dictionary
         | 
      
        
        Administratively shut down this neighbor
         | 
     ||||||||
| graceful
        
        integer
         | 
      
        
        Gracefully shut down this neighbor
        
       
        time in seconds
        
       
        Please refer vendor documentation for valid values
         | 
     ||||||||
| set
        
        boolean
         | 
      
       
  | 
      
        
        shut down
         | 
     |||||||
| slow_peer
        
        list / elements=dictionary
         | 
      
        
        Configure slow-peer
         | 
     ||||||||
| detection
        
        dictionary
         | 
      
        
        Configure slow-peer
         | 
     ||||||||
| disable
        
        boolean
         | 
      
       
  | 
      
        
        Disable slow-peer detection
         | 
     |||||||
| enable
        
        boolean
         | 
      
       
  | 
      
        
        Enable slow-peer detection
         | 
     |||||||
| threshold
        
        integer
         | 
      
        
        Set the slow-peer detection threshold
         | 
     ||||||||
| split_update_group
        
        dictionary
         | 
      
        
        Configure slow-peer
         | 
     ||||||||
| dynamic
        
        dictionary
         | 
      
        
        Configure slow-peer
         | 
     ||||||||
| disable
        
        boolean
         | 
      
       
  | 
      
        
        Configure slow-peer
         | 
     |||||||
| enable
        
        boolean
         | 
      
       
  | 
      
        
        Configure slow-peer
         | 
     |||||||
| permanent
        
        boolean
         | 
      
       
  | 
      
        
        Configure slow-peer
         | 
     |||||||
| static
        
        boolean
         | 
      
       
  | 
      
        
        Configure slow-peer
         | 
     |||||||
| soft_reconfiguration
        
        boolean
         | 
      
       
  | 
      
        
        Per neighbor soft reconfiguration
        
       
        Allow inbound soft reconfiguration for this neighbor
         | 
     |||||||
| soo
        
        string
         | 
      
        
        Site-of-Origin extended community
         | 
     ||||||||
| tag
        
        string
         | 
      
        
        Neighbor tag
         | 
     ||||||||
| timers
        
        dictionary
         | 
      
        
        BGP per neighbor timers
         | 
     ||||||||
| holdtime
        
        integer
         | 
      
        
        Holdtime
         | 
     ||||||||
| interval
        
        integer
         | 
      
        
        Keepalive interval
         | 
     ||||||||
| min_holdtime
        
        integer
         | 
      
        
        Minimum hold time from neighbor
         | 
     ||||||||
| transport
        
        dictionary
         | 
      
        
        Transport options
         | 
     ||||||||
| connection_mode
        
        dictionary
         | 
      
        
        Specify passive or active connection
         | 
     ||||||||
| active
        
        boolean
         | 
      
       
  | 
      
        
        Actively establish the TCP session
         | 
     |||||||
| passive
        
        boolean
         | 
      
       
  | 
      
        
        Passively establish the TCP session
         | 
     |||||||
| multi_session
        
        boolean
         | 
      
       
  | 
      
        
        Use Multi-session for transport
         | 
     |||||||
| path_mtu_discovery
        
        dictionary
         | 
      
        
        Use transport path MTU discovery
         | 
     ||||||||
| disable
        
        boolean
         | 
      
       
  | 
      
        
        disable
         | 
     |||||||
| set
        
        boolean
         | 
      
       
  | 
      
        
        Use path MTU discovery
         | 
     |||||||
| ttl_security
        
        integer
         | 
      
        
        BGP ttl security check
        
       
        maximum number of hops
        
       
        Please refer vendor documentation for valid values
         | 
     ||||||||
| unsuppress_map
        
        string
         | 
      
        
        Route-map to selectively unsuppress suppressed routes
         | 
     ||||||||
| version
        
        integer
         | 
      
        
        Set the BGP version to match a neighbor
        
       
        Neighbor's BGP version
        
       
        Please refer vendor documentation for valid values
         | 
     ||||||||
| weight
        
        integer
         | 
      
        
        Set default weight for routes from this neighbor
         | 
     ||||||||
| network
        
        list / elements=dictionary
         | 
      
        
        Specify a network to announce via BGP
         | 
     ||||||||
| address
        
        string
         | 
      
        
        Network number (A.B.C.D)
         | 
     ||||||||
| backdoor
        
        boolean
         | 
      
       
  | 
      
        
        Specify a BGP backdoor route
         | 
     |||||||
| mask
        
        string
         | 
      
        
        Network mask (A.B.C.D)
         | 
     ||||||||
| route_map
        
        string
         | 
      
        
        Route-map to modify the attributes
         | 
     ||||||||
| redistribute
        
        list / elements=dictionary
         | 
      
        
        Redistribute information from another routing protocol
         | 
     ||||||||
| application
        
        dictionary
         | 
      
        
        Application
         | 
     ||||||||
| metric
        
        integer
         | 
      
        
        Metric for redistributed routes
         | 
     ||||||||
| name
        
        string
         | 
      
        
        Application name
         | 
     ||||||||
| route_map
        
        string
         | 
      
        
        Route map reference
         | 
     ||||||||
| bgp
        
        dictionary
         | 
      
        
        Border Gateway Protocol (BGP)
         | 
     ||||||||
| as_number
        
        string
         | 
      
        
        Autonomous system number
         | 
     ||||||||
| metric
        
        integer
         | 
      
        
        Metric for redistributed routes
         | 
     ||||||||
| route_map
        
        string
         | 
      
        
        Route map reference
         | 
     ||||||||
| connected
        
        dictionary
         | 
      
        
        Connected
         | 
     ||||||||
| metric
        
        integer
         | 
      
        
        Metric for redistributed routes
         | 
     ||||||||
| route_map
        
        string
         | 
      
        
        Route map reference
         | 
     ||||||||
| eigrp
        
        dictionary
         | 
      
        
        Enhanced Interior Gateway Routing Protocol (EIGRP)
         | 
     ||||||||
| as_number
        
        string
         | 
      
        
        Autonomous system number
         | 
     ||||||||
| metric
        
        integer
         | 
      
        
        Metric for redistributed routes
         | 
     ||||||||
| route_map
        
        string
         | 
      
        
        Route map reference
         | 
     ||||||||
| isis
        
        dictionary
         | 
      
        
        ISO IS-IS
         | 
     ||||||||
| area_tag
        
        string
         | 
      
        
        ISO routing area tag
         | 
     ||||||||
| clns
        
        boolean
         | 
      
       
  | 
      
        
        Redistribution of OSI dynamic routes
         | 
     |||||||
| ip
        
        boolean
         | 
      
       
  | 
      
        
        Redistribution of IP dynamic routes
         | 
     |||||||
| metric
        
        integer
         | 
      
        
        Metric for redistributed routes
         | 
     ||||||||
| route_map
        
        string
         | 
      
        
        Route map reference
         | 
     ||||||||
| iso_igrp
        
        dictionary
         | 
      
        
        IGRP for OSI networks
         | 
     ||||||||
| area_tag
        
        string
         | 
      
        
        ISO routing area tag
         | 
     ||||||||
| route_map
        
        string
         | 
      
        
        Route map reference
         | 
     ||||||||
| lisp
        
        dictionary
         | 
      
        
        Locator ID Separation Protocol (LISP)
         | 
     ||||||||
| metric
        
        integer
         | 
      
        
        Metric for redistributed routes
         | 
     ||||||||
| route_map
        
        string
         | 
      
        
        Route map reference
         | 
     ||||||||
| mobile
        
        dictionary
         | 
      
        
        Mobile routes
         | 
     ||||||||
| metric
        
        integer
         | 
      
        
        Metric for redistributed routes
         | 
     ||||||||
| route_map
        
        string
         | 
      
        
        Route map reference
         | 
     ||||||||
| odr
        
        dictionary
         | 
      
        
        On Demand stub Routes
         | 
     ||||||||
| metric
        
        integer
         | 
      
        
        Metric for redistributed routes
         | 
     ||||||||
| route_map
        
        string
         | 
      
        
        Route map reference
         | 
     ||||||||
| ospf
        
        dictionary
         | 
      
        
        Open Shortest Path First (OSPF)
         | 
     ||||||||
| match
        
        dictionary
         | 
      
        
        On Demand stub Routes
         | 
     ||||||||
| external
        
        boolean
         | 
      
       
  | 
      
        
        Redistribute OSPF external routes
         | 
     |||||||
| internal
        
        boolean
         | 
      
       
  | 
      
        
        Redistribute OSPF internal routes
         | 
     |||||||
| nssa_external
        
        boolean
         | 
      
       
  | 
      
        
        Redistribute OSPF NSSA external routes
         | 
     |||||||
| type_1
        
        boolean
         | 
      
       
  | 
      
        
        Redistribute NSSA external type 1 routes
         | 
     |||||||
| type_2
        
        boolean
         | 
      
       
  | 
      
        
        Redistribute NSSA external type 2 routes
         | 
     |||||||
| metric
        
        integer
         | 
      
        
        Metric for redistributed routes
         | 
     ||||||||
| process_id
        
        integer
         | 
      
        
        Process ID
         | 
     ||||||||
| route_map
        
        string
         | 
      
        
        Route map reference
         | 
     ||||||||
| vrf
        
        string
         | 
      
        
        VPN Routing/Forwarding Instance
         | 
     ||||||||
| ospfv3
        
        dictionary
         | 
      
        
        OSPFv3
         | 
     ||||||||
| match
        
        dictionary
         | 
      
        
        On Demand stub Routes
         | 
     ||||||||
| external
        
        boolean
         | 
      
       
  | 
      
        
        Redistribute OSPF external routes
         | 
     |||||||
| internal
        
        boolean
         | 
      
       
  | 
      
        
        Redistribute OSPF internal routes
         | 
     |||||||
| nssa_external
        
        boolean
         | 
      
       
  | 
      
        
        Redistribute OSPF NSSA external routes
         | 
     |||||||
| type_1
        
        boolean
         | 
      
       
  | 
      
        
        Redistribute NSSA external type 1 routes
         | 
     |||||||
| type_2
        
        boolean
         | 
      
       
  | 
      
        
        Redistribute NSSA external type 2 routes
         | 
     |||||||
| metric
        
        integer
         | 
      
        
        Metric for redistributed routes
         | 
     ||||||||
| process_id
        
        integer
         | 
      
        
        Process ID
         | 
     ||||||||
| route_map
        
        string
         | 
      
        
        Route map reference
         | 
     ||||||||
| rip
        
        dictionary
         | 
      
        
        Routing Information Protocol (RIP)
         | 
     ||||||||
| metric
        
        integer
         | 
      
        
        Metric for redistributed routes
         | 
     ||||||||
| route_map
        
        string
         | 
      
        
        Route map reference
         | 
     ||||||||
| static
        
        dictionary
         | 
      
        
        Static routes
         | 
     ||||||||
| clns
        
        boolean
         | 
      
       
  | 
      
        
        Redistribution of OSI static routes
         | 
     |||||||
| ip
        
        boolean
         | 
      
       
  | 
      
        
        Redistribution of IP static routes
         | 
     |||||||
| metric
        
        integer
         | 
      
        
        Metric for redistributed routes
         | 
     ||||||||
| route_map
        
        string
         | 
      
        
        Route map reference
         | 
     ||||||||
| vrf
        
        dictionary
         | 
      
        
        Specify a source VRF
         | 
     ||||||||
| global
        
        boolean
         | 
      
       
  | 
      
        
        global VRF
         | 
     |||||||
| name
        
        string
         | 
      
        
        Source VRF name
         | 
     ||||||||
| safi
        
        string
         | 
      
       
  | 
      
        
        Address Family modifier
         | 
     |||||||
| snmp
        
        dictionary
         | 
      
        
        Modify snmp parameters
         | 
     ||||||||
| context
        
        dictionary
         | 
      
        
        Configure a SNMP context
        
       
        Context Name
         | 
     ||||||||
| community
        
        dictionary
         | 
      
        
        Configure a SNMP v2c Community string and access privs
         | 
     ||||||||
| acl
        
        string
         | 
      
        
        Standard IP accesslist allowing access with this community string
        
       
        Expanded IP accesslist allowing access with this community string
        
       
        Access-list name
         | 
     ||||||||
| ipv6
        
        string
         | 
      
        
        Specify IPv6 Named Access-List
        
       
        IPv6 Access-list name
         | 
     ||||||||
| ro
        
        boolean
         | 
      
       
  | 
      
        
        Read-only access with this community string
         | 
     |||||||
| rw
        
        boolean
         | 
      
       
  | 
      
        
        Read-write access with this community string
         | 
     |||||||
| snmp_community
        
        string
         | 
      
        
        SNMP community string
         | 
     ||||||||
| name
        
        string
         | 
      
        
        Context Name
         | 
     ||||||||
| user
        
        dictionary
         | 
      
        
        Configure a SNMP v3 user
         | 
     ||||||||
| access
        
        dictionary
         | 
      
        
        specify an access-list associated with this group
         | 
     ||||||||
| acl
        
        string
         | 
      
        
        SNMP community string
         | 
     ||||||||
| ipv6
        
        string
         | 
      
        
        Specify IPv6 Named Access-List
        
       
        IPv6 Access-list name
         | 
     ||||||||
| auth
        
        dictionary
         | 
      
        
        authentication parameters for the user
         | 
     ||||||||
| md5
        
        string
         | 
      
        
        Use HMAC MD5 algorithm for authentication
        
       
        authentication password for user
         | 
     ||||||||
| sha
        
        string
         | 
      
        
        Use HMAC SHA algorithm for authentication
        
       
        authentication password for user
         | 
     ||||||||
| credential
        
        boolean
         | 
      
       
  | 
      
        
        If the user password is already configured and saved
         | 
     |||||||
| encrypted
        
        boolean
         | 
      
       
  | 
      
        
        specifying passwords as MD5 or SHA digests
         | 
     |||||||
| name
        
        string
         | 
      
        
        SNMP community string
         | 
     ||||||||
| priv
        
        dictionary
         | 
      
        
        encryption parameters for the user
         | 
     ||||||||
| des
        
        string
         | 
      
        
        Use 56 bit DES algorithm for encryption
         | 
     ||||||||
| table_map
        
        dictionary
         | 
      
        
        Map external entry attributes into routing table
         | 
     ||||||||
| filter
        
        boolean
         | 
      
       
  | 
      
        
        Selective route download
         | 
     |||||||
| name
        
        string
         | 
      
        
        route-map name
         | 
     ||||||||
| vrf
        
        string
         | 
      
        
        Specify parameters for a VPN Routing/Forwarding instance
         | 
     ||||||||
| as_number
        
        string
         | 
      
        
        Autonomous system number.
         | 
     ||||||||
| running_config
        
        string
         | 
      
        
        This option is used only with state parsed.
        
       
        The value of this option should be the output received from the IOS device by executing the command sh running-config | section ^router 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
        
       
        The states rendered, gathered and parsed does not perform any change on the device.
        
       
        The state rendered will transform the configuration in  
       config option to platform specific CLI commands which will be returned in the rendered key within the result. For state rendered active connection to remote host is not required.
       
        The state gathered will fetch the running configuration from device and transform it into structured data in the format as per the resource module argspec and the value is returned in the gathered key within the result.
        
       
        The state parsed reads the configuration from  running_config option and transforms it into JSON format as per the resource module parameters and the value is returned in the parsed key within the result. The value of running_config option should be the same format as the output of command show running-config | include ip route|ipv6 route executed on device. For state parsed active connection to remote host is not required.
        | 
     |||||||
Notes
Note
- Tested against Cisco IOSv Version 15.2 on VIRL
 
Examples
# Using merged
# Before state:
# -------------
#
# vios#sh running-config | section ^router bgp
# router bgp 65000
#  bgp log-neighbor-changes
#  bgp nopeerup-delay cold-boot 20
- name: Merge provided configuration with device configuration
  cisco.ios.ios_bgp_address_family:
    config:
      as_number: 65000
      address_family:
        - afi: ipv4
          safi: multicast
          vrf: blue
          aggregate_address:
            - address: 192.0.2.1
              netmask: 255.255.255.255
              as_confed_set: true
          bgp:
            aggregate_timer: 10
            dampening:
              penalty_half_time: 1
              reuse_route_val: 1
              suppress_route_val: 1
              max_suppress: 1
            slow_peer:
              - detection:
                  threshold: 150
          neighbor:
            - address: 198.51.100.1
              aigp:
                send:
                  cost_community:
                    id: 100
                    poi:
                      igp_cost: true
                      transitive: true
              slow_peer:
                - detection:
                    threshold: 150
              remote_as: 10
              route_map:
                - name: test-route-out
                  out: true
                - name: test-route-in
                  in: true
              route_server_client: true
          network:
            - address: 198.51.110.10
              mask: 255.255.255.255
              backdoor: true
          snmp:
            context:
              name: snmp_con
              community:
                snmp_community: community
                ro: true
                acl: 10
        - afi: ipv4
          safi: mdt
          bgp:
            dmzlink_bw: true
            dampening:
              penalty_half_time: 1
              reuse_route_val: 10
              suppress_route_val: 100
              max_suppress: 5
            soft_reconfig_backup: true
        - afi: ipv4
          safi: multicast
          aggregate_address:
            - address: 192.0.3.1
              netmask: 255.255.255.255
              as_confed_set: true
          default_metric: 12
          distance:
            external: 10
            internal: 10
            local: 100
          network:
            - address: 198.51.111.11
              mask: 255.255.255.255
              route_map: test
          table_map:
            name: test_tableMap
            filter: true
    state: merged
# Commands fired:
# ---------------
# "commands": [
#     "router bgp 65000",
#     "address-family ipv4 multicast vrf blue",
#     "bgp aggregate-timer 10",
#     "bgp slow-peer detection threshold 150",
#     "bgp dampening 1 1 1 1",
#     "neighbor 198.51.100.1 remote-as 10",
#     "neighbor 198.51.100.1 aigp send cost-community 100 poi igp-cost transitive",
#     "neighbor 198.51.100.1 route-map test-route out",
#     "neighbor 198.51.100.1 route-server-client",
#     "neighbor 198.51.100.1 slow-peer detection threshold 150",
#     "network 198.51.110.10 mask 255.255.255.255 backdoor",
#     "snmp context snnmp_con_1 community community ro 10",
#     "aggregate-address 192.0.2.1 255.255.255.255 as-confed-set",
#     "exit-address-family",
#     "address-family ipv4 mdt",
#     "bgp dmzlink-bw",
#     "bgp dampening 1 10 100 5",
#     "bgp soft-reconfig-backup",
#     "exit-address-family",
#     "address-family ipv4 multicast",
#     "network 1.1.1.1 mask 255.255.255.255 route-map test",
#     "aggregate-address 192.0.3.1 255.255.255.255 as-confed-set",
#     "default-metric 12",
#     "distance bgp 10 10 100",
#     "table-map test_tableMap filter"
#     "exit-address-family",
# ]
# After state:
# ------------
#
# vios#sh running-config | section ^router bgp
# router bgp 65000
#  bgp log-neighbor-changes
#  bgp nopeerup-delay cold-boot 20
#  !
#  address-family ipv4 multicast
#   table-map test_tableMap filter
#   network 1.1.1.1 mask 255.255.255.255 route-map test
#   aggregate-address 192.0.3.1 255.255.255.255 as-confed-set
#   default-metric 12
#   distance bgp 10 10 100
#  exit-address-family
#  !
#  address-family ipv4 mdt
#   bgp dampening 1 10 100 5
#   bgp dmzlink-bw
#   bgp soft-reconfig-backup
#  exit-address-family
#  !
#  address-family ipv4 multicast vrf blue
#   bgp aggregate-timer 10
#   bgp slow-peer detection threshold 150
#   bgp dampening 1 1 1 1
#   network 198.51.110.10 mask 255.255.255.255 backdoor
#   aggregate-address 192.0.2.1 255.255.255.255 as-confed-set
#   neighbor 198.51.100.1 remote-as 10
#   neighbor 198.51.100.1 activate
#   neighbor 198.51.100.1 aigp send cost-community 100 poi igp-cost transitive
#   neighbor 198.51.100.1 route-server-client
#   neighbor 198.51.100.1 slow-peer detection threshold 150
#   neighbor 198.51.100.1 route-map test-route out
#  exit-address-family
# Using replaced
# Before state:
# -------------
#
# vios#sh running-config | section ^router bgp
# router bgp 65000
#  bgp log-neighbor-changes
#  bgp nopeerup-delay cold-boot 20
#  !
#  address-family ipv4 multicast
#   table-map test_tableMap filter
#   network 1.1.1.1 mask 255.255.255.255 route-map test
#   aggregate-address 192.0.3.1 255.255.255.255 as-confed-set
#   default-metric 12
#   distance bgp 10 10 100
#  exit-address-family
#  !
#  address-family ipv4 mdt
#   bgp dampening 1 10 100 5
#   bgp dmzlink-bw
#   bgp soft-reconfig-backup
#  exit-address-family
#  !
#  address-family ipv4 multicast vrf blue
#   bgp aggregate-timer 10
#   bgp slow-peer detection threshold 150
#   bgp dampening 1 1 1 1
#   network 198.51.110.10 mask 255.255.255.255 backdoor
#   aggregate-address 192.0.2.1 255.255.255.255 as-confed-set
#   neighbor 198.51.100.1 remote-as 10
#   neighbor 198.51.100.1 activate
#   neighbor 198.51.100.1 aigp send cost-community 100 poi igp-cost transitive
#   neighbor 198.51.100.1 route-server-client
#   neighbor 198.51.100.1 slow-peer detection threshold 150
#   neighbor 198.51.100.1 route-map test-route out
#  exit-address-family
- name: Replaces device configuration of listed AF BGP with provided configuration
  cisco.ios.ios_bgp_address_family:
    config:
      as_number: 65000
      address_family:
        - afi: ipv4
          safi: multicast
          vrf: blue
          aggregate_address:
            - address: 192.0.2.1
              netmask: 255.255.255.255
              as_confed_set: true
          bgp:
            aggregate_timer: 10
            dampening:
              penalty_half_time: 1
              reuse_route_val: 1
              suppress_route_val: 1
              max_suppress: 1
            slow_peer:
              - detection:
                  threshold: 150
          neighbor:
            - address: 198.51.110.1
              activate: true
              aigp:
                send:
                  cost_community:
                    id: 200
                    poi:
                      igp_cost: true
                      transitive: true
              slow_peer:
                - detection:
                    threshold: 150
              remote_as: 10
              route_maps:
                - name: test-replaced-route
                  out: true
              route_server_client: true
          network:
            - address: 198.51.110.10
              mask: 255.255.255.255
              backdoor: true
        - afi: ipv4
          safi: multicast
          bgp:
            aggregate_timer: 10
            dampening:
              penalty_half_time: 10
              reuse_route_val: 10
              suppress_route_val: 10
              max_suppress: 10
            slow_peer:
              - detection:
                  threshold: 200
          network:
            - address: 192.0.2.1
              mask: 255.255.255.255
              route_map: test
    state: replaced
# Commands fired:
# ---------------
# "commands": [
#         "router bgp 65000",
#         "address-family ipv4 multicast vrf blue",
#         "neighbor 198.51.110.1 remote-as 10",
#         "neighbor 198.51.110.1 activate",
#         "neighbor 198.51.110.1 aigp send cost-community 200 poi igp-cost transitive",
#         "neighbor 198.51.110.1 route-map test-replaced-route out",
#         "neighbor 198.51.110.1 route-server-client",
#         "neighbor 198.51.110.1 slow-peer detection threshold 150",
#         "no neighbor 198.51.100.1 remote-as 10",
#         "no neighbor 198.51.100.1 activate",
#         "no neighbor 198.51.100.1 aigp send cost-community 100 poi igp-cost transitive",
#         "no neighbor 198.51.100.1 route-map test-route out",
#         "no neighbor 198.51.100.1 route-server-client",
#         "no neighbor 198.51.100.1 slow-peer detection threshold 150",
#         "exit-address-family",
#         "address-family ipv4 multicast",
#         "bgp aggregate-timer 10",
#         "bgp slow-peer detection threshold 200",
#         "bgp dampening 10 10 10 10",
#         "network 192.0.2.1 mask 255.255.255.255 route-map test",
#         "no network 1.1.1.1 mask 255.255.255.255 route-map test",
#         "no aggregate-address 192.0.3.1 255.255.255.255 as-confed-set",
#         "no default-metric 12",
#         "no distance bgp 10 10 100",
#         "no table-map test_tableMap filter"
#         "exit-address-family",
#     ]
# After state:
# -------------
#
# vios#sh running-config | section ^router bgp
# router bgp 65000
#  bgp log-neighbor-changes
#  bgp nopeerup-delay cold-boot 20
#  !
#  address-family ipv4 multicast
#   bgp aggregate-timer 10
#   bgp slow-peer detection threshold 200
#   bgp dampening 10 10 10 10
#   network 192.0.2.1 mask 255.255.255.255 route-map test
#  exit-address-family
#  !
#  address-family ipv4 mdt
#   bgp dampening 1 10 100 5
#   bgp dmzlink-bw
#   bgp soft-reconfig-backup
#  exit-address-family
#  !
#  address-family ipv4 multicast vrf blue
#   bgp aggregate-timer 10
#   bgp slow-peer detection threshold 150
#   bgp dampening 1 1 1 1
#   network 198.51.110.10 mask 255.255.255.255 backdoor
#   aggregate-address 192.0.2.1 255.255.255.255 as-confed-set
#   neighbor 198.51.110.1 remote-as 10
#   neighbor 198.51.110.1 activate
#   neighbor 198.51.110.1 aigp send cost-community 200 poi igp-cost transitive
#   neighbor 198.51.110.1 route-server-client
#   neighbor 198.51.110.1 slow-peer detection threshold 150
#   neighbor 198.51.110.1 route-map test-replaced-route out
#  exit-address-family
# Using overridden
# Before state:
# -------------
#
# vios#sh running-config | section ^router bgp
# router bgp 65000
#  bgp log-neighbor-changes
#  bgp nopeerup-delay cold-boot 20
#  !
#  address-family ipv4 multicast
#   table-map test_tableMap filter
#   network 1.1.1.1 mask 255.255.255.255 route-map test
#   aggregate-address 192.0.3.1 255.255.255.255 as-confed-set
#   default-metric 12
#   distance bgp 10 10 100
#  exit-address-family
#  !
#  address-family ipv4 mdt
#   bgp dampening 1 10 100 5
#   bgp dmzlink-bw
#   bgp soft-reconfig-backup
#  exit-address-family
#  !
#  address-family ipv4 multicast vrf blue
#   bgp aggregate-timer 10
#   bgp slow-peer detection threshold 150
#   bgp dampening 1 1 1 1
#   network 198.51.110.10 mask 255.255.255.255 backdoor
#   aggregate-address 192.0.2.1 255.255.255.255 as-confed-set
#   neighbor 198.51.100.1 remote-as 10
#   neighbor 198.51.100.1 activate
#   neighbor 198.51.100.1 aigp send cost-community 100 poi igp-cost transitive
#   neighbor 198.51.100.1 route-server-client
#   neighbor 198.51.100.1 slow-peer detection threshold 150
#   neighbor 198.51.100.1 route-map test-route out
#  exit-address-family
- name: Override device configuration of all AF BGP with provided configuration
  cisco.ios.ios_bgp_address_family:
    config:
      as_number: 65000
      address_family:
        - afi: ipv4
          safi: multicast
          vrf: blue
          aggregate_address:
            - address: 192.0.2.1
              netmask: 255.255.255.255
              as_confed_set: true
          bgp:
            aggregate_timer: 10
            dampening:
              penalty_half_time: 10
              reuse_route_val: 10
              suppress_route_val: 100
              max_suppress: 50
            slow_peer:
              - detection:
                  threshold: 150
          neighbor:
            - address: 198.51.110.1
              activate: true
              log_neighbor_changes:
                disable: true
              maximum_prefix:
                number: 1
                threshold_value: 10
                restart: 100
              slow_peer:
                - detection:
                    threshold: 150
              remote_as: 100
              route_maps:
                - name: test-override-route
                  out: true
              route_server_client: true
              version: 4
          network:
            - address: 198.51.110.10
              mask: 255.255.255.255
              backdoor: true
        - afi: ipv6
          safi: multicast
          default_information: true
          bgp:
            aggregate_timer: 10
            dampening:
              penalty_half_time: 10
              reuse_route_val: 10
              suppress_route_val: 10
              max_suppress: 10
            slow_peer:
              - detection:
                  threshold: 200
          network:
            - address: 2001:DB8:0:3::/64
              route_map: test_ipv6
    state: overridden
# Commands fired:
# ---------------
# "commands": [
#       "router bgp 65000",
#       "no address-family ipv4 multicast",
#       "no address-family ipv4 mdt",
#       "address-family ipv4 multicast vrf blue",
#       "bgp aggregate-timer 10",
#       "bgp slow-peer detection threshold 150",
#       "bgp dampening 10 10 100 50",
#       "neighbor 198.51.110.1 remote-as 100",
#       "neighbor 198.51.110.1 activate",
#       "neighbor 198.51.110.1 log-neighbor-changes disable",
#       "neighbor 198.51.110.1 maximum-prefix 1 10 restart 100",
#       "neighbor 198.51.110.1 route-map test-override-route out",
#       "neighbor 198.51.110.1 route-server-client",
#       "neighbor 198.51.110.1 version 4",
#       "neighbor 198.51.110.1 slow-peer detection threshold 150",
#       "network 198.51.110.10 mask 255.255.255.255 backdoor",
#       "aggregate-address 192.0.2.1 255.255.255.255 as-confed-set",
#       "exit-address-family",
#       "address-family ipv6 multicast",
#       "bgp aggregate-timer 10",
#       "bgp slow-peer detection threshold 200",
#       "bgp dampening 10 10 10 10",
#       "network 2001:DB8:0:3::/64 route-map test_ipv6"
#       "exit-address-family",
#   ]
# After state:
# -------------
#
# vios#sh running-config | section ^router bgp
# router bgp 65000
#  bgp log-neighbor-changes
#  bgp nopeerup-delay cold-boot 20
#  bgp nopeerup-delay post-boot 10
#  bgp bestpath med confed
#  snmp context snnmp_con_1 community community RO 10
#  neighbor 192.0.2.1 remote-as 100
#  neighbor 192.0.2.1 description replace neighbor
#  neighbor 198.51.100.1 remote-as 10
#  !
#  address-family ipv6 multicast
#   bgp aggregate-timer 10
#   bgp slow-peer detection threshold 200
#   bgp dampening 10 10 10 10
#   network 2001:DB8:0:3::/64 route-map test_ipv6
#  exit-address-family
#  !
#  address-family ipv4 multicast vrf blue
#   bgp aggregate-timer 10
#   bgp slow-peer detection threshold 150
#   bgp dampening 10 10 100 50
#   network 198.51.110.10 mask 255.255.255.255 backdoor
#   aggregate-address 192.0.2.1 255.255.255.255 as-confed-set
#   neighbor 198.51.110.1 remote-as 100
#   neighbor 198.51.110.1 log-neighbor-changes disable
#   neighbor 198.51.110.1 version 4
#   neighbor 198.51.110.1 activate
#   neighbor 198.51.110.1 route-server-client
#   neighbor 198.51.110.1 slow-peer detection threshold 150
#   neighbor 198.51.110.1 route-map test-override-route out
#   neighbor 198.51.110.1 maximum-prefix 1 10 restart 100
#  exit-address-family
# Using Deleted
# Before state:
# -------------
#
# vios#sh running-config | section ^router bgp
# router bgp 65000
#  bgp log-neighbor-changes
#  bgp nopeerup-delay cold-boot 20
#  !
#  address-family ipv4 multicast
#   table-map test_tableMap filter
#   network 1.1.1.1 mask 255.255.255.255 route-map test
#   aggregate-address 192.0.3.1 255.255.255.255 as-confed-set
#   default-metric 12
#   distance bgp 10 10 100
#  exit-address-family
#  !
#  address-family ipv4 mdt
#   bgp dampening 1 10 100 5
#   bgp dmzlink-bw
#   bgp soft-reconfig-backup
#  exit-address-family
#  !
#  address-family ipv4 multicast vrf blue
#   bgp aggregate-timer 10
#   bgp slow-peer detection threshold 150
#   bgp dampening 1 1 1 1
#   network 198.51.110.10 mask 255.255.255.255 backdoor
#   aggregate-address 192.0.2.1 255.255.255.255 as-confed-set
#   neighbor 198.51.100.1 remote-as 10
#   neighbor 198.51.100.1 activate
#   neighbor 198.51.100.1 aigp send cost-community 100 poi igp-cost transitive
#   neighbor 198.51.100.1 route-server-client
#   neighbor 198.51.100.1 slow-peer detection threshold 150
#   neighbor 198.51.100.1 route-map test-route out
#  exit-address-family
- name: "Delete AF BGP (Note: This won't delete the all configured AF BGP)"
  cisco.ios.ios_bgp_address_family:
    config:
      as_number: 65000
      address_family:
        - afi: ipv4
          safi: multicast
        - afi: ipv4
          safi: mdt
    state: deleted
# Commands fired:
# ---------------
# "commands": [
#       "router bgp 65000",
#       "no address-family ipv4 multicast",
#       "no address-family ipv4 mdt"
#   ]
# After state:
# -------------
#
# vios#sh running-config | section ^router bg
# router bgp 65000
#  bgp log-neighbor-changes
#  bgp nopeerup-delay cold-boot 20
#  !
#  address-family ipv4 multicast vrf blue
#   bgp aggregate-timer 10
#   bgp slow-peer detection threshold 150
#   bgp dampening 1 1 1 1
#   network 198.51.110.10 mask 255.255.255.255 backdoor
#   aggregate-address 192.0.2.1 255.255.255.255 as-confed-set
#   neighbor 198.51.100.1 remote-as 10
#   neighbor 198.51.100.1 activate
#   neighbor 198.51.100.1 aigp send cost-community 100 poi igp-cost transitive
#   neighbor 198.51.100.1 route-server-client
#   neighbor 198.51.100.1 slow-peer detection threshold 150
#   neighbor 198.51.100.1 route-map test-route out
#  exit-address-family
# Using Deleted without any config passed
#"(NOTE: This will delete all of configured AF BGP)"
# Before state:
# -------------
#
# vios#sh running-config | section ^router bgp
# router bgp 65000
#  bgp log-neighbor-changes
#  bgp nopeerup-delay cold-boot 20
#  !
#  address-family ipv4 multicast
#   table-map test_tableMap filter
#   network 1.1.1.1 mask 255.255.255.255 route-map test
#   aggregate-address 192.0.3.1 255.255.255.255 as-confed-set
#   default-metric 12
#   distance bgp 10 10 100
#  exit-address-family
#  !
#  address-family ipv4 mdt
#   bgp dampening 1 10 100 5
#   bgp dmzlink-bw
#   bgp soft-reconfig-backup
#  exit-address-family
#  !
#  address-family ipv4 multicast vrf blue
#   bgp aggregate-timer 10
#   bgp slow-peer detection threshold 150
#   bgp dampening 1 1 1 1
#   network 198.51.110.10 mask 255.255.255.255 backdoor
#   aggregate-address 192.0.2.1 255.255.255.255 as-confed-set
#   neighbor 198.51.100.1 remote-as 10
#   neighbor 198.51.100.1 activate
#   neighbor 198.51.100.1 aigp send cost-community 100 poi igp-cost transitive
#   neighbor 198.51.100.1 route-server-client
#   neighbor 198.51.100.1 slow-peer detection threshold 150
#   neighbor 198.51.100.1 route-map test-route out
#  exit-address-family
- name: 'Delete ALL of configured AF BGP (Note: This WILL delete the all configured
    AF BGP)'
  cisco.ios.ios_bgp_address_family:
    state: deleted
# Commands fired:
# ---------------
# "commands": [
#       "router bgp 65000",
#       "no address-family ipv4 multicast vrf blue",
#       "no address-family ipv4 multicast",
#       "no address-family ipv4 mdt"
#   ]
# After state:
# -------------
#
# vios#sh running-config | section ^router bgp
# router bgp 65000
#  bgp log-neighbor-changes
#  bgp nopeerup-delay cold-boot 20
# Using Gathered
# Before state:
# -------------
#
# vios#sh running-config | section ^router bgp
- name: Gather listed AF BGP with provided configurations
  cisco.ios.ios_bgp_address_family:
    config:
    state: gathered
# Module Execution Result:
# ------------------------
#
# "gathered": {
#       "address_family": [
#           {
#               "afi": "ipv4",
#               "aggregate_address": [{
#                   "address": "192.0.2.1",
#                   "as_confed_set": true,
#                   "netmask": "255.255.255.255"
#               }],
#               "bgp": {
#                   "aggregate_timer": 10,
#                   "dampening": {
#                       "max_suppress": 1,
#                       "penalty_half_time": 1,
#                       "reuse_route_val": 1,
#                       "suppress_route_val": 1
#                   },
#                   "slow_peer": [
#                       {
#                           "detection": {
#                               "threshold": 150
#                           }
#                       }
#                   ]
#               },
#               "neighbor": [
#                   {
#                       "activate": true,
#                       "address": "198.51.100.1",
#                       "aigp": {
#                           "send": {
#                               "cost_community": {
#                                   "id": 100,
#                                   "poi": {
#                                       "igp_cost": true,
#                                       "transitive": true
#                                   }
#                               }
#                           }
#                       },
#                       "remote_as": 10,
#                       "route_maps": [{
#                           "name": "test-route",
#                           "out": true
#                       }],
#                       "route_server_client": true,
#                       "slow_peer": [
#                           {
#                               "detection": {
#                                   "threshold": 150
#                               }
#                           }
#                       ]
#                   }
#               ],
#               "network": [
#                   {
#                       "address": "198.51.110.10",
#                       "backdoor": true,
#                       "mask": "255.255.255.255"
#                   }
#               ],
#               "safi": "multicast",
#               "snmp": {
#                   "context": {
#                       "community": {
#                           "acl": "10",
#                           "ro": true,
#                           "snmp_community": "community"
#                       },
#                       "name": "snnmp_con_1"
#                   }
#               },
#               "vrf": "blue"
#           },
#           {
#               "afi": "ipv4",
#               "aggregate_address": [{
#                   "address": "192.0.3.1",
#                   "as_confed_set": true,
#                   "netmask": "255.255.255.255"
#               }],
#               "default_metric": 12,
#               "distance": {
#                   "external": 10,
#                   "internal": 10,
#                   "local": 100
#               },
#               "network": [
#                   {
#                       "address": "1.1.1.1",
#                       "mask": "255.255.255.255",
#                       "route_map": "test"
#                   }
#               ],
#               "safi": "multicast",
#               "table_map": {
#                   "filter": true,
#                   "name": "test_tableMap"
#               }
#           },
#           {
#               "afi": "ipv4",
#               "bgp": {
#                   "dampening": {
#                       "max_suppress": 5,
#                       "penalty_half_time": 1,
#                       "reuse_route_val": 10,
#                       "suppress_route_val": 100
#                   },
#                   "dmzlink_bw": true,
#                   "soft_reconfig_backup": true
#               },
#               "safi": "mdt"
#           }
#       ],
#       "as_number": "65000"
#   }
# Using Rendered
- name: Rendered the provided configuration with the existing running configuration
  cisco.ios.ios_bgp_address_family:
    config:
      as_number: 65000
      address_family:
        - afi: ipv4
          safi: multicast
          vrf: blue
          aggregate_address:
            - address: 192.0.2.1
              netmask: 255.255.255.255
              as_confed_set: true
          bgp:
            aggregate_timer: 10
            dampening:
              penalty_half_time: 1
              reuse_route_val: 1
              suppress_route_val: 1
              max_suppress: 1
            slow_peer:
              - detection:
                  threshold: 150
          neighbor:
            - address: 198.51.100.1
              aigp:
                send:
                  cost_community:
                    id: 100
                    poi:
                      igp_cost: true
                      transitive: true
              slow_peer:
                - detection:
                    threshold: 150
              remote_as: 10
              route_maps:
                - name: test-route
                  out: true
              route_server_client: true
          network:
            - address: 198.51.110.10
              mask: 255.255.255.255
              backdoor: true
          snmp:
            context:
              name: snmp_con
              community:
                snmp_community: community
                ro: true
                acl: 10
        - afi: ipv4
          safi: mdt
          bgp:
            dmzlink_bw: true
            dampening:
              penalty_half_time: 1
              reuse_route_val: 10
              suppress_route_val: 100
              max_suppress: 5
            soft_reconfig_backup: true
    state: rendered
# Module Execution Result:
# ------------------------
#
# "rendered": [
#     "router bgp 65000",
#     "address-family ipv4 multicast vrf blue",
#     "bgp aggregate-timer 10",
#     "bgp slow-peer detection threshold 150",
#     "bgp dampening 1 1 1 1",
#     "neighbor 198.51.100.1 remote-as 10",
#     "neighbor 198.51.100.1 aigp send cost-community 100 poi igp-cost transitive",
#     "neighbor 198.51.100.1 route-map test-route out",
#     "neighbor 198.51.100.1 route-server-client",
#     "neighbor 198.51.100.1 slow-peer detection threshold 150",
#     "network 198.51.110.10 mask 255.255.255.255 backdoor",
#     "snmp context snnmp_con_1 community community ro 10",
#     "aggregate-address 192.0.2.1 255.255.255.255 as-confed-set",
#     "exit-address-family",
#     "address-family ipv4 mdt",
#     "bgp dmzlink-bw",
#     "bgp dampening 1 10 100 5",
#     "bgp soft-reconfig-backup"
#     "exit-address-family",
# ]
# Using Parsed
# File: parsed.cfg
# ----------------
# router bgp 65000
#  bgp log-neighbor-changes
#  bgp nopeerup-delay cold-boot 20
#  !
#  address-family ipv4 multicast
#   table-map test_tableMap filter
#   network 1.1.1.1 mask 255.255.255.255 route-map test
#   aggregate-address 192.0.3.1 255.255.255.255 as-confed-set
#   default-metric 12
#   distance bgp 10 10 100
#  exit-address-family
#  !
#  address-family ipv4 mdt
#   bgp dampening 1 10 100 5
#   bgp dmzlink-bw
#   bgp soft-reconfig-backup
#  exit-address-family
#  !
- name: Parse the commands for provided configuration
  cisco.ios.ios_bgp_address_family:
    running_config: "{{ lookup('file', 'parsed.cfg') }}"
    state: parsed
# Module Execution Result:
# ------------------------
#
# "parsed": {
#       "address_family": [
#           {
#               "afi": "ipv4",
#               "aggregate_address": [{
#                   "address": "192.0.3.1",
#                   "as_confed_set": true,
#                   "netmask": "255.255.255.255"
#               }],
#               "default_metric": 12,
#               "distance": {
#                   "external": 10,
#                   "internal": 10,
#                   "local": 100
#               },
#               "network": [
#                   {
#                       "address": "1.1.1.1",
#                       "mask": "255.255.255.255",
#                       "route_map": "test"
#                   }
#               ],
#               "safi": "multicast",
#               "table_map": {
#                   "filter": true,
#                   "name": "test_tableMap"
#               }
#           },
#           {
#               "afi": "ipv4",
#               "bgp": {
#                   "dampening": {
#                       "max_suppress": 5,
#                       "penalty_half_time": 1,
#                       "reuse_route_val": 10,
#                       "suppress_route_val": 100
#                   },
#                   "dmzlink_bw": true,
#                   "soft_reconfig_backup": true
#               },
#               "safi": "mdt"
#           }
#       ],
#       "as_number": "65000"
#   }
  Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description | 
|---|---|---|
| after
        
        dictionary
         | 
      when changed | 
        
        The resulting configuration after module execution.
         Sample:
        
       
        This output will always be in the same format as the module argspec.
         | 
     
| before
        
        dictionary
         | 
      when state is merged, replaced, overridden, deleted or purged | 
      
        
        The configuration prior to the module execution.
         Sample:
        
       
        This output will always be in the same format as the module argspec.
         | 
     
| commands
        
        list / elements=string
         | 
      when state is merged, replaced, overridden, deleted or purged | 
      
        
        The set of commands pushed to the remote device.
         Sample:
        
       
        ['router bgp 65000', 'address-family ipv4 multicast', 'table-map test_tableMap filter', 'network 1.1.1.1 mask 255.255.255.255 route-map test', 'aggregate-address 192.0.3.1 255.255.255.255 as-confed-set']
         | 
     
| gathered
        
        list / elements=string
         | 
      when state is gathered | 
      
        
        Facts about the network resource gathered from the remote device as structured data.
         Sample:
        
       
        This output will always be in the same format as the module argspec.
         | 
     
| parsed
        
        list / elements=string
         | 
      when state is parsed | 
      
        
        The device native config provided in running_config option parsed into structured data as per module argspec.
         Sample:
        
       
        This output will always be in the same format as the module argspec.
         | 
     
| rendered
        
        list / elements=string
         | 
      when state is rendered | 
      
        
        The provided configuration in the task rendered in device-native format (offline).
         Sample:
        
       
        ['router bgp 65000', 'address-family ipv4 multicast', 'table-map test_tableMap filter', 'network 1.1.1.1 mask 255.255.255.255 route-map test', 'aggregate-address 192.0.3.1 255.255.255.255 as-confed-set']
         | 
     
Authors
- Sumit Jaiswal (@justjais)
 
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
 https://docs.ansible.com/ansible/latest/collections/cisco/ios/ios_bgp_address_family_module.html