cisco.nxos.nxos_ospfv3 – OSPFv3 resource module

From Get docs
Ansible/docs/2.11/collections/cisco/nxos/nxos ospfv3 module


cisco.nxos.nxos_ospfv3 – OSPFv3 resource module

Note

This plugin is part of the cisco.nxos collection (version 1.4.0).

To install it use: ansible-galaxy collection install cisco.nxos.

To use it in a playbook, specify: cisco.nxos.nxos_ospfv3.


New in version 1.2.0: of cisco.nxos


Synopsis

  • This module manages OSPFv3 configuration on devices running Cisco NX-OS.

Note

This module has a corresponding action plugin.


Parameters

Parameter Choices/Defaults Comments

config

dictionary

A list of OSPFv3 process configuration.

processes

list / elements=dictionary

A list of OSPFv3 instances' configurations.

address_family

dictionary

IPv6 unicast address-family OSPFv3 settings.

afi

string

  • ipv6

Configure OSPFv3 settings under IPv6 address-family.

areas

list / elements=dictionary

Configure properties of OSPF Areas under address-family.

area_id

string / required

The Area ID as an integer or IP Address.

default_cost

integer

Specify the default cost.

filter_list

list / elements=dictionary

Filter prefixes between OSPF areas.

direction

string / required

  • in
  • out

The direction to apply the route map.

route_map

string / required

The Route-map name.

ranges

list / elements=dictionary

Configure an address range for the area.

cost

integer

Cost to use for the range.

not_advertise

boolean

  • no
  • yes

Suppress advertising the specified range.

prefix

string / required

IP in Prefix format (x.x.x.x/len)

default_information

dictionary

Control distribution of default routes.

originate

dictionary

Distribute a default route.

always

boolean

  • no
  • yes

Always advertise a default route.

route_map

string

Policy to control distribution of default routes

set

boolean

  • no
  • yes

Enable distribution of default route.

distance

integer

Configure the OSPF administrative distance.

maximum_paths

integer

Maximum paths per destination.

redistribute

list / elements=dictionary

Redistribute information from another routing protocol.

id

string

The identifier for the protocol specified.

protocol

string / required

  • bgp
  • direct
  • eigrp
  • isis
  • lisp
  • ospfv3
  • rip
  • static

The name of the protocol.

route_map

string / required

The route map policy to constrain redistribution.

safi

string

  • unicast

Configure OSPFv3 settings under IPv6 unicast address-family.

summary_address

list / elements=dictionary

Configure route summarization for redistribution.

not_advertise

boolean

  • no
  • yes

Supress advertising the specified summary.

prefix

string / required

IPv6 prefix format 'xxxx:xxxx/ml', 'xxxx:xxxx::/ml' or 'xxxx::xx/128'

tag

integer

A 32-bit tag value.

table_map

dictionary

Policy for filtering/modifying OSPF routes before sending them to RIB.

filter

boolean

  • no
  • yes

Block the OSPF routes from being sent to RIB.

name

string / required

The Route Map name.

timers

dictionary

Configure timer related constants.

throttle

dictionary

Configure throttle related constants.

spf

dictionary

Set OSPF SPF timers.

initial_spf_delay

integer

Initial SPF schedule delay in milliseconds.

max_wait_time

integer

Maximum wait time between SPF calculations.

min_hold_time

integer

Minimum hold time between SPF calculations.

areas

list / elements=dictionary

Configure properties of OSPF Areas.

area_id

string / required

The Area ID as an integer or IP Address.

nssa

dictionary

NSSA settings for the area.

default_information_originate

boolean

  • no
  • yes

Originate Type-7 default LSA into NSSA area.

no_redistribution

boolean

  • no
  • yes

Do not send redistributed LSAs into NSSA area.

no_summary

boolean

  • no
  • yes

Do not send summary LSAs into NSSA area.

route_map

string

Policy to control distribution of default route.

set

boolean

  • no
  • yes

Configure area as NSSA.

translate

dictionary

Translate LSA.

type7

dictionary

Translate from Type 7 to Type 5.

always

boolean

  • no
  • yes

Always translate LSAs

never

boolean

  • no
  • yes

Never translate LSAs

supress_fa

boolean

  • no
  • yes

Suppress forwarding address in translated LSAs.

stub

dictionary

Settings for configuring the area as a stub.

no_summary

boolean

  • no
  • yes

Prevent ABR from sending summary LSAs into stub area.

set

boolean

  • no
  • yes

Configure the area as a stub.

auto_cost

dictionary

Calculate OSPF cost according to bandwidth.

reference_bandwidth

integer / required

Reference bandwidth used to assign OSPF cost.

unit

string / required

  • Gbps
  • Mbps

