Introduction
This document describes the expected behavior of Cisco IOS-XE SDWAN software that is different from the Cisco IOS-XE with respect to default route installation into the routing table.
Problem: Default Route Is Not Present In The Routing Table
The default route is not presented in the routing and forwarding tables, although it was configured properly and is seen in both show runnning-config and show sdwan runnning-config
Router#sh run | i ip route 0\.0\.0\.0
ip route 0.0.0.0 0.0.0.0 192.168.10.10
Router#sh sdwan run | i ip route 0\.0\.0\.0
ip route 0.0.0.0 0.0.0.0 192.168.10.10
At the same time you can not see the route in the routing and forwarding tables:
Router#sh ip ro | b Gateway
Gateway of last resort is not set
192.168.9.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.9.0/24 is directly connected, GigabitEthernet0/0/0
L 192.168.9.254/32 is directly connected, GigabitEthernet0/0/0
192.168.10.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.10.0/24 is directly connected, GigabitEthernet0/0/1
L 192.168.10.254/32 is directly connected, GigabitEthernet0/0/1
Router#sh ip cef 0.0.0.0/0
0.0.0.0/0
no route
Troubleshoot
You can try to debug ip routing and debug ip cef eventsin order to understand the reason why this route is not installed:
*Dec 22 10:34:43.706: RT: updating static 0.0.0.0/0 (0x0) [local lbl/ctx:1048577/0x0] omp-tag:0 :
via 192.168.10.10 0 1048578 0x100001
*Dec 22 10:34:43.707: RT: add 0.0.0.0/0 via 192.168.10.10, static metric [1/0]
*Dec 22 10:34:43.707: RT: default path is now 0.0.0.0 via 192.168.10.10
*Dec 22 10:34:43.997: RT: del 0.0.0.0 via 192.168.10.10, static metric [1/0]
*Dec 22 10:34:43.997: RT: delete network route to 0.0.0.0/0
*Dec 22 10:34:43.997: RT: default path has been cleared
*Dec 22 10:34:43.713: %DMI-5-CONFIG_I: R0/0: nesd: Configured from NETCONF/RESTCONF by admin, transaction-id 2086
However, the output doesn't explain the reason why the default route is not installed to the routing table.
If next-hop reachability is checked, you can see that next-hop is unreachable:
Router#ping 192.168.10.10
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.10.10, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
And ARP resolution does not work as well:
Router#sh arp 192.168.10.10
Protocol Address Age (min) Hardware Addr Type Interface
Internet 192.168.10.10 0 Incomplete ARPA
Hence, it is concluded that the default gateway is not reachable.
Also in some cases, it is noticeable that there is no input packets on the interface and can be additional evidence of the problem:
GigabitEthernet0/0/1 is up, line protocol is up
Hardware is BUILT-IN-2T+6X1GE, address is a8b4.5639.4e84 (bia a8b4.5639.4e84)
Internet address is 192.168.10.254/24
MTU 1500 bytes, BW 100000 Kbit/sec, DLY 100 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA, loopback not set
Keepalive not supported
Full Duplex, 100Mbps, link type is auto, media type is T
output flow-control is on, input flow-control is on
ARP type: ARPA, ARP Timeout 04:00:00
Last input never, output 00:00:07, output hang never
Last clearing of "show interface" counters never
Input queue: 0/375/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: fifo
Output queue: 0/40 (size/max)
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
0 packets input, 0 bytes, 0 no buffer
Received 0 broadcasts (0 IP multicasts)
0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
0 watchdog, 0 multicast, 0 pause input
Solution
Cisco IOS-XE SDWAN software use the same feature that is implemented on Viptela vEdge routers and called track-default-gateway
This feature is similar to ip sla and object tracking functionality that is used on Cisco IOS to configure reliable static routing backup.
By default this feature is enabled and can not be seen in the corresponding show sdwan running-config system output:
Router#show sdwan running-config system | i track-default-gateway
Router#
Please see more information about this feature here: https://sdwan-docs.cisco.com/Product_Documentation/Command_Reference/Configuration_Commands/track-default-gateway
With gateway tracking enabled, the software sends ARP messages every 10 seconds to the next hop of a static route. If the software receives an ARP response, it places the static route into the local route table. After 10 consecutive ARP responses are missed, the static route is removed from the route table. The software continues to periodically send ARP messages, and as soon as it once again receives an ARP response, the static route is added back to the route table.