This KB lists the commands that can be helpful in troubleshooting VeloCloud Partner Gateways.
VMware SD-WAN by VeloCloud
/opt/vc/bin/debug.py --peer : List all the enterprises and edges
/opt/vc/bin/debug.py --list 3 : List the connected VCE’s
/opt/vc/bin/debug.py --vrf : Check VRF configuration
/opt/vc/bin/debug.py --path : List all the overlay tunnels
/opt/vc/bin/debug.py --ike_sa : List all the IKE SAs between the VCEs and the VCG
/opt/vc/bin/debug.py --ike : List all the IKE SAs along with the VCE name
/opt/vc/bin/debug.py --ike_child : List all the IPSec SAs between the VCEs and the VCG
/opt/vc/bin/debug.py --bgp_view_summary : List all the BGP neighbors that the VCG peers with
/opt/vc/bin/debug.py --bgp_view : Show the VCE routes advertised to the Peering PE
/opt/vc/bin/debug.py --bgp_redis_dump : Show the learned BGP routes from peering PE
vtysh -c “show ip bgp view <enterprise logical ID>” - Show bgp routes on VCG
/opt/vc/sbin/gwd -v - Check the software version on VCG
Description: This command is used to show the list of enterprises (customers) as the number of active VCEs that establish overlay with this particular VCG
Usage:
/opt/vc/bin/debug.py --peer Enterprise EnterpriseID Type Name Destination MTU Reachable SP - Demo - Customer1 9679aeba-dbd1-4d13-9dcf-8854c62d783d edge Customer1 Silver2 VCE-2 2a679377-53a3-4585-978b-156cd1b27c1d 1500 True SP - Demo - Customer1 9679aeba-dbd1-4d13-9dcf-8854c62d783d edge Customer1 Silver2 VCE-5 7cd07997-2533-4a34-883f-4413160e0c85 1492 True SP - Demo - Customer1 9679aeba-dbd1-4d13-9dcf-8854c62d783d edge Customer1 Silver2 VCE-1 8e322ecd-54ca-4838-b958-cf4ff4d3588e 1492 True Customer2 14bd4162-9940-42e2-b571-496747c7ec78 edge Silver2 VCE4 - Branch 331d0502-de39-4461-87ec-e2b90394beb7 1500 True Customer2 14bd4162-9940-42e2-b571-496747c7ec78 edge Silver2 VCE3 - Hub bf5fb2c8-d4f3-4759-91dc-654b5054a6ba 1492 True |
Description: This command is used to show the connected Edges to the VCG and their tunnel IP’s.
Usage:
/opt/vc/bin/debug.py --list 3 Name Enterprise Logical ID VC Private IP Customer1 Silver2 VCE-5 SP - Demo - Customer1 7cd07997-2533-4a34-883f-4413160e0c85 169.254.129.4 Customer1 Silver2 VCE-2 SP - Demo - Customer1 2a679377-53a3-4585-978b-156cd1b27c1d 169.254.129.3 |
Description: This command is used to display the configured vrf’s on the Gateway from the VCO’s customer BGP configuration. The “c_tag” value is the Vlan tag for hand off traffic and it should match the PE’s interface configuration.
Usage:
/opt/vc/bin/debug.py --vrf { "vrf_dump": [ { "c_tag": 102, "enteprise_id": "14bd4162-9940-42e2-b571-496747c7ec78", "enterprise_name": "Customer2", "lan_vlan_transport_mode": "NONE", "s_tag": 0, "vlan_vrf_mode": "802.1Q" }, { "c_tag": 101, "enteprise_id": "9679aeba-dbd1-4d13-9dcf-8854c62d783d", "enterprise_name": "SP - Demo - Customer1", "lan_vlan_transport_mode": "NONE", "s_tag": 0, "vlan_vrf_mode": "802.1Q" } ] } |
Description: This command is used to show all the overlay tunnels from all the VCEs that are terminated at this particular VCG. Note the “peer_name” field identifies the VCE the overlay belongs to and the “gateway” field shows the interface IP address of the remote VCE.
Usage:
/opt/vc/bin/debug.py --path [ { "path": [ { "avgLatencyRx": 5, "avgLatencyTx": 0, "bytesRx": 661971, "bytesTx": 1942655, "direction": "UNK", "dynamic": "No", "dynamicBwRx": 2498, "dynamicBwTx": 2498, "heartbeatIntervalMs": 500, "jitterRx": 0.00175120506901294, "jitterTx": 0.0, "lossRx": 0.0, "lossTx": 0.0, "maxLatencyRx": 19, "maxLatencyTx": 4, "measuredRateRx": 2498, "measuredRateTx": 2498, "minLatencyRx": 0, "minLatencyTx": 0, "mtu": 1492, "overheadBytes": 0, "packetsLostRx": 0, "packetsLostTx": 0, "packetsRx": 10449, "packetsTx": 14621, "packetsforLossComputeRx": 10449, "packetsforLossComputeTx": 14914, "path": { "gateway": "10.10.30.2", "interface": "eth1", "ipAddress": "192.168.101.2", "logicalId": "", "peer_name": "Customer1 Silver2 VCE-5", "tunnelingMode": "DEFAULT", "version": "43115574" }, "pathStateRx": "STABLE", "pathStateTx": "STABLE", "pathUpMs": 4516101, "vlanId": 0 }, { "avgLatencyRx": 36, "avgLatencyTx": 24, "bytesRx": 2407718, "bytesTx": 1298255, "direction": "UNK", "dynamic": "No", "dynamicBwRx": 190712, "dynamicBwTx": 195386, "heartbeatIntervalMs": 500, "jitterRx": 9.183373913401738e-05, "jitterTx": 0.0, "lossRx": 0.0, "lossTx": 2.0, "maxLatencyRx": 31, "maxLatencyTx": 32, "measuredRateRx": 190712, "measuredRateTx": 195386, "minLatencyRx": 30, "minLatencyTx": 14, "mtu": 1492, "overheadBytes": 0, "packetsLostRx": 0, "packetsLostTx": 349, "packetsRx": 20757, "packetsTx": 17807, "packetsforLossComputeRx": 20757, "packetsforLossComputeTx": 18086, "path": { "gateway": "24.6.180.156", "interface": "eth0", "ipAddress": "24.6.180.27", "logicalId": "", "peer_name": "Customer1 Silver2 VCE-5", "tunnelingMode": "DEFAULT", "version": "43166587" }, "pathStateRx": "STABLE", "pathStateTx": "STABLE", "pathUpMs": 4515241, "vlanId": 0 } ], "private_links": [ "10.10.30.2" ], "vceid": "7cd07997-2533-4a34-883f-4413160e0c85" }, { "path": [ { "avgLatencyRx": 32, "avgLatencyTx": 27, "bytesRx": 1884934, "bytesTx": 1830424, "direction": "UNK", "dynamic": "No", "dynamicBwRx": 190545, "dynamicBwTx": 195893, "heartbeatIntervalMs": 500, "jitterRx": 0.00018776505021378398, "jitterTx": 0.0, "lossRx": 0.0, "lossTx": 0.8583691120147705, "maxLatencyRx": 46, "maxLatencyTx": 32, "measuredRateRx": 190545, "measuredRateTx": 195893, "minLatencyRx": 30, "minLatencyTx": 14, "mtu": 1500, "overheadBytes": 0, "packetsLostRx": 0, "packetsLostTx": 362, "packetsRx": 19914, "packetsTx": 17919, "packetsforLossComputeRx": 19914, "packetsforLossComputeTx": 18234, "path": { "gateway": "24.6.180.155", "interface": "eth0", "ipAddress": "24.6.180.27", "logicalId": "", "peer_name": "Customer1 Silver2 VCE-2", "tunnelingMode": "DEFAULT", "version": "42675996" }, "pathStateRx": "STABLE", "pathStateTx": "STABLE", "pathUpMs": 4516567, "vlanId": 0 } ], "private_links": [], "vceid": "2a679377-53a3-4585-978b-156cd1b27c1d" }, { "path": [ { "avgLatencyRx": 0, "avgLatencyTx": 0, "bytesRx": 1650609, "bytesTx": 1685850, "direction": "UNK", "dynamic": "No", "dynamicBwRx": 2231, "dynamicBwTx": 2311, "heartbeatIntervalMs": 500, "jitterRx": 6.58094412298027e-12, "jitterTx": 0.0, "lossRx": 0.0, "lossTx": 0.0, "maxLatencyRx": 1, "maxLatencyTx": 0, "measuredRateRx": 2231, "measuredRateTx": 2311, "minLatencyRx": 0, "minLatencyTx": 0, "mtu": 1500, "overheadBytes": 0, "packetsLostRx": 0, "packetsLostTx": 0, "packetsRx": 17603, "packetsTx": 16879, "packetsforLossComputeRx": 17603, "packetsforLossComputeTx": 17280, "path": { "gateway": "12.16.196.72", "interface": "eth0", "ipAddress": "24.6.180.27", "logicalId": "", "peer_name": "Silver2 VCE4 - Branch", "tunnelingMode": "DEFAULT", "version": "555278538" }, "pathStateRx": "STABLE", "pathStateTx": "STABLE", "pathUpMs": 3987645, "vlanId": 0 } ], "private_links": [], "vceid": "331d0502-de39-4461-87ec-e2b90394beb7" } ] |
Description: Show all the IKE SAs between the VCEs and VCG. There should be one SA per VCE interface.
Usage:
/opt/vc/bin/debug.py --ike_sa IKE SA ====================================================================================================================================================== Index IkeSaId Cookie IKE Flags Dir NAT Ike Spi/Cookie PeerAddr State Usage 21 fb01d322 0x15 v2 00000019 responder {a63d129fa8e214df 348175a599dfc797} 24.6.180.155 MAIN_R 5275/28800 22 fb01d323 0x16 v2 00000019 responder {ac67e138993e0912 10599f541eb85fce} 10.10.30.2 MAIN_R 5275/28800 23 fb01d324 0x17 v2 00000019 responder {6337c7a3f494d2d7 a4618f2b33313a2a} 24.6.180.156 MAIN_R 5274/28800 24 fb01d325 0x18 v2 00000019 responder {306d8b8a57847725 7232059e82534ef1} 172.16.1.2 MAIN_R 5270/28800 25 fb01d326 0x19 v2 00000019 responder {44c3a34f06b19316 a2df875b17743d05} 24.6.180.157 MAIN_R 5268/28800 26 fb01d327 0x1a v2 00000019 responder {0cbbe34440475e18 1230bfc316e16a37} 24.6.180.148 MAIN_R 5234/28800 27 fb01d328 0x1b v2 00000019 responder {c815a968bd2730c9 a6e4356b6db85985} 10.10.10.2 MAIN_R 5231/28800 29 fb01d32a 0x1d v2 00000019 responder {51602de21d683e05 d0101d18bf8a26a6} 12.16.196.72 MAIN_R 1177/28800 |
Description: This can be used along with the --ike_sa. In addition to the source IP, the output also shows the actual VCE name.
Usage:
/opt/vc/bin/debug.py --ike VeloCloud Edge Tunnels ============================================================================= Name Source Destination Instance ID Cookie TD version State Silver2 VCE4 - Branch 24.6.180.27 12.16.196.72 29 29 555278538 UP Customer1 Silver2 VCE-1 192.168.101.2 10.10.10.2 27 27 41354233 UP Customer1 Silver2 VCE-1 24.6.180.27 24.6.180.148 26 26 41305221 UP Silver2 VCE3 - Hub 24.6.180.27 24.6.180.157 25 25 45618381 UP Silver2 VCE3 - Hub 192.168.102.2 172.16.1.2 24 24 45567995 UP Customer1 Silver2 VCE-5 24.6.180.27 24.6.180.156 23 23 43166587 UP Customer1 Silver2 VCE-5 192.168.101.2 10.10.30.2 22 22 43115574 UP Customer1 Silver2 VCE-2 24.6.180.27 24.6.180.155 21 21 42675996 UP |
Description: Show all the IPSec SAs between the VCEs and VCG. There should be two IPSec SAs per VCE interface.
Usage:
/opt/vc/bin/debug.py --ike_child Child SA ============================================================================================================================================================================================== Index Cookie SpdId IkeSaId Flags Dir Spi Usage PeerPort Auth Encr Tunnel // Traffic 81|82 0x15 0029 fb01d322 00000015 inbound responder 5b957972 1847/3600 0 sha1_20 aes_16 // 24.6.180.27 < 24.6.180.155 82|81 0x15 802a fb01d322 00000011 outbound responder a74a601c 1847/3600 0 sha1_20 aes_16 // 24.6.180.27 > 24.6.180.155 87|88 0x16 002b fb01d323 00000015 inbound responder 4bceb45c 1842/3600 0 sha1_20 aes_16 // 192.168.101.2 < 10.10.30.2 88|87 0x16 802c fb01d323 00000011 outbound responder 07672f0c 1842/3600 0 sha1_20 aes_16 // 192.168.101.2 > 10.10.30.2 89|90 0x17 002d fb01d324 00000015 inbound responder 70a7c9fa 1841/3600 0 sha1_20 aes_16 // 24.6.180.27 < 24.6.180.156 90|89 0x17 802e fb01d324 00000011 outbound responder 0a0fa550 1841/3600 0 sha1_20 aes_16 // 24.6.180.27 > 24.6.180.156 93|94 0x19 0031 fb01d326 00000015 inbound responder 59aa892d 1830/3600 0 sha1_20 aes_16 // 24.6.180.27 < 24.6.180.157 94|93 0x19 8032 fb01d326 00000011 outbound responder 844d5572 1830/3600 0 sha1_20 aes_16 // 24.6.180.27 > 24.6.180.157 |
Description: This command shows the VCE routes that are advertised to the PE. In other words it shows all the prefixes that are originated from the SD-WAN infrastructure.
Usage:
/opt/vc/bin/debug.py --bgp_view_summary enterpriseLogicalId neighborIp neighborAS msgRcvd msgSent upDownTime state pfxRcvd 9679aeba-dbd1-4d13-9dcf-8854c62d783d 192.168.201.1 65000 146 145 02:00:57 Established 6 14bd4162-9940-42e2-b571-496747c7ec78 192.168.202.1 65000 137 128 01:54:58 Established 9 dispEntries 2 startEntryIdx 0 totalEntries 2 |
Description: This is equivalent to ‘show ip bgp’ command on Cisco router. Note the subnets connected to the VCE’s are not shown here.
Usage:
/opt/vc/bin/debug.py --bgp_view Enterprise Address Netmask Gateway Nbr IP Nbr ID Metric Type Intf Sync'd Advertise Inbound 14bd4162-9940-42e2-b571-496747c7ec78 192.168.202.0 255.255.255.0 192.168.102.1 192.168.102.1 65000 0 E any yes true learn 14bd4162-9940-42e2-b571-496747c7ec78 172.16.2.0 255.255.255.0 192.168.102.1 192.168.102.1 65000 0 E any yes true learn 14bd4162-9940-42e2-b571-496747c7ec78 172.16.1.0 255.255.255.0 192.168.102.1 192.168.102.1 65000 0 E any yes true learn 9679aeba-dbd1-4d13-9dcf-8854c62d783d 192.168.201.0 255.255.255.0 192.168.101.1 192.168.101.1 65000 0 E any yes true learn 9679aeba-dbd1-4d13-9dcf-8854c62d783d 10.10.30.0 255.255.255.0 192.168.101.1 192.168.101.1 65000 0 E any yes true learn 9679aeba-dbd1-4d13-9dcf-8854c62d783d 10.10.20.0 255.255.255.0 192.168.101.1 192.168.101.1 65000 0 E any yes true learn 9679aeba-dbd1-4d13-9dcf-8854c62d783d 10.10.10.0 255.255.255.0 192.168.101.1 192.168.101.1 65000 0 E any yes true learn |
Description: It shows the BGP neighbor status. It shows all the routes learned from the peering PE.
Usage:
/opt/vc/bin/debug.py --bgp_redis_dump Enterprise Address Netmask Gateway Nbr IP Nbr ID Metric Type Intf route_id 14bd4162-9940-42e2-b571-496747c7ec78 172.64.0.2 255.255.255.255 any 0.0.0.0 0 0 E any 00000000-0000-0000-0000-000000000000 14bd4162-9940-42e2-b571-496747c7ec78 172.66.0.0 255.255.255.0 any 0.0.0.0 0 0 E any 00000000-0000-0000-0000-000000000000 14bd4162-9940-42e2-b571-496747c7ec78 172.64.0.0 255.255.255.0 any 0.0.0.0 0 0 E any 00000000-0000-0000-0000-000000000000 14bd4162-9940-42e2-b571-496747c7ec78 172.66.0.2 255.255.255.255 any 0.0.0.0 0 0 E any 00000000-0000-0000-0000-000000000000 9679aeba-dbd1-4d13-9dcf-8854c62d783d 10.168.64.0 255.255.255.192 any 0.0.0.0 0 0 E any 00000000-0000-0000-0000-000000000000 9679aeba-dbd1-4d13-9dcf-8854c62d783d 10.168.128.0 255.255.255.192 any 0.0.0.0 0 0 E any 00000000-0000-0000-0000-000000000000 9679aeba-dbd1-4d13-9dcf-8854c62d783d 10.168.64.2 255.255.255.255 any 0.0.0.0 0 0 E any 00000000-0000-0000-0000-000000000000 9679aeba-dbd1-4d13-9dcf-8854c62d783d 10.168.0.2 255.255.255.255 any 0.0.0.0 0 0 E any 00000000-0000-0000-0000-000000000000 9679aeba-dbd1-4d13-9dcf-8854c62d783d 10.168.0.0 255.255.255.192 any 0.0.0.0 0 0 E any 00000000-0000-0000-0000-000000000000 9679aeba-dbd1-4d13-9dcf-8854c62d783d 10.168.128.2 255.255.255.255 any 0.0.0.0 0 0 E any 00000000-0000-0000-0000-000000000000 |
Description: Using enterprise_id, this command shows the bgp routes on the VCG for the vrf in question. It requires root privilege.
Usage:
root@vcg-reston:~# vtysh -c "show ip bgp view 9679aeba-dbd1-4d13-9dcf-8854c62d783d" BGP table version is 0, local router ID is 127.0.0.1 Status codes: s suppressed, d damped, h history, * valid, > best, = multipath, i internal, r RIB-failure, S Stale, R Removed Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.10.10.0/24 192.168.101.1 0 65000 65000 i *> 10.10.20.0/24 192.168.101.1 0 65000 65000 i *> 10.168.0.0/26 0.0.0.0 2 32768 ? * 192.168.101.1 0 65000 65000 ? *> 10.168.0.2/32 0.0.0.0 2 32768 ? * 192.168.101.1 0 65000 65000 ? * 10.168.128.0/26 192.168.101.1 0 65000 65000 ? *> 0.0.0.0 4 32768 ? * 10.168.128.2/32 192.168.101.1 0 65000 65000 ? *> 0.0.0.0 4 32768 ? *> 192.168.100.0 0.0.0.0 2 32768 ? * 192.168.101.1 0 65000 65000 ? *> 192.168.101.0 0.0.0.0 0 32768 i *> 192.168.201.0 192.168.101.1 0 65000 65000 i Total number of prefixes 9 |
Description: This command show the running code version on the VCG.
Usage:
root@vcg:~# /opt/vc/sbin/gwd -v VCG Info ======== Version: 2.2.0 Build rev: R22-20160828-BETA3-254-gfd71a59 Build Date: 2016-09-19_17-34-40 |