Routing Protocols
This page is the routing overview for protocol families that either have their own deep dive or are implemented as a deterministic solver. Use it when you want to know whether netverdict can reason about a route outcome, a next-hop choice, a failure gate, or a provider transport scenario.
For detailed BGP, OSPFv2, MPLS, BFD, EIGRP, RIP, RIPng, IS-IS, and OSPFv3 matrices, prefer the individual protocol pages. This overview describes how those pieces compose inside the engine.
Support level
Section titled “Support level”| Area | Level | What this means |
|---|---|---|
| IPv4 static routing | Supported | Connected, static, recursive lookup, administrative distance, interface next-hop, and VRF-aware route installation. |
| IPv6 static routing | Supported | IPv6 next-hop and egress-interface forms participate in deterministic forwarding. |
| OSPFv2 | Supported | See OSPFv2 for full protocol and vendor-command coverage. |
| OSPFv3 | Behaviour model | IPv6 SPF route computation, router ID, interface-to-area binding, and show-command surfaces. |
| BGP-4 / MP-BGP | Supported | See BGP-4 for best-path, policy, VPNv4, reflection, and confederation coverage. |
| EIGRP | Behaviour model | Network statements, passive interfaces, stub intent, and deterministic route outcomes for lab topologies. |
| RIPv2 | Behaviour model | Network activation, passive interfaces, route metrics, and no-auto-summary-style behaviour. |
| RIPng | Behaviour model | IPv6 RIP-style reachability and hop-count route choice. |
| IS-IS | Behaviour model | Basic level routing solver and config surface. Advanced TE and auth are intentionally omitted. |
| BFD | Supported | BFD session state can gate OSPF and BGP adjacency/session state. |
| VRF / VRF-lite | Supported | Per-device VRFs, interface binding, per-VRF RIBs, and route leaking where supported by policy/L3VPN paths. |
| MPLS dataplane | Supported | Label push, swap, pop, PHP, TTL uniform/pipe handling, and labelled forwarding. |
| LDP | Supported | Discovery, neighbour state, label mapping, liberal retention, and IGP-prefix label distribution. |
| L3VPN | Supported | VRF, RD, RT import/export, MP-BGP VPNv4, PE/CE-style scenarios, and provider-cloud abstractions. |
| Segment Routing / EVPN | Not modelled | Planned separately from the current MPLS/L3VPN engine. |
Standards coverage
Section titled “Standards coverage”| Standard | Coverage | Notes |
|---|---|---|
| RFC 791 / RFC 8200 | Behaviour model | IPv4 and IPv6 forwarding outcomes, longest-prefix match, and next-hop resolution. |
| RFC 2328 | Supported | OSPFv2 is covered on the OSPFv2 page. |
| RFC 5340 | Behaviour model | OSPFv3-style IPv6 routing with interface-to-area bindings. |
| RFC 4271 | Supported | BGP-4 is covered on the BGP-4 page. |
| RFC 4364 | Supported | BGP/MPLS IP VPNs: RD, RT import/export, VPNv4 route projection, and labelled VPN forwarding. |
| RFC 7868 | Behaviour model | EIGRP route calculation subset for deterministic labs. |
| RFC 2453 | Behaviour model | RIPv2 distance-vector semantics and hop-count route selection. |
| RFC 2080 | Behaviour model | RIPng route selection for IPv6 reachability. |
| ISO 10589 style | Behaviour model | IS-IS level and route calculation concepts, not a full LSP database emulator. |
| RFC 5880 | Supported | BFD state machine outcome used as an upper-layer gate. |
| RFC 3031 | Supported | MPLS label stack forwarding semantics. |
| RFC 5036 | Supported | LDP discovery, neighbour state, and label mapping behaviour. |
Feature matrix
Section titled “Feature matrix”| Feature | Status | Notes |
|---|---|---|
| Connected route installation | Supported | Interface addresses produce connected and local routes. |
| Longest-prefix match | Supported | IPv4 and IPv6 FIB lookups choose the most specific reachable route. |
| Recursive next-hop lookup | Supported | Static and dynamic routes can resolve through another route when reachable. |
| Administrative distance | Supported | Static, connected, BGP, OSPF, RIP, and other routes compare by configured/default distance. |
| Floating static routes | Supported | Higher-distance static routes can act as deterministic backups. |
| Interface static routes | Supported | Egress-interface routes participate in lookup and packet forwarding. |
| Null routes | Supported | Blackhole/discard intent is represented for route outcome checks. |
| IPv6 static routes | Supported | Prefix/next-hop and egress-interface forms are supported. |
| Per-VRF RIBs | Supported | Interface VRF assignment scopes connected, static, and VPN-imported routes. |
| Route redistribution | Partial | Supported where individual protocols expose route-map/policy hooks. |
| OSPFv3 SPF | Behaviour model | IPv6 route computation with stable deterministic tie-breaks. |
| EIGRP route choice | Behaviour model | Feasible-distance style lab outcomes without a full DUAL event replay. |
| RIPv2 / RIPng metrics | Behaviour model | Hop-count metrics and unreachable suppression. |
| IS-IS route choice | Behaviour model | Stable solver for common level-1/level-2 lab cases. |
| BFD gating | Supported | A down BFD session can hold dependent BGP/OSPF state down. |
| LDP labels | Supported | IGP prefixes receive transport labels for MPLS forwarding. |
| PHP | Supported | Penultimate-hop popping is represented in labelled forwarding. |
| L3VPN route projection | Supported | VPNv4 routes import into matching VRFs based on route targets. |
| Provider MPLS cloud | Behaviour model | Black-box provider PoPs carry customer VPN routes by RT match. |
| ECMP | Behaviour model | Equal-cost outcomes are stable and deterministic where supported by the runtime. |
Vendor command matrix
Section titled “Vendor command matrix”| Command | IOS-style | Junos-style | VyOS-style | Notes |
|---|---|---|---|---|
ip route 192.0.2.0 255.255.255.0 10.0.0.2 | Supported | Supported | Supported | Static IPv4 route. |
ip route 192.0.2.0 255.255.255.0 GigabitEthernet0/1 | Supported | Partial | Partial | Egress-interface static route. |
ipv6 route 2001:db8:20::/64 2001:db8:12::2 | Supported | Supported | Supported | Static IPv6 route. |
ip route vrf BLUE 10.10.0.0 255.255.0.0 10.0.0.2 | Supported | Partial | Partial | VRF-scoped static route. |
ip vrf BLUE / vrf definition BLUE | Supported | Partial | Supported | Canonical VRF object creation. |
ip forwarding / ipv6 unicast-routing | Supported | n/a | Supported | Routing enablement intent. |
router ospf 1 | Supported | n/a | Supported | OSPFv2 process; see OSPF page. |
ipv6 router ospf 1 | Supported | n/a | Partial | OSPFv3 process. |
router eigrp 100 | Supported | n/a | Partial | EIGRP behaviour model. |
router rip | Supported | n/a | Partial | RIPv2 behaviour model. |
ipv6 rip NAME enable | Supported | n/a | Partial | RIPng interface activation. |
router isis CORE | Supported | Partial | Partial | IS-IS behaviour model. |
bfd interval 50 min_rx 50 multiplier 3 | Supported | Partial | Partial | BFD timer intent. |
mpls ip | Supported | n/a | Partial | MPLS forwarding enablement. |
mpls ldp router-id Loopback0 force | Supported | Partial | Partial | LDP router ID. |
route-target import/export | Supported | Supported | Partial | L3VPN RT policy. |
set routing-options static route ... next-hop ... | n/a | Supported | n/a | Junos static route import. |
set protocols static route ... next-hop ... | n/a | n/a | Supported | VyOS static route import. |
show ip route | Supported | Vendor-shaped view | Vendor-shaped view | IPv4 RIB/FIB view. |
show ipv6 route | Supported | Vendor-shaped view | Vendor-shaped view | IPv6 RIB/FIB view. |
show ip route vrf BLUE | Supported | Partial | Partial | VRF RIB view. |
show mpls forwarding-table | Supported | Partial | Partial | Label forwarding table. |
show mpls ldp neighbor | Supported | Partial | Partial | LDP neighbour state. |
Behaviour notes
Section titled “Behaviour notes”Routing state is recomputed as deterministic engine state, not as a wall-clock router process. That makes labs, shared URLs, and bug reports replayable: the same topology and command stream produce the same RIB and forwarding outcome.
Static and dynamic routes meet in the same canonical RIB. The engine applies longest-prefix match first, then route preference such as administrative distance and protocol-specific tie-breaks. When two routes remain equivalent, netverdict uses stable deterministic ordering so examples do not drift between runs.
The routing overview intentionally separates outcome fidelity from packet fidelity. OSPFv2 and BGP expose deeper protocol state. EIGRP, RIP, RIPng, OSPFv3, and IS-IS are primarily route-outcome models: strong enough for labs and reachability reasoning, but not intended to replay every adjacency timer or database flood.
MPLS and L3VPN are modelled through the forwarding and VPN route projection that users normally need to verify: labels, PHP, VRF import/export, and provider cloud reachability. Segment Routing and EVPN are outside this model today.
Examples
Section titled “Examples”Floating static failover
configure terminalip route 203.0.113.0 255.255.255.0 10.0.12.2ip route 203.0.113.0 255.255.255.0 10.0.13.3 250endshow ip route 203.0.113.0Vendor styles
IOS-style
ip route 203.0.113.0 255.255.255.0 10.0.12.2ip route 203.0.113.0 255.255.255.0 10.0.13.3 250show ip route 203.0.113.0Junos-style
set routing-options static route 203.0.113.0/24 next-hop 10.0.12.2set routing-options static route 203.0.113.0/24 qualified-next-hop 10.0.13.3 preference 250show route 203.0.113.0/24VyOS-style
set protocols static route 203.0.113.0/24 next-hop 10.0.12.2 distance 1set protocols static route 203.0.113.0/24 next-hop 10.0.13.3 distance 250show ip route 203.0.113.0/24OSPFv3 interface binding
configure terminalipv6 unicast-routingipv6 router ospf 1 router-id 1.1.1.1interface GigabitEthernet0/0 ipv6 ospf 1 area 0endshow ipv6 ospf neighborshow ipv6 route ospfMPLS transport with LDP
configure terminalmpls ipinterface GigabitEthernet0/0 mpls iprouter ospf 1 network 10.0.0.0 0.0.0.255 area 0mpls ldp router-id Loopback0 forceendshow mpls ldp neighborshow mpls forwarding-tableKnown limits
Section titled “Known limits”EIGRP and IS-IS are deterministic route solvers, not complete protocol finite state machines. They are useful for route-outcome labs, but do not model every DUAL transition, LSP flooding behaviour, authentication mode, mesh group, or traffic-engineering extension.
OSPFv3 support is focused on IPv6 routing outcomes and show-command state. It does not yet have the same page-level depth as OSPFv2.
MPLS/LDP focuses on classic transport LSPs and L3VPN. Segment Routing, EVPN, SR-MPLS, RSVP-TE, and pseudowires are not modelled today.