All about the 4.x SD WAN Routing Behaviour Part 3: Changes in version 5.0.0.0

 

 I recently installed Version 5.0.0.0 on one of my SD-WAN environments and there is some new information regarding 

Route Table Dump


NOTE: the last 2 (new) columns are only displayed when using the NEW UI, not when started from the old JS UI

Beside some small changes regarding Type :Connected and Next Hop: LO1 or LO2 for loopback interfaces

a new field has been added called (Not) Reachable Reason

It displays the reason for the route being reachable or not reachable

and here are the different possible Reason Codes


Unfortunately still there is no available list of Lost Reason Codes available which is quite important to detect why a route is preferred or depreferred towards another route

So here you find available Reason Codes and its explanation:

SNO

Reason code EDGEs

Description

1 LR_NO_ELECTION Best route.
2 LR_NP_SWAN_VS_VELO Predecessor won 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.
3 LR_NP_SWAN_VS_DEFRT Predecessor won because it is a non-preferred static WAN route when compared to the current route which is default route.
4 LR_NP_ROUTE_TYPE Predecessor won because its route type is better when compared to the current route (please refer notes section below to see the different route types in order). Also, one of the routes being compared is a non-preferred route in this case.
5 LR_NP_EDGED_ROUTED The predecessor won because it is a route learnt via routing protocols when compared to the current route which is a statc LAN/WAN non- preferred route.
6 LR_BGP_LOCAL_PREF Both routes are learnt using BGP. The predecessor won because it has a higher local preference than the current route.
7 LR_BGP_ASPATH_LEN Both routes are learnt using BGP. Predecessor won because it has a lower AS path value than the current route.
8 LR_BGP_METRIC Both routes are learnt using BGP. Predecessor won because it has a lower metric value than the current route.
9 LR_EXT_OSPF_INTER Predecessor won because it is a route learnt from OSPF with an inter or intra area metric when compared to the current route which was learnt from BGP.
10 LR_EXT_BGP_RT Predecessor won because it is a route learnt from BGP when compared the current route which is a route learn from OSPF with metric type OE1 or OE2.
11 LR_EXT_METRIC_TYPE Both routes are OSPF routes. The predecessor won 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.
12 LR_EXT_METRIC_VAL Both routes are OSPF routes. The predecessor won because it has a lesser metric than the current route.
13 LR_EXT_NH_IP Both routes are OSPF ECMP routes. The current route lost to the predecessor wince it was learnt later.
14 LR_PG_BGP_ORDER Both are remote BGP routes with same BGP
    parameters. The current route won because it is a Partner Gateway (PG) route and had a lesser "order" value when compared to the current route.
15 LR_NON_PG_BGP_ORDER Both are remote BGP routes with same BGP parameters. The current route won because it is a non-PG route and had a lesser "order" value when compared to the current route.
16 LR_EXT_ORDER Both are remote OSPF routes with same metric. The predecessor won because it had a lesser order value than the current route.
17 LR_PREFERENCE Both are either BGP or OSPF routes. The predecessor won because it had a lesser preference value than the current route.
18 LR_DCE_NSD_STATIC_PREF
DCE - Data center, NSD - Non-SDWAN site (also called as Non-Velocloud Site NVS)
Both are local NSD static routes. The predecessor won because it is a preferred route (preferred flag set to true) when compared to the current which is non-preferred.
19 LR_DCE_NSD_STATIC_METRIC Both are NSD static routes. The predecessor won because it has a lesser metric value than the current route.
20 LR_DCE_NON_REMOTE Both are NSD static routes. The predecessor won because it is a local route (non-remote) and the current route is a remote route.
21 LR_DCE_NSD_STATIC_REMOTE_ORDE R Both are remote NSD static routes. The predecessor won because it had a lesser order value when compared to the current route.
22 LR_DCE_DC_DIRECT Both are NSD static routes. The predecessor won 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.
23 LR_DCE_LOGICAL_ID Both are NSD static routes. The predecessor won because it had a better logical ID than the current route.
24 LR_NETMASK The predecessor won because it had 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.
25 LR_NETADDR The predecessor won because it had 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.
26 LR_CONN_FLAG The predecessor won because it is a connected route and the current route is not a connected route.
27 LR_SELF_FLAG The predecessor won because it is a self route and the current route is not a self route.
28 LR_SLAN_FLAG The predecessor won because it is a static LAN route and the current route is not a static LAN route.
29 LR_SWAN_FLAG The predecessor won because it is a static WAN route and the current route is not a static WAN route.
30 LR_NSD_STATIC_LOCAL The predecessor won because it is a local NSD static route and the current route is an NSD BGP route.
31 LR_NSD_BGP_VS_NON_PREF_STATIC The predecessor won because it is a NDS BGP route and the current route is a local NSD static non-preferred route.
32 LR_NSD_STATIC_PREF_VS_NSD_STATI C The predecessor won because it is an NSD static preferred route and the current route is not an NSD static route.
33 LR_CONN_STATIC_VS_NSD_BGP The predecessor won because it is a remote connected/static route and the current route is an NSD BGP route.
34 LR_OPG_SECURE_STATIC The predecessor won because it is a PG secure static route and the current is not.
35 LR_ROUTED_VS_VELO The predecessor won because it is a route learnt from routing protocols when compared the current route which is a "v - ViaVeloCloud" route.
36 LR_INTF_DEF_VS_ROUTED The predecessor won because it is an interface default cloud route when compared to the cuurrent route which is a route learnt using routing protocols (local or remote).
37 LR_ROUTE_TYPE The predecessor won because it has a better route than the current.
38 LR_E2DC_REMOTE The predecessor won because it is a, Edge2DC route and it is a local route and the current route is a remote route.
39 LR_CONNECTED_LAN Both are connected routes. The predecessor won because it is a connected LAN route and the current route is not a connected LAN route.
40 LR_VELO_REMOTE_FLAG Both are cloud routes. The predecessor won becauuse it is a remote route when compared to the remote cloud route when compared to the current which is a local cloud route.
41 LR_VELO_EDGED_ROUTED Both are cloud routes. The predecessor won because it is a route learnt via routing protocol and the current route is not learnt via routing protocol.
42 LR_VELO_PG_ROUTE Both are cloud routes. The predecessor won because it is a PG route and the current route is not a PG route.
43 LR_VIA_VELO_ROUTE Both are cloud routes. The predecessor won because it is a via velocloud route and the current is not a via-velocloud route.
44 LR_REMOTE_NON_ROUTED Both are remote (overlay) routes. The predecessor won because it is a route not learnt via routing protocol (static/connected) and the current route is a route learnt via routing protocol.
45 LR_REMOTE_DCE_FLAG Both are remote (overlay) routes. The predecessor won 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.
46 LR_METRIC The predecessor won because it has a lesser metric than the current route.
47 LR_ORDER The predecessor won because it has a lesser order than the current route.
48 LR_LOGICAL_ID The predecessor won because it has a better logical ID than the current route.
49 LR_EXT_BGP_VIA_PRIMGW Both are BGP routes. The predecessor won 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.


And for the new IPv6 connectivity as far as  have seen those columns are equally valid for both IP Versions.




Hope that helps in debugging Routing Problems on VMware SD-WAN

Comments

Popular posts from this blog

Orchestrator Upgrade to Version 5.2

Deep Dive on DMPO and its Performance Features (available and missing) Part 1

Deep Dive on DMPO and its Performance Features (available and missing) Part 2