What is the Purpose of This Test

Route Table Dump command lists the complete Routing table in IPv4.

When Can You Run This Test

Run this test to verify the Route in the FIB table of IPv4. You can run the test by specifying any of the following options:
  • Segment - Select the segment for which routes must be displayed. Select "all" for all segments.
  • Prefix - Specify a particular prefix for which routes must be displayed.
  • Routes - Select any of the following options from the drop-down menu:
    • all - Display all the routes for every prefix.
    • preferred - Display the most preferred route alone for every prefix (this is the route being used for data forwarding).
For instructions on how to run a remote diagnostic test on Edges, see Run Remote Diagnostic Tests on Edges.
Note: The Route Table Dump command output has a limit of 16000 routes.

What to Check in the Test Output

Following is an example of the test output:

The Remote Diagnostics output displays the following information:
Field Description
Address Specifies the IPv4 Routes available in the table.
Segment Specifies the segment in which the Routes are available and handled by the Edge.
Netmask Specifies the range of addresses in IPv4.
Type Specifies the Route type, such as Cloud, Edge2Edge, any (Underlay or Connected), and so on.
Cost Specifies the Route Cost or Metric used in selection of Route criteria.
Reachable Specifies the Status of the Route whether it is True for Reachable or False for Not Reachable.
Next Hop Indicates the local exit interface in case of local routes. In case of overlay/remote routes, it indicates the type of next hop. For example, "Cloud gateway" in case of cloud routes, "Cloud VPN" in case of datacenter, or "edge to edge" routes etc.,
Next Hop Name Specifies the name of the next hop device.
Destination Name Specifies the name of the destination device.
Lost Reason Specifies the code for the reason why a route loses the routing preference calculation logic to the next preferred route, on both Edges and Gateways.
(Not) Reachable Reason Specifies the reason for the route being reachable or not reachable.
Note: An unresolved route, learnt over multi-hop BGP, might point to an intermediate interface.
The following table lists the reason codes for an Edge and the corresponding descriptions:
Reason Code Description
PR_UNREACHABLE In case of overlay routes, the remote peer, which is either Gateway or Edge, is not reachable.
IF_DOWN Egress Interface is down.
INVALID_IFIDX Egress Interface if-index for this route is invalid.
SLA_STATE_DOWN State given by IP SLA tracking is down.
HA_STANDBY When the local Edge is a Standby, all routes synced from the active are marked as reachable for operational convenience.
LOCAL_MGMT Management routes are always reachable.
LOOPBACK Loopback IP address is always reachable.
SELF_ROUTE Self IP routes are always reachable.
RECUR_UNRES Recursive routes are marked as reachable so that recursive resolution can be done for operational convenience.
VPN_VIA_NAT vpnViaNat routes are always reachable.
SLA_STATE_UP State given by IP SLA tracking is up.
IF_RESOLVED Egress interface is up and resolved.
PR_REACHABLE In case of overlay routes, the remote peer, which is either Gateway or Edge, is reachable.
LR_NO_ELECTION Best route.
LR_NP_SWAN_VS_VELO Predecessor is selected because it is a non-preferred static WAN route (route configured with preferred flag set to false) when compared to the current route which is a via velocloud route.
LR_NP_SWAN_VS_DEFRT Predecessor is selected because it is a non-preferred static WAN route when compared to the current route which is default route.
LR_NP_ROUTE_TYPE Predecessor is selected because its route type is better when compared to the current route. Also, one of the routes being compared is a non-preferred route in this case.
LR_BGP_LOCAL_PREF Both routes are learnt using BGP. The predecessor is selected because it has a higher local preference than the current route.
LR_BGP_ASPATH_LEN Both routes are learnt using BGP. Predecessor is selected because it has a lower AS path value than the current route.
LR_BGP_METRIC Both routes are learnt using BGP. Predecessor is selected because it has a lower metric value than the current route.
LR_EXT_OSPF_INTER Predecessor is selected because it is a route learnt from OSPF with an inter or intra area metric when compared to the current route which is learnt from BGP.
LR_EXT_BGP_RT Predecessor is selected because it is a route learnt from BGP when compared to the current route which is a route learn from OSPF with metric type OE1 or OE2.
LR_EXT_METRIC_TYPE

Both routes are OSPF routes. The predecessor is selected because it has a better metric type than the current route.

Order of preference for OSPF metric types: OSPF_TYPE_INTRA, OSPF_TYPE_INTER, OSPF_TYPE_OE1, OSPF_TYPE_OE2.

