cisco.iosxr.iosxr_static_routes – Static routes 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_static_routes
.
New in version 1.0.0: of cisco.iosxr
Synopsis¶
This module manages static routes on devices running Cisco IOS-XR.
Note
This module has a corresponding action plugin.
Parameters¶
Examples¶
# Using merged
# Before state
# -------------
# RP/0/RP0/CPU0:ios#show running-config router static
# Sat Feb 22 07:46:30.089 UTC
# % No such configuration item(s)
#
- name: Merge the provided configuration with the exisiting running configuration
cisco.iosxr.iosxr_static_routes:
config:
- address_families:
- afi: ipv4
safi: unicast
routes:
- dest: 192.0.2.16/28
next_hops:
- forward_router_address: 192.0.2.10
interface: FastEthernet0/0/0/1
description: LAB
metric: 120
tag: 10
- interface: FastEthernet0/0/0/5
track: ip_sla_1
- dest: 192.0.2.32/28
next_hops:
- forward_router_address: 192.0.2.11
admin_distance: 100
- afi: ipv6
safi: unicast
routes:
- dest: 2001:db8:1000::/36
next_hops:
- interface: FastEthernet0/0/0/7
description: DC
- interface: FastEthernet0/0/0/8
forward_router_address: 2001:db8:2000:2::1
- vrf: DEV_SITE
address_families:
- afi: ipv4
safi: unicast
routes:
- dest: 192.0.2.48/28
next_hops:
- forward_router_address: 192.0.2.12
description: DEV
dest_vrf: test_1
- dest: 192.0.2.80/28
next_hops:
- interface: FastEthernet0/0/0/2
forward_router_address: 192.0.2.14
dest_vrf: test_1
track: ip_sla_2
vrflabel: 124
state: merged
# After state
# -------------
# RP/0/RP0/CPU0:ios#show running-config router static
# Sat Feb 22 07:49:11.754 UTC
# router static
# address-family ipv4 unicast
# 192.0.2.16/28 FastEthernet0/0/0/1 192.0.2.10 tag 10 description LAB metric 120
# 192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1
# 192.0.2.32/28 192.0.2.11 100
# !
# address-family ipv6 unicast
# 2001:db8:1000::/36 FastEthernet0/0/0/7 description DC
# 2001:db8:1000::/36 FastEthernet0/0/0/8 2001:db8:2000:2::1
# !
# vrf DEV_SITE
# address-family ipv4 unicast
# 192.0.2.48/28 vrf test_1 192.0.2.12 description DEV
# 192.0.2.80/28 vrf test_1 FastEthernet0/0/0/2 192.0.2.14 vrflabel 124 track ip_sla_2
# !
# !
# !
# Using merged to update existing static routes
# Before state
# -------------
# RP/0/RP0/CPU0:ios#show running-config router static
# Sat Feb 22 07:49:11.754 UTC
# router static
# address-family ipv4 unicast
# 192.0.2.16/28 FastEthernet0/0/0/1 192.0.2.10 tag 10 description LAB metric 120
# 192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1
# 192.0.2.32/28 192.0.2.11 100
# !
# address-family ipv6 unicast
# 2001:db8:1000::/36 FastEthernet0/0/0/7 description DC
# 2001:db8:1000::/36 FastEthernet0/0/0/8 2001:db8:2000:2::1
# !
# vrf DEV_SITE
# address-family ipv4 unicast
# 192.0.2.48/28 vrf test_1 192.0.2.12 description DEV
# 192.0.2.80/28 vrf test_1 FastEthernet0/0/0/2 192.0.2.14 vrflabel 124 track ip_sla_2
# !
# !
# !
- name: Update existing static routes configuration using merged
cisco.iosxr.iosxr_static_routes:
config:
- vrf: DEV_SITE
address_families:
- afi: ipv4
safi: unicast
routes:
- dest: 192.0.2.48/28
next_hops:
- forward_router_address: 192.0.2.12
vrflabel: 2301
dest_vrf: test_1
- dest: 192.0.2.80/28
next_hops:
- interface: FastEthernet0/0/0/2
forward_router_address: 192.0.2.14
dest_vrf: test_1
description: rt_test_1
state: merged
# After state
# -------------
# RP/0/RP0/CPU0:ios#show running-config router static
# Sat Feb 22 07:49:11.754 UTC
# router static
# address-family ipv4 unicast
# 192.0.2.16/28 FastEthernet0/0/0/1 192.0.2.10 tag 10 description LAB metric 120
# 192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1
# 192.0.2.32/28 192.0.2.11 100
# !
# address-family ipv6 unicast
# 2001:db8:1000::/36 FastEthernet0/0/0/7 description DC
# 2001:db8:1000::/36 FastEthernet0/0/0/8 2001:db8:2000:2::1
# !
# vrf DEV_SITE
# address-family ipv4 unicast
# 192.0.2.48/28 vrf test_1 192.0.2.12 description DEV vrflabel 2301
# 192.0.2.80/28 vrf test_1 192.0.2.14 FastEthernet0/0/0/2 description rt_test_1 track ip_sla_2 vrflabel 124
# !
# !
# !
# Using replaced to replace all next hop entries for a single destination network
# Before state
# --------------
# RP/0/RP0/CPU0:ios#sh running-config router static
# Sat Feb 22 07:59:08.669 UTC
# router static
# address-family ipv4 unicast
# 192.0.2.16/28 FastEthernet0/0/0/1 192.0.2.10 tag 10 description LAB metric 120
# 192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1
# 192.0.2.32/28 192.0.2.11 100
# !
# address-family ipv6 unicast
# 2001:db8:1000::/36 FastEthernet0/0/0/7 description DC
# 2001:db8:1000::/36 FastEthernet0/0/0/8 2001:db8:2000:2::1
# !
# vrf DEV_SITE
# address-family ipv4 unicast
# 192.0.2.48/28 vrf test_1 192.0.2.12 description DEV
# 192.0.2.48/28 GigabitEthernet0/0/0/1 192.0.3.24 vrflabel 2302
# 192.0.2.80/28 vrf test_1 FastEthernet0/0/0/2 192.0.2.14 vrflabel 124 track ip_sla_2
# !
# !
# !
- name: Replace device configurations of static routes with provided configurations
cisco.iosxr.iosxr_static_routes:
config:
- vrf: DEV_SITE
address_families:
- afi: ipv4
safi: unicast
routes:
- dest: 192.0.2.48/28
next_hops:
- forward_router_address: 192.0.2.15
interface: FastEthernet0/0/0/3
description: DEV_NEW
dest_vrf: dev_test_2
state: replaced
# After state
# ------------
# RP/0/RP0/CPU0:ios#sh running-config router static
# Sat Feb 22 08:04:07.085 UTC
# router static
# address-family ipv4 unicast
# 192.0.2.16/28 FastEthernet0/0/0/1 192.0.2.10 tag 10 description LAB metric 120
# 192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1
# 192.0.2.32/28 192.0.2.11 100
# !
# address-family ipv6 unicast
# 2001:db8:1000::/36 FastEthernet0/0/0/7 description DC
# 2001:db8:1000::/36 FastEthernet0/0/0/8 2001:db8:2000:2::1
# !
# vrf DEV_SITE
# address-family ipv4 unicast
# 192.0.2.48/28 vrf dev_test_2 FastEthernet0/0/0/3 192.0.2.15 description DEV_NEW
# 192.0.2.80/28 vrf test_1 FastEthernet0/0/0/2 192.0.2.14 vrflabel 124 track ip_sla_2
# !
# !
# !
# Using overridden to override all static route entries on the device
# Before state
# -------------
# RP/0/RP0/CPU0:ios#sh running-config router static
# Sat Feb 22 07:59:08.669 UTC
# router static
# address-family ipv4 unicast
# 192.0.2.16/28 FastEthernet0/0/0/1 192.0.2.10 tag 10 description LAB metric 120
# 192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1
# 192.0.2.32/28 192.0.2.11 100
# !
# address-family ipv6 unicast
# 2001:db8:1000::/36 FastEthernet0/0/0/7 description DC
# 2001:db8:1000::/36 FastEthernet0/0/0/8 2001:db8:2000:2::1
# !
# vrf DEV_SITE
# address-family ipv4 unicast
# 192.0.2.48/28 vrf test_1 192.0.2.12 description DEV
# 192.0.2.48/28 GigabitEthernet0/0/0/1 192.0.3.24 vrflabel 2302
# 192.0.2.80/28 vrf test_1 FastEthernet0/0/0/2 192.0.2.14 vrflabel 124 track ip_sla_2
# !
# !
# !
- name: Overridde all static routes configuration with provided configuration
cisco.iosxr.iosxr_static_routes:
config:
- vrf: DEV_NEW
address_families:
- afi: ipv4
safi: unicast
routes:
- dest: 192.0.2.48/28
next_hops:
- forward_router_address: 192.0.2.15
interface: FastEthernet0/0/0/3
description: DEV1
- afi: ipv6
safi: unicast
routes:
- dest: 2001:db8:3000::/36
next_hops:
- interface: FastEthernet0/0/0/4
forward_router_address: 2001:db8:2000:2::2
description: PROD1
track: ip_sla_1
state: overridden
# After state
# -------------
# RP/0/RP0/CPU0:ios#sh running-config router static
# Sat Feb 22 08:07:41.516 UTC
# router static
# vrf DEV_NEW
# address-family ipv4 unicast
# 192.0.2.48/28 FastEthernet0/0/0/3 192.0.2.15 description DEV1
# !
# address-family ipv6 unicast
# 2001:db8:3000::/36 FastEthernet0/0/0/4 2001:db8:2000:2::2 description PROD1 track ip_sla_1
# !
# !
# !
# Using deleted to delete all destination network entries under a single AFI
# Before state
# -------------
# RP/0/RP0/CPU0:ios#sh running-config router static
# Sat Feb 22 07:59:08.669 UTC
# router static
# address-family ipv4 unicast
# 192.0.2.16/28 FastEthernet0/0/0/1 192.0.2.10 tag 10 description LAB metric 120
# 192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1
# 192.0.2.32/28 192.0.2.11 100
# !
# address-family ipv6 unicast
# 2001:db8:1000::/36 FastEthernet0/0/0/7 description DC
# 2001:db8:1000::/36 FastEthernet0/0/0/8 2001:db8:2000:2::1
# !
# vrf DEV_SITE
# address-family ipv4 unicast
# 192.0.2.48/28 vrf test_1 192.0.2.12 description DEV
# 192.0.2.48/28 GigabitEthernet0/0/0/1 192.0.3.24 vrflabel 2302
# 192.0.2.80/28 vrf test_1 FastEthernet0/0/0/2 192.0.2.14 vrflabel 124 track ip_sla_2
# !
# !
# !
- name: Delete all destination network entries under a single AFI
cisco.iosxr.iosxr_static_routes:
config:
- vrf: DEV_SITE
address_families:
- afi: ipv4
safi: unicast
state: deleted
# After state
# ------------
# RP/0/RP0/CPU0:ios#sh running-config router static
# Sat Feb 22 08:16:41.464 UTC
# router static
# address-family ipv4 unicast
# 192.0.2.16/28 FastEthernet0/0/0/1 192.0.2.10 tag 10 description LAB metric 120
# 192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1
# 192.0.2.32/28 192.0.2.11 100
# !
# address-family ipv6 unicast
# 2001:db8:1000::/36 FastEthernet0/0/0/7 description DC
# 2001:db8:1000::/36 FastEthernet0/0/0/8 2001:db8:2000:2::1
# !
# vrf DEV_SITE
# !
# !
# Using deleted to remove all static route entries from the device
# Before state
# -------------
# RP/0/RP0/CPU0:ios#sh running-config router static
# Sat Feb 22 07:59:08.669 UTC
# router static
# address-family ipv4 unicast
# 192.0.2.16/28 FastEthernet0/0/0/1 192.0.2.10 tag 10 description LAB metric 120
# 192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1
# 192.0.2.32/28 192.0.2.11 100
# !
# address-family ipv6 unicast
# 2001:db8:1000::/36 FastEthernet0/0/0/7 description DC
# 2001:db8:1000::/36 FastEthernet0/0/0/8 2001:db8:2000:2::1
# !
# vrf DEV_SITE
# address-family ipv4 unicast
# 192.0.2.48/28 vrf test_1 192.0.2.12 description DEV
# 192.0.2.48/28 GigabitEthernet0/0/0/1 192.0.3.24 vrflabel 2302
# 192.0.2.80/28 vrf test_1 FastEthernet0/0/0/2 192.0.2.14 vrflabel 124 track ip_sla_2
# !
# !
# !
- name: Delete static routes configuration
cisco.iosxr.iosxr_static_routes:
state: deleted
# After state
# ------------
# RP/0/RP0/CPU0:ios#sh running-config router static
# Sat Feb 22 08:50:43.038 UTC
# % No such configuration item(s)
# Using gathered to gather static route facts from the device
- name: Gather static routes facts from the device using iosxr_static_routes module
cisco.iosxr.iosxr_static_routes:
state: gathered
# Task output (redacted)
# -----------------------
# "gathered": [
# {
# "address_families": [
# {
# "afi": "ipv4",
# "routes": [
# {
# "dest": "192.0.2.16/28",
# "next_hops": [
# {
# "description": "LAB",
# "forward_router_address": "192.0.2.10",
# "interface": "FastEthernet0/0/0/1",
# "metric": 120,
# "tag": 10
# },
# {
# "interface": "FastEthernet0/0/0/5",
# "track": "ip_sla_1"
# }
# ]
# },
# {
# "dest": "192.0.2.32/28",
# "next_hops": [
# {
# "admin_distance": 100,
# "forward_router_address": "192.0.2.11"
# }
# ]
# }
# ],
# "safi": "unicast"
# },
# {
# "afi": "ipv6",
# "routes": [
# {
# "dest": "2001:db8:1000::/36",
# "next_hops": [
# {
# "description": "DC",
# "interface": "FastEthernet0/0/0/7"
# },
# {
# "forward_router_address": "2001:db8:2000:2::1",
# "interface": "FastEthernet0/0/0/8"
# }
# ]
# }
# ],
# "safi": "unicast"
# }
# ]
# },
# {
# "address_families": [
# {
# "afi": "ipv4",
# "routes": [
# {
# "dest": "192.0.2.48/28",
# "next_hops": [
# {
# "description": "DEV",
# "dest_vrf": "test_1",
# "forward_router_address": "192.0.2.12"
# },
# {
# "forward_router_address": "192.0.3.24",
# "interface": "GigabitEthernet0/0/0/1",
# "vrflabel": 2302
# }
# ]
# },
# {
# "dest": "192.0.2.80/28",
# "next_hops": [
# {
# "dest_vrf": "test_1",
# "forward_router_address": "192.0.2.14",
# "interface": "FastEthernet0/0/0/2",
# "track": "ip_sla_2",
# "vrflabel": 124
# }
# ]
# }
# ],
# "safi": "unicast"
# }
# ],
# "vrf": "DEV_SITE"
# }
# ]
# Using rendered
- name: Render platform specific commands (without connecting to the device)
cisco.iosxr.iosxr_static_routes:
config:
- vrf: DEV_SITE
address_families:
- afi: ipv4
safi: unicast
routes:
- dest: 192.0.2.48/28
next_hops:
- forward_router_address: 192.0.2.12
description: DEV
dest_vrf: test_1
- dest: 192.0.2.80/28
next_hops:
- interface: FastEthernet0/0/0/2
forward_router_address: 192.0.2.14
dest_vrf: test_1
track: ip_sla_2
vrflabel: 124
# Task Output (redacted)
# -----------------------
# "rendered": [
# "router static"s,
# "vrf DEV_SITE",
# "address-family ipv4 unicast",
# "192.0.2.48/28 vrf test_1 192.0.2.12 description DEV",
# "192.0.2.80/28 vrf test_1 192.0.2.14 FastEthernet0/0/0/2 track ip_sla_2 vrflabel 124"
# Using parsed
# parsed.cfg
# ------------
# Fri Nov 29 21:10:41.896 UTC
# router static
# address-family ipv4 unicast
# 192.0.2.16/28 FastEthernet0/0/0/1 192.0.2.10 tag 10 description LAB metric 120
# 192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1
# 192.0.2.32/28 192.0.2.11 100
# !
# address-family ipv6 unicast
# 2001:db8:1000::/36 FastEthernet0/0/0/7 description DC
# 2001:db8:1000::/36 FastEthernet0/0/0/8 2001:db8:2000:2::1
# !
# vrf DEV_SITE
# address-family ipv4 unicast
# 192.0.2.48/28 vrf test_1 192.0.2.12 description DEV
# 192.0.2.80/28 vrf test_1 FastEthernet0/0/0/2 192.0.2.14 vrflabel 124 track ip_sla_2
# !
# !
# !
- name: Use parsed state to convert externally supplied device specific static routes
commands to structured format
cisco.iosxr.iosxr_static_routes:
running_config: "{{ lookup('file', '../../fixtures/parsed.cfg') }}"
state: parsed
# Task output (redacted)
# -----------------------
# "parsed": [
# {
# "address_families": [
# {
# "afi": "ipv4",
# "routes": [
# {
# "dest": "192.0.2.16/28",
# "next_hops": [
# {
# "description": "LAB",
# "forward_router_address": "192.0.2.10",
# "interface": "FastEthernet0/0/0/1",
# "metric": 120,
# "tag": 10
# },
# {
# "interface": "FastEthernet0/0/0/5",
# "track": "ip_sla_1"
# }
# ]
# },
# {
# "dest": "192.0.2.32/28",
# "next_hops": [
# {
# "admin_distance": 100,
# "forward_router_address": "192.0.2.11"
# }
# ]
# }
# ],
# "safi": "unicast"
# },
# {
# "afi": "ipv6",
# "routes": [
# {
# "dest": "2001:db8:1000::/36",
# "next_hops": [
# {
# "description": "DC",
# "interface": "FastEthernet0/0/0/7"
# },
# {
# "forward_router_address": "2001:db8:2000:2::1",
# "interface": "FastEthernet0/0/0/8"
# }
# ]
# }
# ],
# "safi": "unicast"
# }
# ]
# },
# {
# "address_families": [
# {
# "afi": "ipv4",
# "routes": [
# {
# "dest": "192.0.2.48/28",
# "next_hops": [
# {
# "description": "DEV",
# "dest_vrf": "test_1",
# "forward_router_address": "192.0.2.12"
# }
# ]
# },
# {
# "dest": "192.0.2.80/28",
# "next_hops": [
# {
# "dest_vrf": "test_1",
# "forward_router_address": "192.0.2.14",
# "interface": "FastEthernet0/0/0/2",
# "track": "ip_sla_2",
# "vrflabel": 124
# }
# ]
# }
# ],
# "safi": "unicast"
# }
# ],
# "vrf": "DEV_SITE"
# }
# ]
# }
Return Values¶
Common return values are documented here, the following are the fields unique to this module:
Authors¶
Nilashish Chakraborty (@NilashishC)