Specify in which unit the reference bandwidth is specified.

flush_routes

boolean

  • no
  • yes

Flush routes on a non-graceful controlled restart.

graceful_restart

dictionary

Configure graceful restart.

grace_period

integer

Configure maximum interval to restart gracefully.

helper_disable

boolean

  • no
  • yes

Enable/Disable helper mode.

planned_only

boolean

  • no
  • yes

Enable graceful restart only for a planned restart

set

boolean

  • no
  • yes

Enable graceful-restart.

isolate

boolean

  • no
  • yes

Isolate this router from OSPF perspective.

log_adjacency_changes

dictionary

Log changes in adjacency state.

detail

boolean

  • no
  • yes

Notify all state changes.

log

boolean

  • no
  • yes

Enable/disable logging changes in adjacency state.

max_lsa

dictionary

Feature to limit the number of non-self-originated LSAs.

ignore_count

integer

Set count on how many times adjacencies can be suppressed.

ignore_time

integer

Set time during which all adjacencies are suppressed.

max_non_self_generated_lsa

integer / required

Set the maximum number of non self-generated LSAs.

reset_time

integer

Set number of minutes after which ignore-count is reset to zero.

threshold

integer

Threshold value (%) at which to generate a warning message.

warning_only

boolean

  • no
  • yes

Log a warning message when limit is exceeded.

max_metric

dictionary

Maximize the cost metric.

router_lsa

dictionary

Router LSA configuration.

external_lsa

dictionary

External LSA configuration.

max_metric_value

integer

Set max metric value for external LSAs.

set

boolean

  • no
  • yes

Set external-lsa attribute.

inter_area_prefix_lsa

dictionary

Inter-area-prefix LSAs configuration.

max_metric_value

integer

Max metric value for summary LSAs.

set

boolean

  • no
  • yes

Set summary-lsa attribute.

on_startup

dictionary

Effective only at startup.

set

boolean

  • no
  • yes

Set on-startup attribute.

wait_for_bgp_asn

integer

ASN of BGP to wait for.

wait_period

integer

Wait period in seconds after startup.

set

boolean

  • no
  • yes

Set router-lsa attribute.

stub_prefix_lsa

boolean

  • no
  • yes

Advertise Max metric for Stub links as well.

name_lookup

boolean

  • no
  • yes

Display OSPF router ids as DNS names.

passive_interface

dictionary

Suppress routing updates on the interface.

default

boolean

  • no
  • yes

Interfaces passive by default.

process_id

string / required

The OSPF process tag.

router_id

string

Set OSPF process router-id.

shutdown

boolean

  • no
  • yes

Shutdown the OSPF protocol instance.

timers

dictionary

Configure timer related constants.

lsa_arrival

integer

Mimimum interval between arrival of a LSA.

lsa_group_pacing

integer

LSA group refresh/maxage interval.

throttle

dictionary

Configure throttle related constants.

lsa

dictionary

Set rate-limiting for LSA generation.

hold_interval

integer

The hold interval.

max_interval

integer

The max interval.

start_interval

integer

The start interval.

vrfs

list / elements=dictionary

Configure VRF specific OSPF settings.

areas

list / elements=dictionary

Configure properties of OSPF Areas.

area_id

string / required

The Area ID as an integer or IP Address.

nssa

dictionary

NSSA settings for the area.

default_information_originate

boolean

  • no
  • yes

Originate Type-7 default LSA into NSSA area.

no_redistribution

boolean

  • no
  • yes

Do not send redistributed LSAs into NSSA area.

no_summary

boolean

  • no
  • yes

Do not send summary LSAs into NSSA area.

route_map

string

Policy to control distribution of default route.

set

boolean

  • no
  • yes

Configure area as NSSA.

translate

dictionary

Translate LSA.

type7

dictionary

Translate from Type 7 to Type 5.

always

boolean

  • no
  • yes

Always translate LSAs

never

boolean

  • no
  • yes

Never translate LSAs

supress_fa

boolean

  • no
  • yes

Suppress forwarding address in translated LSAs.

stub

dictionary

Settings for configuring the area as a stub.

no_summary

boolean

  • no
  • yes

Prevent ABR from sending summary LSAs into stub area.

set

boolean

  • no
  • yes

Configure the area as a stub.

auto_cost

dictionary

Calculate OSPF cost according to bandwidth.

reference_bandwidth

integer / required

Reference bandwidth used to assign OSPF cost.

unit

string / required

  • Gbps
  • Mbps

Specify in which unit the reference bandwidth is specified.

graceful_restart

dictionary

Configure graceful restart.

grace_period

integer

Configure maximum interval to restart gracefully.

helper_disable