LR_EXT_METRIC_VAL Both routes are OSPF routes. The predecessor is selected because it has a lesser metric than the current route.
LR_EXT_NH_IP Both routes are OSPF ECMP routes. The current route is lost to the predecessor since it was learnt later.
LR_PG_BGP_ORDER Both are remote BGP routes with same BGP parameters. The current route is selected because it is a Partner Gateway (PG) route and has a lesser "order" value when compared to the current route.
LR_NON_PG_BGP_ORDER Both are remote BGP routes with same BGP parameters. The current route is selected because it is a non-PG route and has a lesser "order" value when compared to the current route.
LR_EXT_ORDER Both are remote OSPF routes with same metric. The predecessor is selected because it has a lesser order value than the current route.
LR_PREFERENCE Both are either BGP or OSPF routes. The predecessor is selected because it has a lesser preference value than the current route.

LR_DCE_NSD_STATIC_PREF

DCE - Data center, NSD - Non-SDWAN site

Both are local NSD static routes. The predecessor is selected because it is a preferred route (preferred flag set to true) when compared to the current which is non-preferred.
LR_DCE_NSD_STATIC_METRIC Both are NSD static routes. The predecessor is selected because it has a lesser metric value than the current route.
LR_DCE_NON_REMOTE Both are NSD static routes. The predecessor is selected because it is a local route (non-remote), and the current route is a remote route.
LR_DCE_NSD_STATIC_REMOTE_ORDER Both are remote NSD static routes. The predecessor is selected because it has a lesser order value when compared to the current route.
LR_DCE_DC_DIRECT Both are NSD static routes. The predecessor is selected because its DC_DIRECT flag is set, and the current route does not have this flag set. This is the route with "n - nonVelocloud" flag set in the debug.py --routes output. These are routes learnt from an NVS from Edge.
LR_DCE_LOGICAL_ID Both are NSD static routes. The predecessor is selected because it has a better logical ID than the current route.
LR_NETMASK

The predecessor is selected because it has a higher netmask than the current.

This will not hit since the netmask is different, it is a separate network/route entry of its own.

LR_NETADDR

The predecessor is selected because it has a higher network address than the current.

This will not hit since the network address is different, it is a separate network/rouute entry of its own.

LR_CONN_FLAG The predecessor is selected because it is a connected route, and the current route is not a connected route.
LR_SELF_FLAG The predecessor is selected because it is a self route, and the current route is not a self-route.
LR_SLAN_FLAG The predecessor is selected because it is a static LAN route, and the current route is not a static LAN route.
LR_SWAN_FLAG The predecessor is selected because it is a static WAN route, and the current route is not a static WAN route.
LR_NSD_STATIC_LOCAL The predecessor is selected because it is a local NSD static route, and the current route is an NSD BGP route.
LR_NSD_BGP_VS_NON_PREF_STATIC The predecessor is selected because it is a NDS BGP route, and the current route is a local NSD static non-preferred route.
LR_NSD_STATIC_PREF_VS_NSD_STATIC The predecessor is selected because it is an NSD static preferred route, and the current route is not an NSD static route.
LR_CONN_STATIC_VS_NSD_BGP The predecessor is selected because it is a remote connected/static route, and the current route is an NSD BGP route.
LR_OPG_SECURE_STATIC The predecessor is selected because it is a PG secure static route, and the current is not.
LR_ROUTED_VS_VELO The predecessor is selected because it is a route learnt from routing protocols when compared the current route which is a "v - ViaVeloCloud" route.
LR_INTF_DEF_VS_ROUTED The predecessor is selected because it is an interface default cloud route when compared to the current route which is a route learnt using routing protocols (local or remote).
LR_ROUTE_TYPE The predecessor is selected because it has a better route than the current.
LR_E2DC_REMOTE The predecessor is selected because it is a, Edge2DC route, and it is a local route and the current route is a remote route.
LR_CONNECTED_LAN Both are connected routes. The predecessor is selected because it is a connected LAN route, and the current route is not a connected LAN route.
LR_VELO_REMOTE_FLAG Both are cloud routes. The predecessor is selected because it is a remote route when compared to the current which is a local cloud route.
LR_VELO_EdgeD_ROUTED Both are cloud routes. The predecessor is selected because it is a route learnt via routing protocol, and the current route is not learnt via routing protocol.
LR_VELO_PG_ROUTE Both are cloud routes. The predecessor is selected because it is a PG route, and the current route is not a PG route.
LR_VIA_VELO_ROUTE Both are cloud routes. The predecessor is selected because it is a via velocloud route, and the current is not a via-velocloud route.
LR_REMOTE_NON_ROUTED Both are remote (overlay) routes. The predecessor is selected because it is a route not learnt via routing protocol (static/connected), and the current route is a route learnt via routing protocol.
LR_REMOTE_DCE_FLAG Both are remote (overlay) routes. The predecessor is selected because it is a data center Edge route ("D - DCE" is set in the debug.py --routes output), and the current is not a data center Edge route.
LR_METRIC The predecessor is selected because it has a lesser metric than the current route.
LR_ORDER The predecessor is selected because it has a lesser order than the current route.
LR_LOGICAL_ID The predecessor is selected because it has a better logical ID than the current route.
LR_EXT_BGP_VIA_PRIMGW Both are BGP routes. The predecessor is selected because it is an NSD BGP route learnt from the primary NSD VCG. The current route might have been learnt from the redundant NDS VCG.
The following table lists the reason codes for a Gateway and the corresponding descriptions:
Reason Code Description
LR_NO_ELECTION Best route.
LR_NVS_STATIC_PREF The predecessor is selected because it is an NVS static route, and the current route is not.
LR_EXT_BGP_VS_OSPF Predecessor is selected because it is a BGP route, and the current route is an OSPF route with metric type OE1/OE2.
LR_EXT_BGP_ROUTE Both are cloud routes. The predecessor is selected because it is a BGP learnt cloud route, and the current route is not (it is static).
LR_CLOUD_ROUTE_VS_ANY

