cisco.iosxr.iosxr_ospf_interfaces – OSPF Interfaces Resource Module.
Note
This plugin is part of the cisco.iosxr 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.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.
Note
This module has a corresponding action plugin.
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 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. |
Notes
Note
- 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/latest/collections/cisco/iosxr/iosxr_ospf_interfaces_module.html