Resource module to configure OSPFv3.
Version added: 1.1.0
- This module configures and manages the Open Shortest Path First (OSPF) version 3 on IOS platforms.
Note
- Tested against Cisco IOSXE Version 17.3 on CML.
- This module works with connection
network_cli
. See https://docs.ansible.com/ansible/latest/network/user_guide/platform_ios.html
# Using merged
# Before state:
# -------------
#
# router-ios#sh running-config | section ^router ospfv3
# router-ios#
- name: Merge provided OSPFV3 configuration
cisco.ios.ios_ospfv3:
config:
processes:
- process_id: 1
max_metric:
router_lsa: true
on_startup:
time: 110
address_family:
- afi: ipv4
unicast: true
vrf: blue
adjacency:
min_adjacency: 50
max_adjacency: 50
areas:
- area_id: 25
nssa:
default_information_originate:
metric: 25
nssa_only: true
areas:
- area_id: "10"
nssa:
default_information_originate:
metric: 10
timers:
throttle:
lsa:
first_delay: 12
min_delay: 14
max_delay: 16
- process_id: 200
address_family:
- afi: ipv4
unicast: true
adjacency:
min_adjacency: 200
max_adjacency: 200
max_metric:
router_lsa: true
on_startup:
time: 100
auto_cost:
reference_bandwidth: 4
state: merged
# Task Output:
# ------------
# before: {}
#
# commands:
# - router ospfv3 1
# - max-metric router-lsa on-startup 110
# - area 10 nssa default-information-originate metric 10
# - address-family ipv4 unicast vrf blue
# - adjacency stagger 50 50
# - area 25 nssa default-information-originate metric 25 nssa-only
# - exit-address-family
# - router ospfv3 200
# - auto-cost reference-bandwidth 4
# - max-metric router-lsa on-startup 100
# - address-family ipv4 unicast
# - adjacency stagger 200 200
# - exit-address-family
#
# after:
# processes:
# - address_family:
# - adjacency:
# max_adjacency: 50
# min_adjacency: 50
# afi: ipv4
# areas:
# - area_id: '25'
# nssa:
# default_information_originate:
# metric: 25
# nssa_only: true
# unicast: true
# vrf: blue
# areas:
# - area_id: '10'
# nssa:
# default_information_originate:
# metric: 10
# max_metric:
# on_startup:
# time: 110
# router_lsa: true
# process_id: 1
# - address_family:
# - adjacency:
# max_adjacency: 200
# min_adjacency: 200
# afi: ipv4
# unicast: true
# auto_cost:
# reference_bandwidth: 4
# max_metric:
# on_startup:
# time: 100
# router_lsa: true
# process_id: 200
# After state:
# -------------
#
# router-ios#sh running-config | section ^router ospfv3
# router ospfv3 1
# max-metric router-lsa on-startup 110
# area 10 nssa default-information-originate metric 10
# !
# address-family ipv4 unicast vrf blue
# adjacency stagger 50 50
# area 25 nssa default-information-originate metric 25 nssa-only
# exit-address-family
# router ospfv3 200
# max-metric router-lsa on-startup 100
# auto-cost reference-bandwidth 4
# !
# address-family ipv4 unicast
# adjacency stagger 200 200
# exit-address-family
# Using deleted
# Before state:
# -------------
#
# router-ios#sh running-config | section ^router ospfv3
# router ospfv3 1
# max-metric router-lsa on-startup 110
# area 10 nssa default-information-originate metric 10
# !
# address-family ipv4 unicast vrf blue
# adjacency stagger 50 50
# area 25 nssa default-information-originate metric 25 nssa-only
# exit-address-family
# router ospfv3 200
# max-metric router-lsa on-startup 100
# auto-cost reference-bandwidth 4
# !
# address-family ipv4 unicast
# adjacency stagger 200 200
# exit-address-family
- name: Delete provided OSPF V3 processes
cisco.ios.ios_ospfv3:
config:
processes:
- process_id: 1
state: deleted
# Task Output:
# ------------
# before:
# processes:
# - address_family:
# - adjacency:
# max_adjacency: 50
# min_adjacency: 50
# afi: ipv4
# areas:
# - area_id: '25'
# nssa:
# default_information_originate:
# metric: 25
# nssa_only: true
# unicast: true
# vrf: blue
# areas:
# - area_id: '10'
# nssa:
# default_information_originate:
# metric: 10
# max_metric:
# on_startup:
# time: 110
# router_lsa: true
# process_id: 1
# - address_family:
# - adjacency:
# max_adjacency: 200
# min_adjacency: 200
# afi: ipv4
# unicast: true
# auto_cost:
# reference_bandwidth: 4
# max_metric:
# on_startup:
# time: 100
# router_lsa: true
# process_id: 200
#
# commands:
# - no router ospfv3 1
#
# parsed:
# processes:
# - address_family:
# - adjacency:
# max_adjacency: 200
# min_adjacency: 200
# afi: ipv4
# unicast: true
# auto_cost:
# reference_bandwidth: 4
# max_metric:
# on_startup:
# time: 100
# router_lsa: true
# process_id: 200
#
# After state:
# ------------
# router-ios#sh running-config | section ^router ospfv3
# router ospfv3 200
# max-metric router-lsa on-startup 100
# auto-cost reference-bandwidth 4
# !
# address-family ipv4 unicast
# adjacency stagger 200 200
# exit-address-family
# Using deleted without any config passed (NOTE: This will delete all OSPFV3 configuration from device)
# Before state:
# -------------
#
# router-ios#sh running-config | section ^router ospfv3
# router ospfv3 1
# max-metric router-lsa on-startup 110
# area 10 nssa default-information-originate metric 10
# !
# address-family ipv4 unicast vrf blue
# adjacency stagger 50 50
# area 25 nssa default-information-originate metric 25 nssa-only
# exit-address-family
# router ospfv3 200
# max-metric router-lsa on-startup 100
# auto-cost reference-bandwidth 4
# !
# address-family ipv4 unicast
# adjacency stagger 200 200
# exit-address-family
- name: Delete all OSPF processes
cisco.ios.ios_ospfv3:
state: deleted
# Task Output:
# ------------
# before:
# processes:
# - address_family:
# - adjacency:
# max_adjacency: 50
# min_adjacency: 50
# afi: ipv4
# areas:
# - area_id: '25'
# nssa:
# default_information_originate:
# metric: 25
# nssa_only: true
# unicast: true
# vrf: blue
# areas:
# - area_id: '10'
# nssa:
# default_information_originate:
# metric: 10
# max_metric:
# on_startup:
# time: 110
# router_lsa: true
# process_id: 1
# - address_family:
# - adjacency:
# max_adjacency: 200
# min_adjacency: 200
# afi: ipv4
# unicast: true
# auto_cost:
# reference_bandwidth: 4
# max_metric:
# on_startup:
# time: 100
# router_lsa: true
# process_id: 200
#
# commands:
# - no router ospfv3 200
# - no router ospfv3 1
#
# after: {}
#
# After state:
# ------------
# router-ios#sh running-config | section ^router ospfv3
# router-ios#
# Using overridden
# Before state:
# -------------
#
# router ospfv3 1
# max-metric router-lsa on-startup 110
# area 10 nssa default-information-originate metric 10
# !
# address-family ipv4 unicast vrf blue
# adjacency stagger 50 50
# area 25 nssa default-information-originate metric 25 nssa-only
# exit-address-family
# router ospfv3 200
# max-metric router-lsa on-startup 100
# auto-cost reference-bandwidth 4
# !
# address-family ipv4 unicast
# adjacency stagger 200 200
# exit-address-family
- name: Override provided OSPFV3 configuration
cisco.ios.ios_ospfv3:
config:
processes:
- process_id: 200
max_metric:
router_lsa: true
on_startup:
time: 200
address_family:
- afi: ipv4
unicast: true
adjacency:
min_adjacency: 50
max_adjacency: 50
areas:
- area_id: 200
nssa:
default_information_originate:
metric: 200
nssa_only: true
areas:
- area_id: "10"
nssa:
default_information_originate:
metric: 10
state: overridden
# Task Output:
# ------------
# before:
# processes:
# - address_family:
# - adjacency:
# max_adjacency: 50
# min_adjacency: 50
# afi: ipv4
# areas:
# - area_id: '25'
# nssa:
# default_information_originate:
# metric: 25
# nssa_only: true
# unicast: true
# vrf: blue
# areas:
# - area_id: '10'
# nssa:
# default_information_originate:
# metric: 10
# max_metric:
# on_startup:
# time: 110
# router_lsa: true
# process_id: 1
# - address_family:
# - adjacency:
# max_adjacency: 200
# min_adjacency: 200
# afi: ipv4
# unicast: true
# auto_cost:
# reference_bandwidth: 4
# max_metric:
# on_startup:
# time: 100
# router_lsa: true
# process_id: 200
#
# commands:
# - no router ospfv3 1
# - router ospfv3 200
# - no auto-cost reference-bandwidth 4
# - max-metric router-lsa on-startup 200
# - area 10 nssa default-information-originate metric 10
# - address-family ipv4 unicast
# - adjacency stagger 50 50
# - area 200 nssa default-information-originate metric 200 nssa-only
# - exit-address-family
#
# after:
# processes:
# - address_family:
# - adjacency:
# max_adjacency: 50
# min_adjacency: 50
# afi: ipv4
# areas:
# - area_id: '200'
# nssa:
# default_information_originate:
# metric: 200
# nssa_only: true
# unicast: true
# areas:
# - area_id: '10'
# nssa:
# default_information_originate:
# metric: 10
# max_metric:
# on_startup:
# time: 200
# router_lsa: true
# process_id: 200
# After state:
# ------------
#
# router-ios#sh running-config | section ^router ospfv3
# router ospfv3 200
# max-metric router-lsa on-startup 200
# area 10 nssa default-information-originate metric 10
# !
# address-family ipv4 unicast
# adjacency stagger 50 50
# area 200 nssa default-information-originate metric 200 nssa-only
# exit-address-family
# Using replaced
# Before state:
# -------------
#
# router-ios#sh running-config | section ^router ospfv3
# router ospfv3 1
# max-metric router-lsa on-startup 110
# area 10 nssa default-information-originate metric 10
# !
# address-family ipv4 unicast vrf blue
# adjacency stagger 50 50
# area 25 nssa default-information-originate metric 25 nssa-only
# exit-address-family
# router ospfv3 200
# max-metric router-lsa on-startup 100
# auto-cost reference-bandwidth 4
# !
# address-family ipv4 unicast
# adjacency stagger 200 200
# exit-address-family
- name: Perform replace with provided configurations.
cisco.ios.ios_ospfv3:
config:
processes:
- process_id: 200
max_metric:
router_lsa: true
on_startup:
time: 200
address_family:
- afi: ipv4
unicast: true
adjacency:
min_adjacency: 50
max_adjacency: 50
areas:
- area_id: 200
nssa:
default_information_originate:
metric: 200
nssa_only: true
areas:
- area_id: "10"
nssa:
default_information_originate:
metric: 10
state: replaced
# Task Output:
# ------------
# before:
# processes:
# - address_family:
# - adjacency:
# max_adjacency: 50
# min_adjacency: 50
# afi: ipv4
# areas:
# - area_id: '25'
# nssa:
# default_information_originate:
# metric: 25
# nssa_only: true
# unicast: true
# vrf: blue
# areas:
# - area_id: '10'
# nssa:
# default_information_originate:
# metric: 10
# max_metric:
# on_startup:
# time: 110
# router_lsa: true
# process_id: 1
# - address_family:
# - adjacency:
# max_adjacency: 200
# min_adjacency: 200
# afi: ipv4
# unicast: true
# auto_cost:
# reference_bandwidth: 4
# max_metric:
# on_startup:
# time: 100
# router_lsa: true
# process_id: 200
#
# commands:
# - router ospfv3 200
# - no auto-cost reference-bandwidth 4
# - max-metric router-lsa on-startup 200
# - area 10 nssa default-information-originate metric 10
# - address-family ipv4 unicast
# - adjacency stagger 50 50
# - area 200 nssa default-information-originate metric 200 nssa-only
# - exit-address-family
#
# after:
# processes:
# - address_family:
# - adjacency:
# max_adjacency: 50
# min_adjacency: 50
# afi: ipv4
# areas:
# - area_id: '25'
# nssa:
# default_information_originate:
# metric: 25
# nssa_only: true
# unicast: true
# vrf: blue
# areas:
# - area_id: '10'
# nssa:
# default_information_originate:
# metric: 10
# max_metric:
# on_startup:
# time: 110
# router_lsa: true
# process_id: 1
# - address_family:
# - afi: ipv4
# areas:
# - area_id: '200'
# nssa:
# default_information_originate:
# metric: 200
# nssa_only: true
# unicast: true
# areas:
# - area_id: '10'
# nssa:
# default_information_originate:
# metric: 10
# max_metric:
# on_startup:
# time: 200
# router_lsa: true
# process_id: 200
#
# After state:
# -------------
# router-ios#sh running-config | section ^router ospfv3
# router ospfv3 1
# max-metric router-lsa on-startup 110
# area 10 nssa default-information-originate metric 10
# !
# address-family ipv4 unicast vrf blue
# adjacency stagger 50 50
# area 25 nssa default-information-originate metric 25 nssa-only
# exit-address-family
# router ospfv3 200
# max-metric router-lsa on-startup 200
# area 10 nssa default-information-originate metric 10
# !
# address-family ipv4 unicast
# adjacency stagger 50 50
# area 200 nssa default-information-originate metric 200 nssa-only
# exit-address-family
# Using Gathered
# Before state:
# -------------
#
# router-ios#sh running-config | section ^router ospfv3
# router ospfv3 1
# max-metric router-lsa on-startup 110
# area 10 nssa default-information-originate metric 10
# !
# address-family ipv4 unicast vrf blue
# adjacency stagger 50 50
# area 25 nssa default-information-originate metric 25 nssa-only
# exit-address-family
# router ospfv3 200
# max-metric router-lsa on-startup 100
# auto-cost reference-bandwidth 4
# !
# address-family ipv4 unicast
# adjacency stagger 200 200
# exit-address-family
- name: Gather OSPFV3 provided configurations
cisco.ios.ios_ospfv3:
config:
state: gathered
# Task Output:
# ------------
#
# parsed:
# processes:
# - address_family:
# - adjacency:
# max_adjacency: 50
# min_adjacency: 50
# afi: ipv4
# areas:
# - area_id: '25'
# nssa:
# default_information_originate:
# metric: 25
# nssa_only: true
# unicast: true
# vrf: blue
# areas:
# - area_id: '10'
# nssa:
# default_information_originate:
# metric: 10
# max_metric:
# on_startup:
# time: 110
# router_lsa: true
# process_id: 1
# - address_family:
# - adjacency:
# max_adjacency: 200
# min_adjacency: 200
# afi: ipv4
# unicast: true
# auto_cost:
# reference_bandwidth: 4
# max_metric:
# on_startup:
# time: 100
# router_lsa: true
# process_id: 200
# After state:
# ------------
#
# router-ios#sh running-config | section ^router ospfv3
# router ospfv3 1
# max-metric router-lsa on-startup 110
# area 10 nssa default-information-originate metric 10
# !
# address-family ipv4 unicast vrf blue
# adjacency stagger 50 50
# area 25 nssa default-information-originate metric 25 nssa-only
# exit-address-family
# router ospfv3 200
# max-metric router-lsa on-startup 100
# auto-cost reference-bandwidth 4
# !
# address-family ipv4 unicast
# adjacency stagger 200 200
# exit-address-family
# Using Rendered
- name: Render the commands for provided configuration
cisco.ios.ios_ospfv3:
config:
processes:
- process_id: 1
max_metric:
router_lsa: true
on_startup:
time: 110
address_family:
- afi: ipv4
unicast: true
vrf: blue
adjacency:
min_adjacency: 50
max_adjacency: 50
areas:
- area_id: 25
nssa:
default_information_originate:
metric: 25
nssa_only: true
areas:
- area_id: "10"
nssa:
default_information_originate:
metric: 10
timers:
throttle:
lsa:
first_delay: 12
min_delay: 14
max_delay: 16
- process_id: 200
address_family:
- afi: ipv4
unicast: true
adjacency:
min_adjacency: 200
max_adjacency: 200
max_metric:
router_lsa: true
on_startup:
time: 100
auto_cost:
reference_bandwidth: 4
state: rendered
# Task Output:
# ------------
# rendered:
# - router ospfv3 1
# - max-metric router-lsa on-startup 110
# - area 10 nssa default-information-originate metric 10
# - address-family ipv4 unicast vrf blue
# - adjacency stagger 50 50
# - area 25 nssa default-information-originate metric 25 nssa-only
# - exit-address-family
# - router ospfv3 200
# - auto-cost reference-bandwidth 4
# - max-metric router-lsa on-startup 100
# - address-family ipv4 unicast
# - adjacency stagger 200 200
# - exit-address-family
# Using Parsed
# File: parsed.cfg
# ----------------
#
# router ospfv3 1
# max-metric router-lsa on-startup 110
# area 10 nssa default-information-originate metric 10
# !
# address-family ipv4 unicast vrf blue
# adjacency stagger 50 50
# area 25 nssa default-information-originate metric 25 nssa-only
# exit-address-family
# router ospfv3 200
# max-metric router-lsa on-startup 100
# auto-cost reference-bandwidth 4
# !
# address-family ipv4 unicast
# adjacency stagger 200 200
# exit-address-family
- name: Parse the provided configuration and display structured ospfv3 facts.
cisco.ios.ios_ospfv3:
running_config: "{{ lookup('file', 'parsed.cfg') }}"
state: parsed
# Task Output:
# ------------
#
# parsed:
# processes:
# - address_family:
# - adjacency:
# max_adjacency: 50
# min_adjacency: 50
# afi: ipv4
# areas:
# - area_id: '25'
# nssa:
# default_information_originate:
# metric: 25
# nssa_only: true
# unicast: true
# vrf: blue
# areas:
# - area_id: '10'
# nssa:
# default_information_originate:
# metric: 10
# max_metric:
# on_startup:
# time: 110
# router_lsa: true
# process_id: 1
# - address_family:
# - adjacency:
# max_adjacency: 200
# min_adjacency: 200
# afi: ipv4
# unicast: true
# auto_cost:
# reference_bandwidth: 4
# max_metric:
# on_startup:
# time: 100
# router_lsa: true
# process_id: 200
Common return values are documented here, the following are the fields unique to this module:
- Sumit Jaiswal (@justjais)