boolean

  • no
  • yes

Enable/Disable helper mode.

planned_only

boolean

  • no
  • yes

Enable graceful restart only for a planned restart

set

boolean

  • no
  • yes

Enable graceful-restart.

log_adjacency_changes

dictionary

Log changes in adjacency state.

detail

boolean

  • no
  • yes

Notify all state changes.

log

boolean

  • no
  • yes

Enable/disable logging changes in adjacency state.

max_lsa

dictionary

Feature to limit the number of non-self-originated LSAs.

ignore_count

integer

Set count on how many times adjacencies can be suppressed.

ignore_time

integer

Set time during which all adjacencies are suppressed.

max_non_self_generated_lsa

integer / required

Set the maximum number of non self-generated LSAs.

reset_time

integer

Set number of minutes after which ignore-count is reset to zero.

threshold

integer

Threshold value (%) at which to generate a warning message.

warning_only

boolean

  • no
  • yes

Log a warning message when limit is exceeded.

max_metric

dictionary

Maximize the cost metric.

router_lsa

dictionary

Router LSA configuration.

external_lsa

dictionary

External LSA configuration.

max_metric_value

integer

Set max metric value for external LSAs.

set

boolean

  • no
  • yes

Set external-lsa attribute.

inter_area_prefix_lsa

dictionary

Inter-area-prefix LSAs configuration.

max_metric_value

integer

Max metric value for summary LSAs.

set

boolean

  • no
  • yes

Set summary-lsa attribute.

on_startup

dictionary

Effective only at startup.

set

boolean

  • no
  • yes

Set on-startup attribute.

wait_for_bgp_asn

integer

ASN of BGP to wait for.

wait_period

integer

Wait period in seconds after startup.

set

boolean

  • no
  • yes

Set router-lsa attribute.

stub_prefix_lsa

boolean

  • no
  • yes

Advertise Max metric for Stub links as well.

name_lookup

boolean

  • no
  • yes

Display OSPF router ids as DNS names.

passive_interface

dictionary

Suppress routing updates on the interface.

default

boolean

  • no
  • yes

Interfaces passive by default.

router_id

string

Set OSPF process router-id.

shutdown

boolean

  • no
  • yes

Shutdown the OSPF protocol instance.

timers

dictionary

Configure timer related constants.

lsa_arrival

integer

Mimimum interval between arrival of a LSA.

lsa_group_pacing

integer

LSA group refresh/maxage interval.

throttle

dictionary

Configure throttle related constants.

lsa

dictionary

Set rate-limiting for LSA generation.

hold_interval

integer

The hold interval.

max_interval

integer

The max interval.

start_interval

integer

The start interval.

vrf

string / required

Name/Identifier of the VRF.

running_config

string

This option is used only with state parsed.

The value of this option should be the output received from the NX-OS device by executing the command show running-config | section "^router ospfv3".

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

  • merged

  • replaced
  • overridden
  • deleted
  • gathered
  • parsed
  • rendered

The state the configuration should be left in.



Notes

Note

  • Tested against NX-OS 7.0(3)I5(1).
  • This module works with connection network_cli and httpapi.


Examples

# Using merged

# Before state:
# -------------
# nxos-9k-rdo# sh running-config | section "^router ospfv3"
# nxos-9k-rdo#

- name: Merge the provided configuration with the exisiting running configuration
  cisco.nxos.nxos_ospfv3:
    config:
      processes:
      - process_id: 100
        router_id: 203.0.113.20
      - process_id: 102
        router_id: 198.51.100.1
        address_family:
          afi: ipv6
          safi: unicast
          areas:
          - area_id: 0.0.0.100
            filter_list:
            - route_map: rmap_1
              direction: in
            - route_map: rmap_2
              direction: out
            ranges:
            - prefix: 2001:db2::/32
              not_advertise: true
            - prefix: 2001:db3::/32
              cost: 120
          redistribute:
          - protocol: eigrp
            id: 120
            route_map: rmap_1
          - protocol: direct
            route_map: ospf102-direct-connect
        vrfs:
        - vrf: zone1
          router_id: 198.51.100.129
          areas:
          - area_id: 0.0.0.102
            nssa:
              default_information_originate: true
              no_summary: true
          - area_id: 0.0.0.103
            nssa:
              no_summary: true
              translate:
                type7:
                  always: true
        - vrf: zone2
          auto_cost:
            reference_bandwidth: 45
            unit: Gbps
    state: merged

