cisco.iosxr.iosxr_ospf_interfaces – OSPF Interfaces Resource Module.
cisco.iosxr.iosxr_ospf_interfaces – OSPF Interfaces Resource Module.
Note
This plugin is part of the cisco.iosxr collection (version 1.2.1).
To install it use: ansible-galaxy collection install cisco.iosxr
.
To use it in a playbook, specify: cisco.iosxr.iosxr_ospf_interfaces
.
New in version 1.2.0: of cisco.iosxr
Synopsis
- This module manages OSPF(v2/v3) configuration of interfaces on devices running Cisco IOS-XR.
Parameters
Parameter | Choices/Defaults | Comments | ||||||
---|---|---|---|---|---|---|---|---|
config list / elements=dictionary |
A list of OSPF configuration for interfaces. | |||||||
address_family list / elements=dictionary |
OSPF settings on the interfaces in address-family context. | |||||||
afi string / required |
|
Address Family Identifier (AFI) for OSPF settings on the interfaces. | ||||||
apply_group_option dictionary |
Specify configuration from a group | |||||||
group_name string |
Specify the name of the group | |||||||
operation string |
|
Specify the group config operation | ||||||
authentication dictionary |
Enable authentication | |||||||
message_digest dictionary |
Use message-digest authentication | |||||||
keychain string |
Specify keychain name | |||||||
null_auth boolean |
|
Use no authentication | ||||||
authentication_key dictionary |
Specify authentication password (key) | |||||||
clear string |
Specifies an UNENCRYPTED password (key) will follow | |||||||
encrypted string |
Specifies an ENCRYPTED password (key) will follow | |||||||
password string |
The OSPFv2 password (key) | |||||||
bfd dictionary |
Configure BFD parameters | |||||||
fast_detect dictionary |
Configure fast detection | |||||||
set boolean |
|
Enable fast detection only | ||||||
strict_mode boolean |
|
Hold down neighbor session until BFD session is up | ||||||
minimum_interval integer |
Hello interval in milli-seconds | |||||||
multiplier integer |
Detect multiplier | |||||||
cost integer |
Specify Interface cost | |||||||
cost_fallback dictionary |
Specify Cost when cumulative bandwidth goes below the theshold | |||||||
cost integer |
Specify cost w.r.t cummulative bandwidth | |||||||
threshold integer |
Specify threshold bandwidth when cost-fallback is applied | |||||||
database_filter dictionary |
Filter OSPF LSAs during synchronization and flooding | |||||||
all_outgoing_lsa boolean |
|
Filter all outgoing LSA | ||||||
dead_interval integer |
Specify interval after which a neighbor is declared dead | |||||||
demand_circuit boolean |
|
Enable/Disable demand circuits | ||||||
fast_reroute dictionary |
Specify IP Fast Reroute | |||||||
disabled boolean |
|
Disable IP fast reroute | ||||||
per_link dictionary |
Specify per-prefix computation | |||||||
information_type string |
|
Specify per-link LFA exclusion or FRR LFA candidate information | ||||||
interface dictionary |
Specify Per-link LFA exclusion information | |||||||
bundle_ether list / elements=dictionary |
Specify Aggregated Ethernet interface(s) | |||||||
name integer |
Specify the interface id | |||||||
bvi list / elements=dictionary |
Specify Bridge-Group Virtual Interface | |||||||
name integer |
Specify the interface id | |||||||
fast_ethernet list / elements=dictionary |
Specify FastEthernet/IEEE 802.3 interface(s) | |||||||
name string |
Specify the interface id | |||||||
fiftygige list / elements=dictionary |
Specify FiftyGigE/IEEE 802.3 interface(s) | |||||||
name string |
Specify the interface id | |||||||
fortygige list / elements=dictionary |
Specify FortyGigE/IEEE 802.3 interface(s) | |||||||
name string |
Specify the interface id | |||||||
fourhundredgige list / elements=dictionary |
Specify FourHundredGigE/IEEE 802.3 interface(s) | |||||||
name string |
Specify the interface id | |||||||
gigabitethernet list / elements=dictionary |
Specify GigabitEthernet/IEEE 802.3 interface(s) | |||||||
name string |
Specify the interface id | |||||||
hundredgige list / elements=dictionary |
Specify HundredGigE/IEEE 802.3 interface(s) | |||||||
name string |
Specify the interface id | |||||||
mgmteth list / elements=dictionary |
Specify MgmtEth/IEEE 802.3 interface(s) | |||||||
name string |
Specify the interface id | |||||||
multilink list / elements=dictionary |
Specify Multilink network interface(s) | |||||||
name string |
Specify the interface id | |||||||
nve list / elements=dictionary |
Specify Network Virtualization Endpoint Interface(s) | |||||||
name integer |
Specify the interface id | |||||||
pos_int list / elements=dictionary |
Specify Aggregated pos interface(s) | |||||||
name integer |
Specify the interface id | |||||||
pw_ether list / elements=dictionary |
Specify PWHE Ethernet Interface | |||||||
name integer |
Specify the interface id | |||||||
pw_iw list / elements=dictionary |
Specify PWHE VC11 IP Interworking Interface | |||||||
name integer |
Specify the interface id | |||||||
serial list / elements=dictionary |
Specify Serial network interface(s) | |||||||
name string |
Specify the interface id | |||||||
srp list / elements=dictionary |
Specify SRP interface(s) | |||||||
name string |
Specify the interface id | |||||||
tengige list / elements=dictionary |
Specify TenGigabitEthernet/IEEE 802.3 interface(s) | |||||||
name string |
Specify the interface id | |||||||
tunnel_ip list / elements=dictionary |
Specify GRE/IPinIP Tunnel Interface(s) | |||||||
name integer |
Specify the interface id | |||||||
tunnel_ipsec list / elements=dictionary |
Specify IPSec Tunnel interface(s) | |||||||
name integer |
Specify the interface id | |||||||
tunnel_mpls list / elements=dictionary |
MPLS Transport Protocol Tunnel interface | |||||||
name string |
Specify the interface id | |||||||
tunnel_mte list / elements=dictionary |
Specify MPLS Traffic Engineering P2MP Tunnel interface(s) | |||||||
name integer |
Specify the interface id | |||||||
twentyfivegige list / elements=dictionary |
Specify TwentyFiveGigabitEthernet/IEEE 802.3 interface(s) | |||||||
name string |
Specify the interface id | |||||||
twohundredgige list / elements=dictionary |
Specify TwoHundredGigE/IEEE 802.3 interface(s) | |||||||
name string |
Specify the interface id | |||||||
use_candidate_only boolean |
|
Enable/Disable backup selection from candidate-list only | ||||||
flood_reduction boolean |
|
Enable/Disable flood reduction | ||||||
hello_interval integer |
Specify Time between HELLO packets | |||||||
link_down_fast_detect boolean |
|
Configure interface down parameters | ||||||
message_digest_key dictionary |
Message digest authentication password (key) | |||||||
id integer / required |
Key ID | |||||||
md5 dictionary / required |
Use MD5 Algorithm | |||||||
clear boolean |
|
Specifies an UNENCRYPTED password (key) will follow | ||||||
encrypted boolean |
|
Specifies an ENCRYPTED password (key) will follow | ||||||
password string |
The OSPFv2 password (key) | |||||||
mpls_ldp_sync boolean |
|
Enable/Disable MPLS LDP Sync | ||||||
mtu_ignore boolean |
|
Enable/Disable ignoring of MTU in DBD packets | ||||||
neighbors list / elements=dictionary |
Specify a neighbor routers | |||||||
cost integer |
Specify OSPF cost for point-to-multipoint neighbor | |||||||
db_filter_all_out boolean |
|
Specify Filter OSPF LSA during synchronization and flooding for point-to-multipoint neighbor | ||||||
neighbor_id string |
Specify Neighbor address (name) | |||||||
poll_interval integer |
Specify OSPF dead-router polling interval | |||||||
priority integer |
Specify OSPF priority of non-broadcast neighbor | |||||||
network string |
|
Specify Network type | ||||||
packet_size integer |
Customize size of OSPF packets upto MTU | |||||||
passive boolean |
|
Enable/Disable passive | ||||||
prefix_suppression boolean |
|
Suppress advertisement of the prefixes | ||||||
priority integer |
Specify Router priority | |||||||
processes list / elements=dictionary |
Interfaces configuration for an OSPF process. | |||||||
area dictionary |
Specify the area-id | |||||||
area_id string |
OSPF interfaces area ID as a decimal value. Please refer vendor documentation of Valid values. OSPF interfaces area ID in IP address format(e.g. A.B.C.D) | |||||||
process_id string / required |
OSPF process tag. | |||||||
retransmit_interval integer |
Specify time between retransmitting lost link state advertisements | |||||||
security_ttl dictionary |
Enable security | |||||||
hops integer |
Maximum number of IP hops allowed <1-254> | |||||||
set boolean |
|
Enable ttl security | ||||||
transmit_delay integer |
Specify estimated time needed to send link-state update packet | |||||||
name string / required |
Name/Identifier of the interface. | |||||||
type string / required |
Type of the interface. | |||||||
running_config string |
This option is used only with state parsed. The value of this option should be the output received from the IOS-XR device by executing the command show running-config router ospf'. The state parsed reads the configuration from | |||||||
state string |
|
The state the configuration should be left in. |
Notes
Note
- Tested against IOS-XR 6.1.3
- This module works with connection
network_cli
. See the IOS-XR Platform Options
Examples
# Using merged
# Before state:
# -------------
#
# RP/0/RP0/CPU0:anton#show running-config router ospf
# % No such configuration item(s)
#
- name: Merge provided OSPF interfaces configuration with the existing configuration
cisco.iosxr.iosxr_ospf_interfaces:
config:
- name: GigabitEthernet0/0/0/0
type: gigabitethernet
address_family:
- afi: ipv4
processes:
- process_id: "LAB3"
area:
area_id: 0.0.0.3
cost: 20
authentication:
message_digest:
keychain: cisco
- afi: ipv6
processes:
- process_id: "LAB3"
area:
area_id: 0.0.0.2
cost: 30
state: merged
#
#
# ------------------------
# Module Execution Result
# ------------------------
#
# "before": []
#
# "commands": [
# "router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0 cost 20",
# "router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0 authentication message-digest",
# "router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0 authentication message-digest keychain cisco",
# "router ospfv3 LAB3 area 0.0.0.2 interface GigabitEthernet 0/0/0/0 cost 30"
# ]
#
# "after": [
# {
# "address_family": [
# {
# "afi": "ipv4",
# "authentication": {
# "message_digest": {
# "keychain": "cisco"
# }
# },
# "cost": 20,
# "processes": [
# {
# "area": {
# "area_id": "0.0.0.3"
# },
# "process_id": "LAB3"
# }
# ]
# },
# {
# "afi": "ipv6",
# "cost": 30,
# "processes": [
# {
# "area": {
# "area_id": "0.0.0.2"
# },
# "process_id": "LAB3"
# }
# ]
# }
# ],
# "name": "GigabitEthernet0/0/0/0",
# "type": "gigabitethernet"
# }
# ]
#
#
# ------------
# After state
# ------------
#
# RP/0/0/CPU0:an-iosxr-02#show running-config router ospf
# Thu Oct 23 06:00:57.217 UTC
# router ospf LAB
# area 0.0.0.0
# !
# area 0.0.0.9
# !
# !
# router ospf LAB1
# area 0.0.0.1
# !
# area 0.0.0.3
# !
# !
# router ospf LAB3
# area 0.0.0.3
# interface GigabitEthernet0/0/0/0
# cost 20
# authentication message-digest keychain cisco
# !
# !
# !
# router ospf ipv4
# !
# Using replaced
#
# ------------
# Before state
# ------------
#
#
# RP/0/0/CPU0:an-iosxr-02#show running-config router ospf
# Thu Oct 23 06:00:57.217 UTC
# router ospf LAB
# area 0.0.0.0
# !
# area 0.0.0.9
# !
# !
# router ospf LAB1
# area 0.0.0.1
# !
# area 0.0.0.3
# !
# !
# router ospf LAB3
# area 0.0.0.3
# interface GigabitEthernet0/0/0/0
# cost 20
# authentication message-digest keychain cisco
# !
# !
# !
# router ospf ipv4
# !
- name: Replace OSPF interfaces configuration
cisco.iosxr.iosxr_ospf_interfaces:
config:
- name: GigabitEthernet0/0/0/0
type: gigabitethernet
address_family:
- afi: ipv4
processes:
- process_id: "LAB3"
area:
area_id: 0.0.0.3
cost: 30
authentication:
message_digest:
keychain: ciscoiosxr
- afi: ipv6
processes:
- process_id: "LAB3"
area:
area_id: 0.0.0.2
cost: 30
state: replaced
#
#
# ------------------------
# Module Execution Result
# ------------------------
#
# "before": [
# {
# "address_family": [
# {
# "afi": "ipv4",
# "authentication": {
# "message_digest": {
# "keychain": "cisco"
# }
# },
# "cost": 20,
# "processes": [
# {
# "area": {
# "area_id": "0.0.0.3"
# },
# "process_id": "LAB3"
# }
# ]
# },
# {
# "afi": "ipv6",
# "cost": 30,
# "processes": [
# {
# "area": {
# "area_id": "0.0.0.2"
# },
# "process_id": "LAB3"
# }
# ]
# }
# ],
# "name": "GigabitEthernet0/0/0/0",
# "type": "gigabitethernet"
# }
# ]
#
# "commands": [
# "router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0 cost 30",
# "router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0 authentication message-digest",
# "router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0 authentication message-digest keychain ciscoiosxr"
# ]
#
# "after": [
# {
# "address_family": [
# {
# "afi": "ipv4",
# "authentication": {
# "message_digest": {
# "keychain": "ciscoiosxr"
# }
# },
# "cost": 30,
# "processes": [
# {
# "area": {
# "area_id": "0.0.0.3"
# },
# "process_id": "LAB3"
# }
# ]
# },
# {
# "afi": "ipv6",
# "cost": 30,
# "processes": [
# {
# "area": {
# "area_id": "0.0.0.2"
# },
# "process_id": "LAB3"
# }
# ]
# }
# ],
# "name": "GigabitEthernet0/0/0/0",
# "type": "gigabitethernet"
# }
# ]
#
#
# -----------
# After state
# -----------
#
# RP/0/0/CPU0:an-iosxr-02#show running-config router ospf
# Thu Oct 23 06:10:39.827 UTC
# router ospf LAB
# area 0.0.0.0
# !
# area 0.0.0.9
# !
# !
# router ospf LAB1
# area 0.0.0.1
# !
# area 0.0.0.3
# !
# !
# router ospf LAB3
# area 0.0.0.3
# interface GigabitEthernet0/0/0/0
# cost 30
# authentication message-digest keychain ciscoiosxr
# !
# !
# !
# router ospf ipv4
# !
- name: Override existing OSPF interfaces configuration
cisco.iosxr.iosxr_ospf_interfaces:
config:
- name: GigabitEthernet0/0/0/1
type: gigabitethernet
address_family:
- afi: ipv4
processes:
- process_id: "LAB1"
area:
area_id: 0.0.0.3
cost: 10
authentication:
message_digest:
keychain: iosxr
state: overridden
#
#
# ------------------------
# Module Execution Result
# ------------------------
#
# "before": [
# {
# "address_family": [
# {
# "afi": "ipv4",
# "authentication": {
# "message_digest": {
# "keychain": "ciscoiosxr"
# }
# },
# "cost": 30,
# "processes": [
# {
# "area": {
# "area_id": "0.0.0.3"
# },
# "process_id": "LAB3"
# }
# ]
# },
# {
# "afi": "ipv6",
# "cost": 30,
# "processes": [
# {
# "area": {
# "area_id": "0.0.0.2"
# },
# "process_id": "LAB3"
# }
# ]
# }
# ],
# "name": "GigabitEthernet0/0/0/0",
# "type": "gigabitethernet"
# }
# ]
#
# "commands": [
# "no router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0",
# "no router ospfv3 LAB3 area 0.0.0.2 interface GigabitEthernet 0/0/0/0",
# "router ospf LAB1 area 0.0.0.3 interface GigabitEthernet 0/0/0/1 cost 10",
# "router ospf LAB1 area 0.0.0.3 interface GigabitEthernet 0/0/0/1 authentication message-digest",
# "router ospf LAB1 area 0.0.0.3 interface GigabitEthernet 0/0/0/1 authentication message-digest keychain iosxr"
# ]
#
# "after": [
# {
# "address_family": [
# {
# "afi": "ipv4",
# "authentication": {
# "message_digest": {
# "keychain": "iosxr"
# }
# },
# "cost": 10,
# "processes": [
# {
# "area": {
# "area_id": "0.0.0.3"
# },
# "process_id": "LAB1"
# }
# ]
# }
# ],
# "name": "GigabitEthernet0/0/0/1",
# "type": "gigabitethernet"
# }
# ]
#
#
# -----------
# After state
# -----------
#
# RP/0/0/CPU0:an-iosxr-02#show running-config router ospf
# Thu Oct 23 06:28:15.025 UTC
# router ospf LAB
# area 0.0.0.0
# !
# area 0.0.0.9
# !
# !
# router ospf LAB1
# area 0.0.0.1
# !
# area 0.0.0.3
# interface GigabitEthernet0/0/0/1
# cost 10
# authentication message-digest keychain iosxr
# !
# !
# !
# router ospf LAB3
# area 0.0.0.3
# !
# !
# router ospf ipv4
# !
# Using deleted
#
# ------------
# Before state
# ------------
#
#
# RP/0/0/CPU0:an-iosxr-02#show running-config router ospf
# Thu Oct 23 06:28:15.025 UTC
# router ospf LAB
# area 0.0.0.0
# !
# area 0.0.0.9
# !
# !
# router ospf LAB1
# area 0.0.0.1
# !
# area 0.0.0.3
# interface GigabitEthernet0/0/0/1
# cost 10
# authentication message-digest keychain iosxr
# !
# !
# !
# router ospf LAB3
# area 0.0.0.3
# !
# !
# router ospf ipv4
# !
- name: Deleted existing OSPF interfaces from the device
cisco.iosxr.iosxr_ospf_interfaces:
config:
- name: GigabitEthernet0/0/0/1
type: gigabitethernet
state: deleted
#
#
# ------------------------
# Module Execution Result
# ------------------------
#
# "before": [
# {
# "address_family": [
# {
# "afi": "ipv4",
# "authentication": {
# "message_digest": {
# "keychain": "iosxr"
# }
# },
# "cost": 10,
# "processes": [
# {
# "area": {
# "area_id": "0.0.0.3"
# },
# "process_id": "LAB1"
# }
# ]
# }
# ],
# "name": "GigabitEthernet0/0/0/1",
# "type": "gigabitethernet"
# }
# ],
#
# "commands": [
# "no router ospf LAB1 area 0.0.0.3 interface GigabitEthernet 0/0/0/1"
# ]
#
# "after": []
#
#
# -----------
# After state
# -----------
#
# RP/0/0/CPU0:an-iosxr-02#show running-config router ospf
# Thu Oct 23 06:34:38.319 UTC
# router ospf LAB
# area 0.0.0.0
# !
# area 0.0.0.9
# !
# !
# router ospf LAB1
# area 0.0.0.1
# !
# area 0.0.0.3
# !
# !
# router ospf LAB3
# area 0.0.0.3
# !
# !
# router ospf ipv4
# !
# Using parsed
# parsed.cfg
# ------------
# router ospf LAB
# area 0.0.0.0
# !
# area 0.0.0.9
# !
# !
# router ospf LAB1
# area 0.0.0.1
# !
# area 0.0.0.3
# !
# !
# router ospf LAB3
# area 0.0.0.3
# interface GigabitEthernet0/0/0/0
# cost 20
# authentication message-digest keychain cisco
# !
# !
# !
# router ospf ipv4
# !
- name: Parsed the device configuration to get output commands
cisco.iosxr.iosxr_ospf_interfaces:
running_config: "{{ lookup('file', './parsed.cfg') }}"
state: parsed
#
#
# -------------------------
# Module Execution Result
# -------------------------
#
#
# "parsed": [
# {
# "address_family": [
# {
# "afi": "ipv4",
# "authentication": {
# "message_digest": {
# "keychain": "cisco"
# }
# },
# "cost": 20,
# "processes": [
# {
# "area": {
# "area_id": "0.0.0.3"
# },
# "process_id": "LAB3"
# }
# ]
# }
# ],
# "name": "GigabitEthernet0/0/0/0",
# "type": "gigabitethernet"
# }
# ]
#
# Using rendered
#
#
- name: Render the commands for provided configuration
cisco.iosxr.iosxr_ospf_interfaces:
config:
- name: GigabitEthernet0/0/0/0
type: gigabitethernet
address_family:
- afi: ipv4
processes:
- process_id: "LAB3"
area:
area_id: 0.0.0.3
cost: 20
authentication:
message_digest:
keychain: cisco
- afi: ipv6
processes:
- process_id: "LAB3"
area:
area_id: 0.0.0.2
cost: 30
state: rendered
#
#
# -------------------------
# Module Execution Result
# -------------------------
#
#
# "rendered": [
# "router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0 cost 20",
# "router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0 authentication message-digest",
# "router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0 authentication message-digest keychain cisco",
# "router ospfv3 LAB3 area 0.0.0.2 interface GigabitEthernet 0/0/0/0 cost 30"
# ]
# Using gathered
#
# Before state:
# -------------
#
# RP/0/0/CPU0:an-iosxr-02#show running-config router ospf
# Thu Oct 23 06:50:38.743 UTC
# router ospf LAB
# area 0.0.0.0
# !
# area 0.0.0.9
# !
# !
# router ospf LAB1
# area 0.0.0.1
# !
# area 0.0.0.3
# !
# !
# router ospf LAB3
# area 0.0.0.3
# interface GigabitEthernet0/0/0/0
# cost 20
# authentication message-digest keychain cisco
# !
# !
# !
# router ospf ipv4
# !
- name: Gather ospf_interfaces routes configuration
cisco.iosxr.iosxr_ospf_interfaces:
state: gathered
#
#
# -------------------------
# Module Execution Result
# -------------------------
#
# "gathered": [
# {
# "address_family": [
# {
# "afi": "ipv4",
# "authentication": {
# "message_digest": {
# "keychain": "cisco"
# }
# },
# "cost": 20,
# "processes": [
# {
# "area": {
# "area_id": "0.0.0.3"
# },
# "process_id": "LAB3"
# }
# ]
# },
# {
# "afi": "ipv6",
# "cost": 30,
# "processes": [
# {
# "area": {
# "area_id": "0.0.0.2"
# },
# "process_id": "LAB3"
# }
# ]
# }
# ],
# "name": "GigabitEthernet0/0/0/0",
# "type": "gigabitethernet"
# }
# ]
#
Authors
- Rohit Thakur (@rohitthakur2590)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/cisco/iosxr/iosxr_ospf_interfaces_module.html