OSPF
NX-OSOSPF (Open Shortest Path First) is a standards-based link-state interior gateway protocol that uses Dijkstra’s shortest path first algorithm to calculate optimal routes within an autonomous system, supporting VRF-aware multi-instance deployments on NX-OS. It provides hierarchical network design through area-based segmentation with configurable area types (stub, NSSA), route summarization, max-metric advertisement for graceful maintenance, and advanced features like BFD integration for fast failure detection. OSPF interface-level configuration controls process association, area membership, cost, network type, priority, authentication, and passive interface behavior across loopback, VLAN, Ethernet, and port-channel interfaces, and Ethernet and port-channel subinterfaces.
OSPF (Open Shortest Path First) is a standards-based link-state interior gateway protocol that uses Dijkstra’s shortest path first algorithm to calculate optimal routes within an autonomous system, supporting VRF-aware multi-instance deployments on NX-OS. It provides hierarchical network design through area-based segmentation with configurable area types (stub, NSSA), route summarization, max-metric advertisement for graceful maintenance, and advanced features like BFD integration for fast failure detection. OSPF interface-level configuration controls process association, area membership, cost, network type, priority, authentication, and passive interface behavior across loopback, VLAN, Ethernet, and port-channel interfaces.
Diagram
Section titled “Diagram”Diagram
Section titled “Diagram”Classes
Section titled “Classes”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| devices | List | devices | No | |
| device_groups | List | device_groups | No | |
| global | Class | global | No | |
| templates | List | templates | No | |
| interface_ | List | interface_ | No |
| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| devices | List | devices | No | |
| device_groups | List | device_groups | No | |
| global | Class | global | No | |
| templates | List | templates | No |
devices (nxos)
Section titled “devices (nxos)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| configuration | Class | configuration | No |
device_groups (nxos)
Section titled “device_groups (nxos)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| configuration | Class | configuration | No |
global (nxos)
Section titled “global (nxos)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| configuration | Class | configuration | No |
templates (nxos)
Section titled “templates (nxos)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| configuration | Class | configuration | No |
interface_groups (nxos)
Section titled “interface_groups (nxos)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| configuration | Class | configuration | No |
configuration (nxos.devices)
Section titled “configuration (nxos.devices)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| routing | Class | routing | No | |
| interfaces | Class | interfaces | No |
configuration (nxos.interface_groups)
Section titled “configuration (nxos.interface_groups)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| subinterfaces | List | subinterfaces | No | |
| ospf | Class | ospf | No |
interfaces (nxos.devices.configuration)
Section titled “interfaces (nxos.devices.configuration)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| loopbacks | List | loopbacks | No | |
| vlans | List | vlans | No | |
| ethernets | List | ethernets | No | |
| port_channels | List | port_channels | No |
ethernets (nxos.devices.configuration.interfaces)
Section titled “ethernets (nxos.devices.configuration.interfaces)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| subinterfaces | List | subinterfaces | No | |
| ospf | Class | ospf | No |
ethernets (nxos.devices.configuration.interfaces)
Section titled “ethernets (nxos.devices.configuration.interfaces)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| ospf | Class | ospf | No |
port_channels (nxos.devices.configuration.interfaces)
Section titled “port_channels (nxos.devices.configuration.interfaces)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| subinterfaces | List | subinterfaces | No | |
| ospf | Class | ospf | No |
port_channels (nxos.devices.configuration.interfaces)
Section titled “port_channels (nxos.devices.configuration.interfaces)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| ospf | Class | ospf | No |
routing (nxos.devices.configuration)
Section titled “routing (nxos.devices.configuration)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| ospf_processes | List | ospf_processes | No |
loopbacks (nxos.devices.configuration.interfaces)
Section titled “loopbacks (nxos.devices.configuration.interfaces)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| ospf | Class | ospf | No |
vlans (nxos.devices.configuration.interfaces)
Section titled “vlans (nxos.devices.configuration.interfaces)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| ospf | Class | ospf | No |
subinterfaces (nxos.devices.configuration.interfaces.ethernets)
Section titled “subinterfaces (nxos.devices.configuration.interfaces.ethernets)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| ospf | Class | ospf | No |
ospf_processes (nxos.devices.configuration.routing)
Section titled “ospf_processes (nxos.devices.configuration.routing)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| name | String | Yes | ||
| shutdown | Boolean | true, false | No | |
| auto_ | Integer | min: 0, max: 4294967295 | No | |
| auto_ | Choice | mbps, gbps | No | |
| bfd | Boolean | true, false | No | |
| capability_ | Choice | l3vpn, evpn | No | |
| default_metric | Integer | min: 0, max: 16777214 | No | |
| passive_ | Boolean | true, false | No | |
| default_ | Boolean | true, false | No | |
| discard_ | Boolean | true, false | No | |
| discard_ | Boolean | true, false | No | |
| distance | Integer | min: 1, max: 255 | No | |
| down_bit_ignore | Boolean | true, false | No | |
| log_ | Choice | none, brief, detail | No | |
| maximum_paths | Integer | min: 1, max: 64 | No | |
| name_lookup | Boolean | true, false | No | |
| name_ | String | No | ||
| rfc1583compatibility | Boolean | true, false | No | |
| router_id | IP | No | ||
| default_ | Boolean | true, false | No | |
| default_ | Boolean | true, false | No | |
| default_ | String | No | ||
| graceful_ | Boolean | true, false | No | |
| graceful_ | Integer | min: 5, max: 1800 | No | |
| graceful_ | Boolean | true, false | No | |
| graceful_ | Boolean | true, false | No | |
| timers_ | Integer | min: 1, max: 600000 | No | |
| timers_ | Integer | min: 1, max: 600000 | No | |
| timers_ | Integer | min: 1, max: 600000 | No | |
| timers_ | Integer | min: 0, max: 5000 | No | |
| timers_ | Integer | min: 50, max: 30000 | No | |
| timers_ | Integer | min: 50, max: 30000 | No | |
| timers_ | Integer | min: 10, max: 600000 | No | |
| timers_ | Integer | min: 1, max: 1800 | No | |
| max_ | Class | max_ | No | |
| areas | List | areas | No | |
| redistributions | List | redistributions | No | |
| summary_ | List | summary_ | No | |
| vrfs | List | vrfs | No |
ospf_processes (nxos.devices.configuration.routing)
Section titled “ospf_processes (nxos.devices.configuration.routing)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| name | String | Yes | ||
| shutdown | Boolean | true, false | No | |
| auto_ | Integer | min: 0, max: 4294967295 | No | |
| auto_ | Choice | mbps, gbps | No | |
| bfd | Boolean | true, false | No | |
| capability_ | Choice | l3vpn, evpn | No | |
| default_metric | Integer | min: 0, max: 16777214 | No | |
| passive_ | Boolean | true, false | No | |
| default_ | Boolean | true, false | No | |
| discard_ | Boolean | true, false | No | |
| discard_ | Boolean | true, false | No | |
| distance | Integer | min: 1, max: 255 | No | |
| down_bit_ignore | Boolean | true, false | No | |
| log_ | Choice | none, brief, detail | No | |
| maximum_paths | Integer | min: 1, max: 64 | No | |
| name_lookup | Boolean | true, false | No | |
| name_ | String | No | ||
| rfc1583compatibility | Boolean | true, false | No | |
| router_id | IP | No | ||
| max_ | Class | max_ | No | |
| areas | List | areas | No | |
| redistributions | List | redistributions | No | |
| vrfs | List | vrfs | No |
ospf (nxos.devices.configuration.interfaces.loopbacks)
Section titled “ospf (nxos.devices.configuration.interfaces.loopbacks)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| process | String | Yes | ||
| advertise_ | Boolean | true, false | No | |
| advertise_ | Boolean | true, false | No | |
| area | Any | IP or Integer[min: 0, max: 4294967295] | No | |
| bfd | Boolean | true, false | No | |
| cost | Integer | min: 0, max: 65535 | No | |
| dead_interval | Integer | min: 0, max: 65535 | No | |
| hello_interval | Integer | min: 0, max: 65535 | No | |
| mtu_ignore | Boolean | true, false | No | |
| network | Choice | point-to-point, broadcast | No | |
| prefix_ | Choice | unspecified, clear | No | |
| passive_ | Boolean | true, false | No | |
| priority | Integer | min: 0, max: 255 | No | |
| retransmit_ | Integer | min: 1, max: 65535 | No | |
| transmit_delay | Integer | min: 1, max: 450 | No | |
| authentication_ | String | No | ||
| message_ | Integer | min: 0, max: 255 | No | |
| authentication_ | Boolean | true, false | No | |
| authentication_ | String | No | ||
| message_ | String | No | ||
| message_ | Boolean | true, false | No | |
| authentication | Choice | simple, md5, none | No |
max_metric_router_lsa (nxos.devices.configuration.routing.ospf_processes)
Section titled “max_metric_router_lsa (nxos.devices.configuration.routing.ospf_processes)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| on_ | String | No | ||
| external_lsa | Boolean | true, false | No | |
| external_ | Integer | min: 0, max: 16777215 | No | |
| include_stub | Boolean | true, false | No | |
| summary_lsa | Boolean | true, false | No | |
| summary_ | Integer | min: 0, max: 16777215 | No | |
| on_startup | Boolean | true, false | No | |
| on_ | Integer | min: 0, max: 4294967295 | No |
areas (nxos.devices.configuration.routing.ospf_processes)
Section titled “areas (nxos.devices.configuration.routing.ospf_processes)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| id | Any | IP or Integer[min: 0, max: 4294967295] | Yes | |
| authentication | Choice | simple, message-digest | No | |
| default_cost | Integer | min: 0, max: 16777215 | No | |
| nssa_ | Boolean | true, false | No | |
| no_summary | Boolean | true, false | No | |
| nssa_ | Choice | always, candidate, never | No | |
| segment_ | Boolean | true, false | No | |
| nssa_ | Boolean | true, false | No | |
| type | Choice | regular, stub, nssa | No | |
| ranges | List | ranges | No |
areas (nxos.devices.configuration.routing.ospf_processes)
Section titled “areas (nxos.devices.configuration.routing.ospf_processes)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| id | Any | IP or Integer[min: 0, max: 4294967295] | Yes | |
| authentication | Choice | simple, message-digest | No | |
| default_cost | Integer | min: 0, max: 16777215 | No | |
| nssa_ | Boolean | true, false | No | |
| no_summary | Boolean | true, false | No | |
| nssa_ | Choice | always, candidate, never | No | |
| segment_ | Boolean | true, false | No | |
| nssa_ | Boolean | true, false | No | |
| type | Choice | regular, stub, nssa | No |
redistributions (nxos.devices.configuration.routing.ospf_processes)
Section titled “redistributions (nxos.devices.configuration.routing.ospf_processes)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| protocol | Choice | static, direct, bgp, isis, ospf, ospfv3, eigrp, host, rip, amt, lisp, hmm, am, dhcpv6, icmpv6 | Yes | |
| protocol_ | String | No | ||
| asn | Any | String or Integer[min: 0, max: 4294967295] | No | |
| route_map | String | No |
summary_addresses (nxos.devices.configuration.routing.ospf_processes)
Section titled “summary_addresses (nxos.devices.configuration.routing.ospf_processes)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| prefix | IP | Yes | ||
| not_advertise | Boolean | true, false | No | |
| tag | Integer | min: 0, max: 4294967295 | No |
vrfs (nxos.devices.configuration.routing.ospf_processes)
Section titled “vrfs (nxos.devices.configuration.routing.ospf_processes)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| vrf | String | Yes | ||
| shutdown | Boolean | true, false | No | |
| auto_ | Integer | min: 0, max: 4294967295 | No | |
| auto_ | Choice | mbps, gbps | No | |
| bfd | Boolean | true, false | No | |
| capability_ | Choice | l3vpn, evpn | No | |
| default_metric | Integer | min: 0, max: 16777214 | No | |
| passive_ | Boolean | true, false | No | |
| default_ | Boolean | true, false | No | |
| discard_ | Boolean | true, false | No | |
| discard_ | Boolean | true, false | No | |
| distance | Integer | min: 1, max: 255 | No | |
| down_bit_ignore | Boolean | true, false | No | |
| log_ | Choice | none, brief, detail | No | |
| maximum_paths | Integer | min: 1, max: 64 | No | |
| name_lookup | Boolean | true, false | No | |
| name_ | String | No | ||
| rfc1583compatibility | Boolean | true, false | No | |
| router_id | IP | No | ||
| default_ | Boolean | true, false | No | |
| default_ | Boolean | true, false | No | |
| default_ | String | No | ||
| graceful_ | Boolean | true, false | No | |
| graceful_ | Integer | min: 5, max: 1800 | No | |
| graceful_ | Boolean | true, false | No | |
| graceful_ | Boolean | true, false | No | |
| timers_ | Integer | min: 1, max: 600000 | No | |
| timers_ | Integer | min: 1, max: 600000 | No | |
| timers_ | Integer | min: 1, max: 600000 | No | |
| timers_ | Integer | min: 0, max: 5000 | No | |
| timers_ | Integer | min: 50, max: 30000 | No | |
| timers_ | Integer | min: 50, max: 30000 | No | |
| timers_ | Integer | min: 10, max: 600000 | No | |
| timers_ | Integer | min: 1, max: 1800 | No | |
| max_ | Class | max_ | No | |
| areas | List | areas | No | |
| redistributions | List | redistributions | No | |
| summary_ | List | summary_ | No |
vrfs (nxos.devices.configuration.routing.ospf_processes)
Section titled “vrfs (nxos.devices.configuration.routing.ospf_processes)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| vrf | String | Yes | ||
| shutdown | Boolean | true, false | No | |
| auto_ | Integer | min: 0, max: 4294967295 | No | |
| auto_ | Choice | mbps, gbps | No | |
| bfd | Boolean | true, false | No | |
| capability_ | Choice | l3vpn, evpn | No | |
| default_metric | Integer | min: 0, max: 16777214 | No | |
| passive_ | Boolean | true, false | No | |
| default_ | Boolean | true, false | No | |
| discard_ | Boolean | true, false | No | |
| discard_ | Boolean | true, false | No | |
| distance | Integer | min: 1, max: 255 | No | |
| down_bit_ignore | Boolean | true, false | No | |
| log_ | Choice | none, brief, detail | No | |
| maximum_paths | Integer | min: 1, max: 64 | No | |
| name_lookup | Boolean | true, false | No | |
| name_ | String | No | ||
| rfc1583compatibility | Boolean | true, false | No | |
| router_id | IP | No | ||
| max_ | Class | max_ | No | |
| areas | List | areas | No | |
| redistributions | List | redistributions | No |
ranges (nxos.devices.configuration.routing.ospf_processes.areas)
Section titled “ranges (nxos.devices.configuration.routing.ospf_processes.areas)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| prefix | IP | Yes | ||
| not_advertise | Boolean | true, false | No | |
| cost | Integer | min: 0, max: 16777215 | No |
Examples
Section titled “Examples”Example 1: Basic OSPF underlay for spine-leaf fabric with loopback and P2P links
nxos: devices: - name: LEAF1 configuration: routing: ospf_processes: - name: "1" router_id: 10.1.100.3 areas: - id: 0.0.0.0 interfaces: loopbacks: - id: 0 ospf: process: "1" area: 0.0.0.0 - id: 1 ospf: process: "1" area: 0.0.0.0 ethernets: - id: 1/1 ospf: process: "1" area: 0.0.0.0 network: point-to-point - id: 1/2 ospf: process: "1" area: 0.0.0.0 network: point-to-pointExample 2: OSPF with BFD, tuned timers, and passive interfaces
nxos: devices: - name: SPINE1 configuration: routing: ospf_processes: - name: "1" router_id: 10.1.100.1 bfd: true log_adjacency_changes: detail areas: - id: 0.0.0.0 interfaces: loopbacks: - id: 0 ospf: process: "1" area: 0.0.0.0 - id: 100 ospf: process: "1" area: 0.0.0.0 ethernets: - id: 1/1 ospf: process: "1" area: 0.0.0.0 network: point-to-point hello_interval: 3 dead_interval: 12 - id: 1/2 ospf: process: "1" area: 0.0.0.0 network: point-to-point hello_interval: 3 dead_interval: 12Example 3: Multi-area OSPF with stub area and max-metric for maintenance
nxos: devices: - name: BORDER-LEAF1 configuration: routing: ospf_processes: - name: "1" router_id: 10.1.100.3 log_adjacency_changes: brief maximum_paths: 8 rfc1583compatibility: false max_metric_router_lsa: on_startup: true on_startup_timeout: 600 external_lsa: true summary_lsa: true areas: - id: 0.0.0.0 - id: 0.0.0.10 type: stub default_cost: 10 no_summary: trueExample 4: OSPF in a VRF with passive-interface default and interface overrides
nxos: devices: - name: LEAF1 configuration: routing: ospf_processes: - name: "1" router_id: 10.1.100.3 areas: - id: 0.0.0.0 - name: "100" vrfs: - vrf: BLUE router_id: 10.1.100.3 passive_interface_default: true auto_cost_reference_bandwidth: 100 auto_cost_reference_bandwidth_unit: gbps areas: - id: 0.0.0.0 interfaces: vlans: - id: 1010 vrf: BLUE ospf: process: "100" area: 0.0.0.0 passive_interface: falseExample 5: OSPF with route redistribution
nxos: devices: - name: BORDER1 configuration: routing: ospf_processes: - name: "1" router_id: 10.1.100.5 areas: - id: 0.0.0.0 redistributions: - protocol: static route_map: STATIC_TO_OSPF - protocol: direct route_map: DIRECT_TO_OSPF - protocol: bgp asn: "65000" route_map: BGP_TO_OSPFExample 6: OSPF in VRF with redistributions
nxos: devices: - name: LEAF1 configuration: routing: ospf_processes: - name: "100" vrfs: - vrf: TENANT_A router_id: 10.1.100.3 areas: - id: 0.0.0.0 redistributions: - protocol: direct route_map: DIRECT_TO_OSPF - protocol: bgp asn: "65001" route_map: BGP_TO_OSPF_VRFExample 7: OSPF with SPF/LSA throttling, graceful restart, default route origination, and summarization
nxos: devices: - name: BORDER1 configuration: routing: ospf_processes: - name: "1" router_id: 10.1.100.5 default_information_originate: true default_information_originate_always: true default_information_originate_route_map: DEFAULT_TO_OSPF graceful_restart: true graceful_restart_planned_only: true graceful_restart_grace_period: 120 timers_throttle_spf_start_time: 50 timers_throttle_spf_hold_time: 100 timers_throttle_spf_max_time: 5000 timers_throttle_lsa_start_time: 50 timers_throttle_lsa_hold_time: 100 timers_throttle_lsa_max_time: 5000 timers_lsa_arrival: 100 timers_lsa_group_pacing: 20 areas: - id: 0.0.0.0 - id: 0.0.0.10 ranges: - prefix: 10.10.0.0/16 cost: 10 - prefix: 10.11.0.0/16 not_advertise: true summary_addresses: - prefix: 172.16.0.0/12 tag: 100 - prefix: 192.168.0.0/16 not_advertise: trueExample 8: Point-to-point fabric uplink with OSPF key chain authentication
nxos: devices: - name: BORDER-LEAF1 configuration: feature: ospf: true key_chains: - name: OSPF-UNDERLAY-AUTH keys: - id: 1 key_string: OspfKey1 routing: ospf_processes: - name: "1" areas: - id: 0.0.0.0 interfaces: ethernets: - id: 1/48 switchport: enabled: false ip: address: 10.1.10.0/31 ospf: process: "1" area: 0.0.0.0 network: point-to-point authentication: md5 authentication_key_chain: OSPF-UNDERLAY-AUTHExamples
Section titled “Examples”Example 1: Basic OSPF underlay for spine-leaf fabric with loopback and P2P links
nxos: devices: - name: LEAF1 configuration: routing: ospf_processes: - name: "1" router_id: 10.1.100.3 areas: - id: 0.0.0.0 interfaces: loopbacks: - id: 0 ospf: process: "1" area: 0.0.0.0 - id: 1 ospf: process: "1" area: 0.0.0.0 ethernets: - id: 1/1 ospf: process: "1" area: 0.0.0.0 network: p2p - id: 1/2 ospf: process: "1" area: 0.0.0.0 network: p2pExample 2: OSPF with BFD, tuned timers, and passive interfaces
nxos: devices: - name: SPINE1 configuration: routing: ospf_processes: - name: "1" router_id: 10.1.100.1 bfd: true log_adjacency_changes: detail areas: - id: 0.0.0.0 interfaces: loopbacks: - id: 0 ospf: process: "1" area: 0.0.0.0 - id: 100 ospf: process: "1" area: 0.0.0.0 ethernets: - id: 1/1 ospf: process: "1" area: 0.0.0.0 network: p2p hello_interval: 3 dead_interval: 12 - id: 1/2 ospf: process: "1" area: 0.0.0.0 network: p2p hello_interval: 3 dead_interval: 12Example 3: Multi-area OSPF with stub area and max-metric for maintenance
nxos: devices: - name: BORDER-LEAF1 configuration: routing: ospf_processes: - name: "1" router_id: 10.1.100.3 log_adjacency_changes: brief maximum_paths: 8 rfc1583compatibility: false max_metric_router_lsa: on_startup: true on_startup_timeout: 600 external_lsa: true summary_lsa: true areas: - id: 0.0.0.0 - id: 0.0.0.10 type: stub default_cost: 10 no_summary: trueExample 4: OSPF in a VRF with passive-interface default and interface overrides
nxos: devices: - name: LEAF1 configuration: routing: ospf_processes: - name: "1" router_id: 10.1.100.3 areas: - id: 0.0.0.0 - name: "100" vrfs: - vrf: BLUE router_id: 10.1.100.3 passive_interface_default: true auto_cost_reference_bandwidth: 100 auto_cost_reference_bandwidth_unit: gbps areas: - id: 0.0.0.0 interfaces: vlans: - id: 1010 vrf: BLUE ospf: process: "100" area: 0.0.0.0 passive_interface: disabledExample 5: OSPF with route redistribution
nxos: devices: - name: BORDER1 configuration: routing: ospf_processes: - name: "1" router_id: 10.1.100.5 areas: - id: 0.0.0.0 redistributions: - protocol: static route_map: STATIC_TO_OSPF - protocol: direct route_map: DIRECT_TO_OSPF - protocol: bgp asn: "65000" route_map: BGP_TO_OSPFExample 6: OSPF in VRF with redistributions
nxos: devices: - name: LEAF1 configuration: routing: ospf_processes: - name: "100" vrfs: - vrf: TENANT_A router_id: 10.1.100.3 areas: - id: 0.0.0.0 redistributions: - protocol: direct route_map: DIRECT_TO_OSPF - protocol: bgp asn: "65001" route_map: BGP_TO_OSPF_VRF