# Task output
# -------------
# before: {}
#
# commands:
#  - router ospf 102
#  - router-id 198.51.100.1
#  - address-family ipv6 unicast
#  - redistribute eigrp 120 route-map rmap_1
#  - redistribute direct route-map ospf102-direct-connect
#  - area 0.0.0.100 filter-list route-map rmap_1 in
#  - area 0.0.0.100 filter-list route-map rmap_2 out
#  - area 0.0.0.100 range 2001:db2::/32 not-advertise
#  - area 0.0.0.100 range 2001:db3::/32 cost 120
#  - vrf zone1
#  - router-id 198.51.100.129
#  - area 0.0.0.102 nssa no-summary default-information-originate
#  - area 0.0.0.103 nssa no-summary
#  - area 0.0.0.103 nssa translate type7 always
#  - vrf zone2
#  - auto-cost reference-bandwidth 45 Gbps
#  - router ospf 100
#  - router-id 203.0.113.20
#
# after:
#    processes:
#    - process_id: "100"
#      router_id: 203.0.113.20
#    - address_family:
#        afi: ipv4
#        safi: unicast
#        areas:
#        - area_id: 0.0.0.100
#          filter_list:
#          - direction: out
#            route_map: rmap_2
#          - direction: in
#            route_map: rmap_1
#          ranges:
#          - not_advertise: true
#            prefix: 2001:db2::/32
#          - cost: 120
#            prefix: 2001:db3::/32
#        redistribute:
#        - protocol: direct
#          route_map: ospf102-direct-connect
#        - id: "120"
#          protocol: eigrp
#          route_map: rmap_1
#      process_id: "102"
#      router_id: 198.51.100.1
#      vrfs:
#      - areas:
#        - area_id: 0.0.0.102
#          nssa:
#            default_information_originate: true
#            no_summary: true
#        - area_id: 0.0.0.103
#          nssa:
#            no_summary: true
#            translate:
#              type7:
#                always: true
#        router_id: 198.51.100.129
#        vrf: zone1
#      - auto_cost:
#          reference_bandwidth: 45
#          unit: Gbps
#        vrf: zone2
#

# After state:
# ------------
# nxos-9k-rdo# sh running-config | section "^router ospfv3"
# router ospfv3 100
#   router-id 203.0.113.20
# router ospfv3 102
#   router-id 198.51.100.1
#   address-family ipv6 unicast
#     redistribute direct route-map ospf102-direct-connect
#     redistribute eigrp 120 route-map rmap_1
#     area 0.0.0.100 filter-list route-map rmap_2 out
#     area 0.0.0.100 filter-list route-map rmap_1 in
#     area 0.0.0.100 range 2001:db2::/32 not-advertise
#     area 0.0.0.100 range 2001:db3::/32 cost 120
#   vrf zone1
#     router-id 198.51.100.129
#     area 0.0.0.102 nssa no-summary default-information-originate
#     area 0.0.0.103 nssa no-summary
#     area 0.0.0.103 nssa translate type7 always
#   vrf zone2
#     auto-cost reference-bandwidth 45 Gbps

# Using replaced

# Before state:
# ------------
# nxos-9k-rdo# sh running-config | section "^router ospfv3"
# router ospfv3 100
#   router-id 203.0.113.20
# router ospfv3 102
#   router-id 198.51.100.1
#   address-family upv6 unicast
#     redistribute direct route-map ospf102-direct-connect
#     redistribute eigrp 120 route-map rmap_1
#     area 0.0.0.100 filter-list route-map rmap_2 out
#     area 0.0.0.100 filter-list route-map rmap_1 in
#     area 0.0.0.100 range 2001:db2::/32 not-advertise
#     area 0.0.0.100 range 2001:db3::/32 cost 120
#   vrf zone1
#     router-id 198.51.100.129
#     area 0.0.0.102 nssa no-summary default-information-originate
#     area 0.0.0.103 nssa no-summary
#     area 0.0.0.103 nssa translate type7 always
#   vrf zone2
#     auto-cost reference-bandwidth 45 Gbps

- name: Replace device configurations of listed OSPFv3 processes with provided configurations
  cisco.nxos.nxos_ospfv3:
    config:
      processes:
      - process_id: 102
        router_id: 198.51.100.1
        address_family:
          afi: ipv6
          safi: unicast
          areas:
          - area_id: 0.0.0.100
            filter_list:
            - route_map: rmap_8
              direction: in
            ranges:
            - not_advertise: true
              prefix: 2001:db2::/32
          redistribute:
          - protocol: eigrp
            id: 130
            route_map: rmap_1
          - protocol: direct
            route_map: ospf102-direct-connect
        vrfs:
        - vrf: zone1
          router_id: 198.51.100.129
          areas:
          - area_id: 0.0.0.102
            nssa:
              default_information_originate: True
              no_summary: True
    state: replaced

