IPv4 and IPv6
IPv4 and IPv6 are the base forwarding models used by the rest of the engine. They provide deterministic route lookup, connected and static routes, recursive next-hop resolution, TTL / hop-limit handling, and VRF-aware forwarding.
Support level
Section titled “Support level”| Area | Level | Notes |
|---|---|---|
| IPv4 forwarding | Supported | Longest-prefix match, connected routes, static routes, administrative distance, TTL decrement. |
| IPv6 forwarding | Supported | IPv6 RIB, static routes, hop-limit decrement, connected prefixes. |
| VRF-aware lookup | Supported | Per-VRF route tables and interface binding for routed scenarios. |
| Recursive next hop | Supported | Static and protocol routes can resolve through another route. |
| Fragmentation / PMTUD | Partial | Packet size checks exist; full vendor fragmentation behaviour is not the goal. |
| Transport stack | Behaviour model | TCP and UDP handlers support higher-level protocol tests, not a full socket stack. |
Standards coverage
Section titled “Standards coverage”| Standard | Coverage | Notes |
|---|---|---|
| RFC 791 | Behaviour model | IPv4 addressing, TTL, forwarding, protocol demux, and route lookup semantics. |
| RFC 8200 | Behaviour model | IPv6 forwarding, hop limit, next-header handling, and address semantics. |
| RFC 1812 | Partial | Router behaviour relevant to forwarding, ICMP errors, and TTL expiry. |
| RFC 2784 | Supported | GRE-over-IPv4 tunnel forwarding is covered on the IPsec / GRE page. |
Feature matrix
Section titled “Feature matrix”| Feature | Status | Notes |
|---|---|---|
| Connected routes | Supported | Installed from interface addresses. |
| Static routes | Supported | Prefix, next-hop, egress-interface, distance, and VRF forms. |
| Default route | Supported | IPv4 0.0.0.0/0 and IPv6 ::/0. |
| Longest-prefix match | Supported | Stable lookup order with distance and metric tie-breaks. |
| Recursive lookup | Supported | Next-hop reachability is resolved through the RIB. |
| Null / discard route | Partial | Accepted in config surfaces where implemented; runtime behaviour is simplified. |
| TTL / hop-limit expiry | Supported | Produces deterministic ICMP-style failure for diagnostics. |
| DSCP preservation | Supported | QoS may mark DSCP; forwarding carries the packet metadata. |
| VRF leaking | Config model | Route-target and route-policy-driven leaking is handled in BGP/MPLS scenarios. |
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.1 | Supported | n/a | Supported | Canonical IPv4 static route. |
ipv6 route 2001:db8::/64 2001:db8:1::1 | Supported | n/a | Supported | Canonical IPv6 static route. |
ip route vrf BLUE ... | Supported | Partial | Partial | Per-VRF static routes. |
show ip route | Supported | Vendor-shaped view | Vendor-shaped view | IPv4 RIB. |
show ipv6 route | Supported | Vendor-shaped view | Vendor-shaped view | IPv6 RIB. |
Behaviour notes
Section titled “Behaviour notes”Forwarding is replay-oriented. A route lookup is a pure function of packet metadata, interface state, and the current RIB snapshot. Equal candidates use stable ordering so two runs of the same topology do not drift.
The IP layer does not try to emulate every ASIC, CEF, kernel, or vendor FIB quirk. It gives routing protocols a deterministic substrate and gives labs a clear answer about reachability.
Examples
Section titled “Examples”Canonical example
configure terminalinterface GigabitEthernet0/0 ip address 10.0.12.1 255.255.255.252 ipv6 address 2001:db8:12::1/64ip route 192.0.2.0 255.255.255.0 10.0.12.2ipv6 route 2001:db8:200::/64 2001:db8:12::2endshow ip routeshow ipv6 routeVendor styles
IOS-style
ip route 192.0.2.0 255.255.255.0 10.0.12.2ipv6 route 2001:db8:200::/64 2001:db8:12::2show ip routeJunos-style
set routing-options static route 192.0.2.0/24 next-hop 10.0.12.2set routing-options rib inet6.0 static route 2001:db8:200::/64 next-hop 2001:db8:12::2show route protocol staticVyOS-style
set protocols static route 192.0.2.0/24 next-hop 10.0.12.2set protocols static route6 2001:db8:200::/64 next-hop 2001:db8:12::2show ip routeKnown limits
Section titled “Known limits”Full TCP congestion behaviour, kernel socket APIs, hardware ECMP hashing, fragment reassembly corner cases, and vendor CEF adjacency internals are not modelled.