The predecessor is selected because it is an Edge2Edge or Edge2Datacenter route, and the current route is a cloud static route.

Edge2Edge/Edge2Datacenter > Cloud static.

LR_BGP_LOCAL_PREF Both are either Edge2Edge or Edge2Datacenter routes learnt via BGP. The predecessor is selected because it has a greater local preference value than that of the current route.
LR_BGP_ASPATH_LEN Both are either Edge2Edge or Edge2Datacenter routes learnt via BGP. The predecessor is selected because it has a lesser AS path value than that of the current route.
LR_BGP_METRIC Both are either Edge2Edge or Edge2Datacenter routes learnt via BGP. The predecessor is selected because it has a lesser metric value than that of the current route.
LR_DCE_NSD_STATIC_PREF Both are Edge2Datacenter routes. Predecessor is selected because it is an NSD static route, and the current route is not.
LR_DCE_NSD_STATIC_METRIC Both are Edge2Datacenter static routes. Predecessor is selected because it has lesser metric value than that of the current route.
LR_DCE_NSD_STATIC_GW_NON_REMOTE Both are Edge2Datacenter static routes. Predecessor is selected because it is a local route, and the current is a remote route.
LR_DCE_LOGICAL_ID Both are Edge2Datacenter static routes. Predecessor is selected because it has better logical ID than that of the current route.
LR_E2DC_METRIC Both are Edge2Datacenter routes. The predecessor is selected because its metric is lesser than that of the current route.
LR_DC_IPADDR Both are Edge2Datacenter routes. The predecessor is selected because its datacenter IP address is lesser than that of the current route.
LR_E2DC_NETADDR

Both are Edge2Datacenter routes. The predecessor is selected because its network address is lesser than the current.

LR_E2E_PREFERENCE Both are Edge2Edge routes. The predecessor is selected because its preference value is lesser than the current route.
LR_E2E_METRIC Both are Edge2Edge routes. The predecessor is selected because its metric value is lesser than the current route.
LR_E2E_LOGICAL_ID Both are Edge2Edge routes. The predecessor is selected because it has better logical ID than the current route.
LR_E2E_NETADDR Both are Edge2Edge routes. The predecessor is selected because its network address is lesser than the current.
LR_OPG_SECURE_STATIC The predecessor is selected because it is a PG secure static route, and the current route is not a PG secure static.
LR_ROUTE_TYPE The predecessor is selected because it has a better route type than the current route.
LR_NETMASK

The predecessor is selected because it has a higher netmask than the current.

LR_METRIC The predecessor is selected because it has a lesser metric value than the current route.
LR_PREFERENCE Both are routes learnt from routing protocols. The predecessor is selected because it has a lesser preference value than the current route.
LR_NETADDR

The predecessor is selected because its network address is lesser than that of the current route.

LR_LOGICAL_ID The predecessor is selected because its logical ID is better than the current route.