# Task output
# -------------
# before:
#    processes:
#    - process_id: "100"
#      router_id: 203.0.113.20
#    - address_family:
#        afi: ipv4
#        safi: unicast
#        areas:
#        - area_id: 0.0.0.100
#          filter_list:
#          - direction: out
#            route_map: rmap_2
#          - direction: in
#            route_map: rmap_1
#          ranges:
#          - not_advertise: true
#            prefix: 2001:db2::/32
#          - cost: 120
#            prefix: 2001:db3::/32
#        redistribute:
#        - protocol: direct
#          route_map: ospf102-direct-connect
#        - id: "120"
#          protocol: eigrp
#          route_map: rmap_1
#      process_id: "102"
#      router_id: 198.51.100.1
#      vrfs:
#      - areas:
#        - area_id: 0.0.0.102
#          nssa:
#            default_information_originate: true
#            no_summary: true
#        - area_id: 0.0.0.103
#          nssa:
#            no_summary: true
#            translate:
#              type7:
#                always: true
#        router_id: 198.51.100.129
#        vrf: zone1
#      - auto_cost:
#          reference_bandwidth: 45
#          unit: Gbps
#        vrf: zone2
#
#  commands:
#  - router ospf 102
#  - address-family ipv6 unicast
#  - redistribute eigrp 130 route-map rmap_1
#  - no redistribute eigrp 120 route-map rmap_1
#  - area 0.0.0.100 filter-list route-map rmap_8 in
#  - no area 0.0.0.100 filter-list route-map rmap_2 out
#  - no area 0.0.0.100 range 2001:db3::/32
#  - vrf zone1
#  - no area 0.0.0.103 nssa
#  - no area 0.0.0.103 nssa translate type7 always
#  - no vrf zone2
#
# after:
#    processes:
#    - process_id: "100"
#      router_id: 203.0.113.20
#    - address_family:
#        afi: ipv6
#        safi: unicast
#        areas:
#        - area_id: 0.0.0.100
#          filter_list:
#          - direction: in
#            route_map: rmap_8
#          ranges:
#          - not_advertise: true
#            prefix: 2001:db2::/32
#        redistribute:
#        - protocol: direct
#          route_map: ospf102-direct-connect
#        - id: "130"
#          protocol: eigrp
#          route_map: rmap_1
#      process_id: "102"
#      router_id: 198.51.100.1
#      vrfs:
#      - areas:
#        - area_id: 0.0.0.102
#          nssa:
#            default_information_originate: true
#            no_summary: true
#        router_id: 198.51.100.129
#        vrf: zone1

# After state:
# ------------
# nxos-9k-rdo# sh running-config | section "^router ospfv3"
# router ospfv3 100
#   router-id 203.0.113.20
# router ospfv3 102
#   router-id 198.51.100.1
#   address-family ipv6 unicast
#     redistribute direct route-map ospf102-direct-connect
#     redistribute eigrp 130 route-map rmap_1
#     area 0.0.0.100 filter-list route-map rmap_8 in
#     area 0.0.0.100 range 198.51.100.64/27 not-advertise
#   vrf zone1
#     router-id 198.51.100.129
#     area 0.0.0.102 nssa no-summary default-information-originate

# Using overridden

# Before state:
# ------------
# nxos-9k-rdo# sh running-config | section "^router ospfv3"
# router ospfv3 100
#   router-id 203.0.113.20
# router ospfv3 102
#   router-id 198.51.100.1
#   address-family ipv6 unicast
#     redistribute direct route-map ospf102-direct-connect
#     redistribute eigrp 120 route-map rmap_1
#     area 0.0.0.100 filter-list route-map rmap_2 out
#     area 0.0.0.100 filter-list route-map rmap_1 in
#     area 0.0.0.100 range 2001:db2::/32 not-advertise
#     area 0.0.0.100 range 2001:db3::/32 cost 120
#   vrf zone1
#     router-id 198.51.100.129
#     area 0.0.0.102 nssa no-summary default-information-originate
#     area 0.0.0.103 nssa no-summary
#     area 0.0.0.103 nssa translate type7 always
#   vrf zone2
#     auto-cost reference-bandwidth 45 Gbps

- name: Overridde all OSPFv3 configuration with provided configuration
  cisco.nxos.nxos_ospfv3:
    config:
      processes:
      - process_id: 104
        router_id: 203.0.113.20
      - process_id: 102
        router_id: 198.51.100.1
        shutdown: true
    state: overridden

