dellemc.enterprise_sonic.sonic_ospfv2 module – Configure global OSPFv2 protocol settings on SONiC.
Note
This module is part of the dellemc.enterprise_sonic collection (version 2.5.1).
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 dellemc.enterprise_sonic
.
To use it in a playbook, specify: dellemc.enterprise_sonic.sonic_ospfv2
.
New in dellemc.enterprise_sonic 2.5.0
Synopsis
This module provides configuration management of global OSPFv2 parameters on devices running SONiC.
Configure VRF instance before configuring OSPF in a VRF.
Parameters
Parameter |
Comments |
---|---|
Specifies the OSPFv2 related configuration. non_passive_interfaces and passive_interfaces are mutually exclusive. When default_passive=True, passive_interfaces cannot be configured. When default_passive=False, non_passive_interfaces cannot be configured. |
|
Configure router ABR type.
Choices:
|
|
Configure interface auto cost reference bandwidth (1 to 4294967). |
|
Configure metric for redistributed routes (0 to 16777214). |
|
Suppresses OSPFv2 routing updates on all interfaces. Choices:
|
|
Configure route administrative distance. |
|
Distance value for all type of routes (1 to 255). |
|
Distance value for external routes (1 to 255). |
|
Distance value for inter-area routes (1 to 255). |
|
Distance value for intra-area routes (1 to 255). |
|
OSPF non stop forwarding (NSF) also known as OSPF Graceful Restart. |
|
Enable graceful restart. Choices:
|
|
Maximum length of the grace period in seconds (1 to 1800). |
|
OSPF GR Helper. |
|
Advertising Router ID. |
|
Enable Helper support. Choices:
|
|
Supported only planned restart. Choices:
|
|
Enable strict LSA check. Choices:
|
|
Supported grace interval in seconds (10 to 1800). |
|
Enable OSPFv2 adjacency state logs. Choices:
|
|
Enables infinite metric advertising in OSPFv2 LSAs. |
|
Enables administrative type infinite metric advertising. Choices:
|
|
Configure external LSA all prefix max metric advertising. Configure the maximum metric value (1 to 16777215). |
|
Configure external LSA connected prefix max metric advertising. Configure the maximum metric value (1 to 16777215). |
|
Enables infinite metric advertising at OSPFv2 router startup (5 to 86400). |
|
Configure router LSA all link max metric advertising. Configure the maximum metric value (1 to 16777215). |
|
Configure router LSA stub link max metric advertising. Configure the maximum metric value (1 to 16777215). |
|
Configure maximum number of multiple paths for ECMP support (1 to 256). |
|
Configure non passive interface types. |
|
Configure Interface IPv4 addresses. |
|
Full name of the Layer 3 interface, i.e. Eth1/1. |
|
Enables opaque LSA capability. Choices:
|
|
Configure passive interface types. |
|
Configure Interface IPv4 addresses. |
|
Full name of the Layer 3 interface, i.e. Eth1/1. |
|
Configure route redistribution into OSPFv2 router. |
|
Enable default route redistribution into OSPF always. Only available for protocol=default_route. Choices:
|
|
Metric value for redistributed routes (0 to 16777214). |
|
Metric type for redistributed routes. Choices:
|
|
Configure the type of protocol to redistribute into OSPF. Deleting protocol alone will also delete all the other configuration under redistribute.
Choices:
|
|
Route map to filter redistributed routes. Configure route map before. |
|
Configures LSA refresh interval in seconds (10 to 1800). |
|
Enable OSPFv2 RFC compatibility. Choices:
|
|
Configure OSPFv2 router identifier (A.B.C.D). |
|
Configures router timers. |
|
LSA minimum arrival timer in milliseconds (0 to 600000). |
|
LSA delay between transmissions in milliseconds (0 to 5000). |
|
OSPFv2 SPF timers. delay_time, initial_hold_time and maximum_hold_time are required together. |
|
SPF delay time in milliseconds (0 to 600000). |
|
SPF initial hold time in milliseconds (0 to 600000). |
|
SPF maximum hold time in milliseconds (0 to 600000). |
|
Specifies the vrf name. Default: |
|
Specifies the maximum number of interfaces serviced per write (1 to 100) |
|
Specifies the operation to be performed on the OSPFv2 process configured on the device. In case of merged, the input configuration will be merged with the existing OSPFv2 configuration on the device. In case of deleted, the existing OSPFv2 configuration will be removed from the device. In case of overridden, all the existing OSPFv2 configuration will be deleted and the specified input configuration will be installed. In case of replaced, the existing OSPFv2 configuration on the device will be replaced by the configuration in the playbook for each VRF group configured by the playbook. Choices:
|
Notes
Note
Supports
check_mode
.
Examples
# Using deleted
# Before state:
# -------------
#
#sonic# show running-configuration ospf
#router ospf vrf Vrf_1
# default-metric 100
# max-metric router-lsa external-lsa all 2
# passive-interface default
# timers throttle spf 50 20 10
# timers throttle lsa all 300
# redistribute bgp metric 15 metric-type 2 route-map RMAP
# no passive-interface Eth1/1 2.2.2.2
# no passive-interface Eth1/2 2.2.2.2
#!
#router ospf
# ospf router-id 20.20.20.20
# distance 30
# distance ospf external 20
# refresh timer 300
# write-multiplier 20
# maximum-paths 200
# passive-interface Eth1/2 3.3.3.3
# passive-interface Eth1/3
#!
#sonic#
#sonic# show running-configuration vrf Vrf_1
#!
#ip vrf Vrf_1
#sonic# show running-configuration ip prefix-list
#!
#ip prefix-list PRF_LIST seq 1 permit 1.1.1.1/24
#ip prefix-list PRF_LIST2 seq 1 permit 1.1.1.1/24
#sonic# show running-configuration route-map
#!
#route-map RMAP permit 1
#sonic#
- name: Delete the OSPFv2 configurations
sonic_ospf:
config:
- vrf_name: 'default'
router_id: "20.20.20.20"
distance:
external: 20
default_passive: false
maximum_paths: 200
passive_interfaces:
interfaces:
- interface: 'Eth1/3'
redistribute:
- protocol: "bgp"
metric: 15
metric_type: 2
route_map: "RMAP"
refresh_timer: 300
- vrf_name: "Vrf_1"
timers:
throttle_spf:
delay_time: 50
initial_hold_time: 20
maximum_hold_time: 10
default_metric: 100
max_metric:
external_lsa_all: 2
non_passive_interfaces:
interfaces:
- interface: "Eth1/2"
addresses:
- "2.2.2.2"
state: deleted
# After state:
# ------------
#
#sonic# show running-configuration ospf
#router ospf vrf Vrf_1
# passive-interface default
# timers throttle lsa all 300
# no passive-interface Eth1/1 2.2.2.2
# no passive-interface Eth1/2 2.2.2.2
#!
#router ospf
# distance 30
# write-multiplier 20
# passive-interface Eth1/2 3.3.3.3
#!
#sonic#
# Using deleted
# Before state:
# -------------
#
#sonic# show running-configuration ospf
#router ospf vrf Vrf_1
# passive-interface default
# timers throttle lsa all 300
# no passive-interface Eth1/1 2.2.2.2
# no passive-interface Eth1/2 2.2.2.2
#!
#router ospf
# distance 30
# write-multiplier 20
# passive-interface Eth1/2 3.3.3.3
#!
#sonic#
#sonic# show running-configuration vrf Vrf_1
#!
#ip vrf Vrf_1
#sonic# show running-configuration ip prefix-list
#!
#ip prefix-list PRF_LIST seq 1 permit 1.1.1.1/24
#ip prefix-list PRF_LIST2 seq 1 permit 1.1.1.1/24
#sonic# show running-configuration route-map
#!
#route-map RMAP permit 1
#sonic#
- name: Delete the OSPFv2 configurations
sonic_ospf:
config:
- vrf_name: "Vrf_1"
state: deleted
# After state:
# ------------
#
#sonic# show running-configuration ospf
#router ospf
# distance 30
# write-multiplier 20
# passive-interface Eth1/2 3.3.3.3
#!
#sonic#
# Using merged
# Before state:
# -------------
#
# sonic# show running-configuration ospf
# (No ospf configuration present)
#sonic# show running-configuration vrf Vrf_1
#!
#ip vrf Vrf_1
#sonic# show running-configuration ip prefix-list
#!
#ip prefix-list PRF_LIST seq 1 permit 1.1.1.1/24
#ip prefix-list PRF_LIST2 seq 1 permit 1.1.1.1/24
#sonic# show running-configuration route-map
#!
#route-map RMAP permit 1
#sonic#
- name: Add the OSPFv2 configurations
sonic_ospf:
config:
- vrf_name: 'default'
router_id: "10.10.10.10"
distance:
external: 20
auto_cost_reference_bandwidth: 100
- vrf_name: "Vrf_1"
timers:
throttle_lsa_all: 300
throttle_spf:
delay_time: 10
initial_hold_time: 20
maximum_hold_time: 50
redistribute:
- protocol: "bgp"
metric: 15
metric_type: 2
route_map: "RMAP"
default_passive: true
non_passive_interfaces:
interfaces:
- interface: "Eth1/1"
addresses:
- "2.2.2.2"
state: merged
# After state:
# ------------
#
#sonic# show running-configuration ospf
#router ospf vrf Vrf_1
# passive-interface default
# timers throttle spf 10 20 50
# timers throttle lsa all 300
# redistribute bgp metric 15 metric-type 2 route-map RMAP
# no passive-interface Eth1/1 2.2.2.2
#!
#router ospf
# auto-cost reference-bandwidth 100
# ospf router-id 10.10.10.10
# distance ospf external 20
#!
#sonic#
# Using merged
# Before state:
# -------------
#
#sonic# show running-configuration ospf
#router ospf vrf Vrf_1
# passive-interface default
# timers throttle spf 10 20 50
# timers throttle lsa all 300
# redistribute bgp metric 15 metric-type 2 route-map RMAP
# no passive-interface Eth1/1 2.2.2.2
#!
#router ospf
# ospf router-id 10.10.10.10
# distance ospf external 20
#!
#sonic#
#sonic# show running-configuration vrf Vrf_1
#!
#ip vrf Vrf_1
#sonic# show running-configuration ip prefix-list
#!
#ip prefix-list PRF_LIST seq 1 permit 1.1.1.1/24
#ip prefix-list PRF_LIST2 seq 1 permit 1.1.1.1/24
#sonic# show running-configuration route-map
#!
#route-map RMAP permit 1
#sonic#
- name: Add the OSPFv2 configurations
sonic_ospf:
config:
- vrf_name: 'default'
write_multiplier: 20
router_id: "20.20.20.20"
distance:
all: 30
default_passive: false
graceful_restart:
enable: true
grace_period: 100
helper:
enable: true
planned_only: true
advertise_router_id:
- '1.1.1.1'
- '2.2.2.2'
passive_interfaces:
interfaces:
- interface: 'Eth1/2'
addresses:
- '3.3.3.3'
- interface: 'Eth1/3'
log_adjacency_changes: 'detail'
- vrf_name: "Vrf_1"
timers:
throttle_spf:
delay_time: 50
initial_hold_time: 20
maximum_hold_time: 10
max_metric:
external_lsa_all: 30
log_adjacency_changes: 'brief'
default_passive: true
non_passive_interfaces:
interfaces:
- interface: "Eth1/2"
addresses:
- "2.2.2.2"
state: merged
# After state:
# ------------
#
#sonic# show running-configuration ospf
#router ospf vrf Vrf_1
# log-adjacency-changes
# max-metric router-lsa external-lsa all 30
# passive-interface default
# timers throttle spf 50 20 10
# timers throttle lsa all 300
# redistribute bgp metric 15 metric-type 2 route-map RMAP
# no passive-interface Eth1/1 2.2.2.2
# no passive-interface Eth1/2 2.2.2.2
#!
#router ospf
# ospf router-id 20.20.20.20
# distance 30
# distance ospf external 20
# log-adjacency-changes detail
# graceful-restart grace-period 100
# graceful-restart helper enable
# graceful-restart helper planned-only
# graceful-restart helper enable 1.1.1.1
# graceful-restart helper enable 2.2.2.2
# write-multiplier 20
# passive-interface Eth1/2 3.3.3.3
# passive-interface Eth1/3
#!
#sonic#
# Using replaced
# Before state:
# -------------
#
#sonic# show running-configuration ospf
#router ospf vrf Vrf_1
# max-metric router-lsa external-lsa all 2
# passive-interface default
# timers throttle spf 50 20 10
# timers throttle lsa all 300
# redistribute bgp metric 15 metric-type 2 route-map RMAP
# no passive-interface Eth1/1 2.2.2.2
# no passive-interface Eth1/2 2.2.2.2
#!
#router ospf
# ospf router-id 20.20.20.20
# distance 30
# distance ospf external 20
# write-multiplier 20
# passive-interface Eth1/2 3.3.3.3
# passive-interface Eth1/3
#!
#sonic#
#sonic# show running-configuration vrf Vrf_1
#!
#ip vrf Vrf_1
#sonic# show running-configuration ip prefix-list
#!
#ip prefix-list PRF_LIST seq 1 permit 1.1.1.1/24
#ip prefix-list PRF_LIST2 seq 1 permit 1.1.1.1/24
#sonic# show running-configuration route-map
#!
#route-map RMAP permit 1
#route-map RMAP2 permit 2
#sonic#
- name: Replace the OSPFv2 vrf default configurations
sonic_ospf:
config:
- vrf_name: 'default'
router_id: "20.20.20.20"
redistribute:
- protocol: "connected"
metric: 15
metric_type: 2
route_map: "RMAP2"
- protocol: "default_route"
always: true
route_map: "RMAP"
distance:
all: 20
abr_type: cisco
opaque_lsa_capability: true
state: replaced
# After state:
# ------------
#
#sonic# show running-configuration ospf
#router ospf vrf Vrf_1
# max-metric router-lsa external-lsa all 2
# passive-interface default
# timers throttle spf 50 20 10
# timers throttle lsa all 300
# redistribute bgp metric 15 metric-type 2 route-map RMAP
# no passive-interface Eth1/1 2.2.2.2
# no passive-interface Eth1/2 2.2.2.2
#!
#router ospf
# capability opaque
# ospf router-id 20.20.20.20
# default-information originate always route-map RMAP
# distance 20
# ospf abr-type cisco
# redistribute connected metric 15 metric-type 2 route-map RMAP2
#!
# Using overridden
# Before state:
# -------------
#
#sonic# show running-configuration ospf
#router ospf vrf Vrf_1
# max-metric router-lsa external-lsa all 2
# passive-interface default
# timers throttle spf 50 20 10
# timers throttle lsa all 300
# redistribute bgp metric 15 metric-type 2 route-map RMAP
# no passive-interface Eth1/1 2.2.2.2
# no passive-interface Eth1/2 2.2.2.2
#!
#router ospf
# ospf router-id 20.20.20.20
# distance 30
# distance ospf external 20
# write-multiplier 20
# passive-interface Eth1/2 3.3.3.3
# passive-interface Eth1/3
#!
#sonic#
#sonic# show running-configuration vrf Vrf_1
#!
#ip vrf Vrf_1
#sonic# show running-configuration ip prefix-list
#!
#ip prefix-list PRF_LIST seq 1 permit 1.1.1.1/24
#ip prefix-list PRF_LIST2 seq 1 permit 1.1.1.1/24
#sonic# show running-configuration route-map
#!
#route-map RMAP permit 1
#route-map RMAP2 permit 2
#sonic#
- name: Override the OSPFv2 configurations
sonic_ospf:
config:
- vrf_name: 'default'
router_id: "20.20.20.20"
redistribute:
- protocol: "connected"
metric: 15
metric_type: 2
route_map: "RMAP2"
distance:
all: 20
rfc1583_compatible: true
state: overridden
# After state:
# ------------
#
#sonic# show running-configuration ospf
#router ospf
# compatible rfc1583
# ospf router-id 20.20.20.20
# distance 20
# redistribute connected metric 15 metric-type 2 route-map RMAP2
#!
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
The resulting configuration module invocation. Returned: when changed Sample: |
|
The generated configuration module invocation. Returned: when Sample: |
|
The configuration prior to the module invocation. Returned: always Sample: |
|
The set of commands pushed to the remote device. Returned: always Sample: |