dellemc.enterprise_sonic.sonic_bgp – Manage global BGP and its parameters

Note

This plugin is part of the dellemc.enterprise_sonic collection (version 1.1.0).

To install it use: ansible-galaxy collection install dellemc.enterprise_sonic.

To use it in a playbook, specify: dellemc.enterprise_sonic.sonic_bgp.

New in version 1.0.0: of dellemc.enterprise_sonic

Synopsis

  • This module provides configuration management of global BGP parameters on devices running Enterprise SONiC Distribution by Dell Technologies.

Note

This module has a corresponding action plugin.

Parameters

Parameter Choices/Defaults Comments
config
list / elements=dictionary
Specifies the BGP-related configuration.
bestpath
dictionary
Configures the BGP best-path.
as_path
dictionary
Configures the as-path values.
confed
boolean
    Choices:
  • no
  • yes
Configures the confed values of as-path.
ignore
boolean
    Choices:
  • no
  • yes
Configures the ignore values of as-path.
multipath_relax
boolean
    Choices:
  • no
  • yes
Configures the multipath_relax values of as-path.
multipath_relax_as_set
boolean
    Choices:
  • no
  • yes
Configures the multipath_relax_as_set values of as-path.
compare_routerid
boolean
    Choices:
  • no
  • yes
Configures the compare_routerid.
med
dictionary
Configures the med values.
always_compare_med
boolean
    Choices:
  • no
  • yes
Allows comparing meds from different neighbors if set to true
confed
boolean
    Choices:
  • no
  • yes
Configures the confed values of med.
missing_as_worst
boolean
    Choices:
  • no
  • yes
Configures the missing_as_worst values of as-path.
bgp_as
string / required
Specifies the BGP autonomous system (AS) number to configure on the device.
log_neighbor_changes
boolean
    Choices:
  • no
  • yes
Enables/disables logging neighbor up/down and reset reason.
max_med
dictionary
Configure max med and its parameters
on_startup
dictionary
On startup time and max-med value
med_val
integer
on startup med value
timer
integer
Configures on startup time
router_id
string
Configures the BGP routing process router-id value.
timers
dictionary
Adjust routing timers
holdtime
integer
Configures hold-time
keepalive_interval
integer
Configures keepalive-interval
vrf_name
string
Default:
"default"
Specifies the VRF name.
state
string
    Choices:
  • merged ←
  • deleted
Specifies the operation to be performed on the BGP process that is configured on the device.
In case of merged, the input configuration is merged with the existing BGP configuration on the device.
In case of deleted, the existing BGP configuration is removed from the device.

Notes

Note

  • Tested against Enterprise SONiC Distribution by Dell Technologies.

  • Supports check_mode.

Examples

# Using deleted
#
# Before state:
# -------------
#
#!
#router bgp 10 vrf VrfCheck1
# router-id 10.2.2.32
# log-neighbor-changes
#!
#router bgp 11 vrf VrfCheck2
# log-neighbor-changes
# bestpath as-path ignore
# bestpath med missing-as-worst confed
# bestpath compare-routerid
#!
#router bgp 4
# router-id 10.2.2.4
# bestpath as-path ignore
# bestpath as-path confed
# bestpath med missing-as-worst confed
# bestpath compare-routerid
#!
#
- name: Delete BGP Global attributes
  dellemc.enterprise_sonic.sonic_bgp:
    config:
       - bgp_as: 4
         router_id: 10.2.2.4
         log_neighbor_changes: False
         bestpath:
           as_path:
             confed: True
             ignore: True
             multipath_relax: False
             multipath_relax_as_set: True
           compare_routerid: True
           med:
             confed: True
             missing_as_worst: True
       - bgp_as: 10
         router_id: 10.2.2.32
         log_neighbor_changes: True
         vrf_name: 'VrfCheck1'
       - bgp_as: 11
         log_neighbor_changes: True
         vrf_name: 'VrfCheck2'
         bestpath:
           as_path:
             confed: False
             ignore: True
             multipath_relax_as_set: True
           compare_routerid: True
           med:
             confed: True
             missing_as_worst: True
    state: deleted


# After state:
# ------------
#
#!
#router bgp 10 vrf VrfCheck1
# log-neighbor-changes
#!
#router bgp 11 vrf VrfCheck2
# log-neighbor-changes
# bestpath compare-routerid
#!
#router bgp 4
# log-neighbor-changes
# bestpath compare-routerid
#!


# Using deleted
#
# Before state:
# -------------
#
#!
#router bgp 10 vrf VrfCheck1
# router-id 10.2.2.32
# log-neighbor-changes
#!
#router bgp 11 vrf VrfCheck2
# log-neighbor-changes
# bestpath as-path ignore
# bestpath med missing-as-worst confed
# bestpath compare-routerid
#!
#router bgp 4
# router-id 10.2.2.4
# bestpath as-path ignore
# bestpath as-path confed
# bestpath med missing-as-worst confed
# bestpath compare-routerid
#!

- name: Deletes all the bgp global configurations
  dellemc.enterprise_sonic.sonic_bgp:
     config:
     state: deleted

# After state:
# ------------
#
#!
#!


# Using merged
#
# Before state:
# -------------
#
#!
#router bgp 4
# router-id 10.1.1.4
#!
#
- name: Merges provided configuration with device configuration
  dellemc.enterprise_sonic.sonic_bgp:
     config:
       - bgp_as: 4
         router_id: 10.2.2.4
         log_neighbor_changes: False
         timers:
           holdtime: 20
           keepalive_interval: 30
         bestpath:
           as_path:
             confed: True
             ignore: True
             multipath_relax: False
             multipath_relax_as_set: True
           compare_routerid: True
           med:
             confed: True
             missing_as_worst: True
             always_compare_med: True
         max_med:
           on_startup:
             timer: 667
             med_val: 7878
       - bgp_as: 10
         router_id: 10.2.2.32
         log_neighbor_changes: True
         vrf_name: 'VrfCheck1'
       - bgp_as: 11
         log_neighbor_changes: True
         vrf_name: 'VrfCheck2'
         bestpath:
           as_path:
             confed: False
             ignore: True
             multipath_relax_as_set: True
           compare_routerid: True
           med:
             confed: True
             missing_as_worst: True
     state: merged
#
# After state:
# ------------
#
#!
#router bgp 10 vrf VrfCheck1
# router-id 10.2.2.32
# log-neighbor-changes
#!
#router bgp 11 vrf VrfCheck2
# log-neighbor-changes
# bestpath as-path ignore
# bestpath med missing-as-worst confed
# bestpath compare-routerid
#!
#router bgp 4
# router-id 10.2.2.4
# bestpath as-path ignore
# bestpath as-path confed
# bestpath med missing-as-worst confed
# bestpath compare-routerid
# always-compare-med
# max-med on-startup 667 7878
# timers 20 30
#
#!

Return Values

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

Key Returned Description
after
list / elements=string
when changed
The resulting configuration model invocation.

Sample:
The configuration returned is always in the same format of the parameters above.
before
list / elements=string
always
The configuration prior to the model invocation.

Sample:
The configuration returned is always in the same format of the parameters above.
commands
list / elements=string
always
The set of commands pushed to the remote device.

Sample:
['command 1', 'command 2', 'command 3']


Authors

  • Dhivya P (@dhivayp)