# Task output
# -------------
# before:
#    processes:
#    - process_id: "100"
#      router_id: 203.0.113.20
#    - address_family:
#        afi: ipv4
#        safi: unicast
#        areas:
#        - area_id: 0.0.0.100
#          filter_list:
#          - direction: out
#            route_map: rmap_2
#          - direction: in
#            route_map: rmap_1
#          ranges:
#          - not_advertise: true
#            prefix: 2001:db2::/32
#          - cost: 120
#            prefix: 2001:db3::/32
#        redistribute:
#        - protocol: direct
#          route_map: ospf102-direct-connect
#        - id: "120"
#          protocol: eigrp
#          route_map: rmap_1
#      process_id: "102"
#      router_id: 198.51.100.1
#      vrfs:
#      - areas:
#        - area_id: 0.0.0.102
#          nssa:
#            default_information_originate: true
#            no_summary: true
#        - area_id: 0.0.0.103
#          nssa:
#            no_summary: true
#            translate:
#              type7:
#                always: true
#        router_id: 198.51.100.129
#        vrf: zone1
#      - auto_cost:
#          reference_bandwidth: 45
#          unit: Gbps
#        vrf: zone2
#
# commands:
#  - no router ospfv3 100
#  - router ospfv3 104
#  - router-id 203.0.113.20
#  - router ospfv3 102
#  - shutdown
#  - address-family ipv6 unicast
#  - no redistribute direct route-map ospf102-direct-connect
#  - no redistribute eigrp 120 route-map rmap_1
#  - no area 0.0.0.100 filter-list route-map rmap_2 out
#  - no area 0.0.0.100 filter-list route-map rmap_1 in
#  - no area 0.0.0.100 range 2001:db2::/32
#  - no area 0.0.0.100 range 2001:db3::/32
#  - no vrf zone1
#  - no vrf zone2
#
# after:
#    processes:
#    - process_id: "102"
#      router_id: 198.51.100.1
#      shutdown: true
#      address_family:
#        afi: ipv6
#        safi: unicast
#    - process_id: "104"
#      router_id: 203.0.113.20

# After state:
# ------------
# nxos-9k-rdo# sh running-config | section "^router ospfv3"
# router ospfv3 102
#   router-id 198.51.100.1
#   address-family ipv6 unicast
#   shutdown
# router ospfv3 104
#   router-id 203.0.113.20

# Using deleted to delete a single OSPF process

# Before state:
# ------------
# nxos-9k-rdo# sh running-config | section "^router ospf .*"
# router ospfv3 100
#   router-id 203.0.113.20
# router ospfv3 102
#   router-id 198.51.100.1
#   address-family ipv6 unicast
#     redistribute direct route-map ospf102-direct-connect
#     redistribute eigrp 120 route-map rmap_1
#     area 0.0.0.100 filter-list route-map rmap_2 out
#     area 0.0.0.100 filter-list route-map rmap_1 in
#     area 0.0.0.100 range 2001:db2::/32 not-advertise
#     area 0.0.0.100 range 2001:db3::/32 cost 120
#   vrf zone1
#     router-id 198.51.100.129
#     area 0.0.0.102 nssa no-summary default-information-originate
#     area 0.0.0.103 nssa no-summary
#     area 0.0.0.103 nssa translate type7 always
#   vrf zone2
#     auto-cost reference-bandwidth 45 Gbps

- name: Delete a single OSPFv3 process
  cisco.nxos.nxos_ospfv3:
    config:
      processes:
      - process_id: 102
    state: deleted

# Task output
# -------------
# before:
#    processes:
#    - process_id: "100"
#      router_id: 203.0.113.20
#    - address_family:
#        afi: ipv4
#        safi: unicast
#        areas:
#        - area_id: 0.0.0.100
#          filter_list:
#          - direction: out
#            route_map: rmap_2
#          - direction: in
#            route_map: rmap_1
#          ranges:
#          - not_advertise: true
#            prefix: 2001:db2::/32
#          - cost: 120
#            prefix: 2001:db3::/32
#        redistribute:
#        - protocol: direct
#          route_map: ospf102-direct-connect
#        - id: "120"
#          protocol: eigrp
#          route_map: rmap_1
#      process_id: "102"
#      router_id: 198.51.100.1
#      vrfs:
#      - areas:
#        - area_id: 0.0.0.102
#          nssa:
#            default_information_originate: true
#            no_summary: true
#        - area_id: 0.0.0.103
#          nssa:
#            no_summary: true
#            translate:
#              type7:
#                always: true
#        router_id: 198.51.100.129
#        vrf: zone1
#      - auto_cost:
#          reference_bandwidth: 45
#          unit: Gbps
#        vrf: zone2
#
# commands:
#  - no router ospfv3 102
#
# after:
#   processes:
#   - process_id: "100"
#     router_id: 203.0.113.20

# After state:
# ------------
# nxos-9k-rdo# sh running-config | section "^router ospfv3"
# router ospfv3 100
#   router-id 203.0.113.20

# Using deleted all OSPFv3 processes from the device

# Before state:
# ------------
# nxos-9k-rdo# sh running-config | section "^router ospfv3"
# router ospfv3 100
#   router-id 203.0.113.20
# router ospfv3 102
#   router-id 198.51.100.1
#   address-family ipv6 unicast
#     redistribute direct route-map ospf102-direct-connect
#     redistribute eigrp 120 route-map rmap_1
#     area 0.0.0.100 filter-list route-map rmap_2 out
#     area 0.0.0.100 filter-list route-map rmap_1 in
#     area 0.0.0.100 range 2001:db2::/32 not-advertise
#     area 0.0.0.100 range 2001:db3::/32 cost 120
#   vrf zone1
#     router-id 198.51.100.129
#     area 0.0.0.102 nssa no-summary default-information-originate
#     area 0.0.0.103 nssa no-summary
#     area 0.0.0.103 nssa translate type7 always
#   vrf zone2
#     auto-cost reference-bandwidth 45 Gbps

- name: Delete all OSPFv3 processes from the device
  cisco.nxos.nxos_ospfv3:
    state: deleted

# Task output
# -------------
# before:
#    processes:
#    - process_id: "100"
#      router_id: 203.0.113.20
#    - address_family:
#        afi: ipv4
#        safi: unicast
#        areas:
#        - area_id: 0.0.0.100
#          filter_list:
#          - direction: out
#            route_map: rmap_2
#          - direction: in
#            route_map: rmap_1
#          ranges:
#          - not_advertise: true
#            prefix: 2001:db2::/32
#          - cost: 120
#            prefix: 2001:db3::/32
#        redistribute:
#        - protocol: direct
#          route_map: ospf102-direct-connect
#        - id: "120"
#          protocol: eigrp
#          route_map: rmap_1
#      process_id: "102"
#      router_id: 198.51.100.1
#      vrfs:
#      - areas:
#        - area_id: 0.0.0.102
#          nssa:
#            default_information_originate: true
#            no_summary: true
#        - area_id: 0.0.0.103
#          nssa:
#            no_summary: true
#            translate:
#              type7:
#                always: true
#        router_id: 198.51.100.129
#        vrf: zone1
#      - auto_cost:
#          reference_bandwidth: 45
#          unit: Gbps
#        vrf: zone2
#
# commands:
#  - no router ospfv3 100
#  - no router ospfv3 102
#
#  after: {}

# After state:
# ------------
# nxos-9k-rdo# sh running-config | section "^router ospfv3"
# nxos-9k-rdo#

# Using rendered

- name: Merge the provided configuration with the exisiting running configuration
  cisco.nxos.nxos_ospfv3:
    config:
      processes:
      - process_id: 100
        router_id: 203.0.113.20
      - process_id: 102
        router_id: 198.51.100.1
        address_family:
          afi: ipv6
          safi: unicast
          areas:
          - area_id: 0.0.0.100
            filter_list:
            - route_map: rmap_1
              direction: in
            - route_map: rmap_2
              direction: out
            ranges:
            - prefix: 2001:db2::/32
              not_advertise: true
            - prefix: 2001:db3::/32
              cost: 120
          redistribute:
          - protocol: eigrp
            id: 120
            route_map: rmap_1
          - protocol: direct
            route_map: ospf102-direct-connect
        vrfs:
        - vrf: zone1
          router_id: 198.51.100.129
          areas:
          - area_id: 0.0.0.102
            nssa:
              default_information_originate: true
              no_summary: true
          - area_id: 0.0.0.103
            nssa:
              no_summary: true
              translate:
                type7:
                  always: true
        - vrf: zone2
          auto_cost:
            reference_bandwidth: 45
            unit: Gbps
    state: rendered

# Task Output (redacted)
# -----------------------
# rendered:
#  - router ospfv3 100
#  - router-id 203.0.113.20
#  - router ospfv3 102
#  - router-id 198.51.100.1
#  - address-family ipv6 unicast
#  - redistribute eigrp 120 route-map rmap_1
#  - redistribute direct route-map ospf102-direct-connect
#  - area 0.0.0.100 filter-list route-map rmap_1 in
#  - area 0.0.0.100 filter-list route-map rmap_2 out
#  - area 0.0.0.100 range 2001:db2::/32 not-advertise
#  - area 0.0.0.100 range 2001:db3::/32 cost 120
#  - vrf zone1
#  - router-id 198.51.100.129
#  - area 0.0.0.102 nssa no-summary default-information-originate
#  - area 0.0.0.103 nssa no-summary
#  - area 0.0.0.103 nssa translate type7 always
#  - vrf zone2
#  - auto-cost reference-bandwidth 45 Gbps

# Using parsed

# parsed.cfg
# ------------
# router ospfv3 100
#   router-id 192.0.100.1
#   address-family ipv6 unicast
#     redistribute direct route-map ospf-direct-connect
#     redistribute eigrp 120 route-map rmap_1
#     area 0.0.0.100 filter-list route-map rmap_2 out
#     area 0.0.0.100 filter-list route-map rmap_1 in
#     area 0.0.0.100 range 2001:db2::/32 not-advertise
#     area 0.0.0.100 range 2001:db3::/32 cost 120
#   vrf zone1
#     router-id 198.51.100.129
#     area 0.0.100.1 nssa no-summary no-redistribution
# router ospfv3 102
#   router-id 198.54.100.1
#   shutdown

- name: Parse externally provided OSPFv3 config
  cisco.nxos.nxos_ospfv3:
    running_config: "{{ lookup('file', 'ospfv2.cfg') }}"
    state: parsed

# Task output (redacted)
# -----------------------
# parsed:
#   processes:
#   - process_id: "100"
#     address_family:
#       afi: ipv6
#       safi: unicast
#       areas:
#       - area_id: 0.0.0.101
#         nssa:
#           no_redistribution: true
#           no_summary: true
#       - area_id: 0.0.0.102
#         stub:
#           no_summary: true
#         filter_list:
#           - direction: out
#             route_map: rmap_2
#           - direction: in
#             route_map: rmap_1
#         ranges:
#           - not_advertise: true
#             prefix: 192.0.2.0/24
#           - cost: 120
#             prefix: 192.0.3.0/24
#       redistribute:
#       - protocol: direct
#         route_map: ospf-direct-connect
#       - id: "120"
#         protocol: eigrp
#         route_map: rmap_1
#     router_id: 192.0.100.1
#     vrfs:
#       - vrf: zone1
#         areas:
#           - area_id: 0.0.100.1
#             nssa:
#               no_redistribution: true
#               no_summary: true
#         router_id: 192.0.100.2
#   - process_id: "102"
#     router_id: 198.54.100.1
#     shutdown: True

# Using gathered

- name: Gather OSPFv3 facts using gathered
  cisco.nxos.nxos_ospfv3:
    state: gathered

# Task output (redacted)
# -----------------------
#  gathered:
#    processes:
#    - process_id: "100"
#      router_id: 203.0.113.20
#    - address_family:
#        afi: ipv4
#        safi: unicast
#        areas:
#        - area_id: 0.0.0.100
#          filter_list:
#          - direction: out
#            route_map: rmap_2
#          - direction: in
#            route_map: rmap_1
#          ranges:
#          - not_advertise: true
#            prefix: 2001:db2::/32
#          - cost: 120
#            prefix: 2001:db3::/32
#        redistribute:
#        - protocol: direct
#          route_map: ospf102-direct-connect
#        - id: "120"
#          protocol: eigrp
#          route_map: rmap_1
#      process_id: "102"
#      router_id: 198.51.100.1
#      vrfs:
#      - areas:
#        - area_id: 0.0.0.102
#          nssa:
#            default_information_originate: true
#            no_summary: true
#        - area_id: 0.0.0.103
#          nssa:
#            no_summary: true
#            translate:
#              type7:
#                always: true
#        router_id: 198.51.100.129
#        vrf: zone1
#      - auto_cost:
#          reference_bandwidth: 45
#          unit: Gbps
#        vrf: zone2
#

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description

after

dictionary

when changed

The resulting configuration model invocation.


Sample:

The configuration returned will always be in the same format of the parameters above.

before

dictionary

always

The configuration prior to the model invocation.


Sample:

The configuration returned will always be in the same format of the parameters above.

commands

list / elements=string

always

The set of commands pushed to the remote device.


Sample:

['router ospfv3 102', 'router-id 198.54.100.1', 'router ospfv3 100', 'router-id 192.0.100.1', 'address-family ipv6 unicast', 'redistribute eigrp 120 route-map rmap_1', 'redistribute direct route-map ospf-direct-connect', 'area 0.0.0.100 filter-list route-map rmap_1 in', 'area 0.0.0.100 filter-list route-map rmap_2 out', 'area 0.0.0.100 range 2001:db2::/32 not-advertise', 'area 0.0.0.100 range 2001:db3::/32 cost 120', 'vrf zone1', 'router-id 192.0.100.2', 'vrf zone2', 'auto-cost reference-bandwidth 45 Gbps']




Authors

  • Nilashish Chakraborty (@NilashishC)

© 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/nxos/nxos_ospfv3_module.html