VeloCloud SD-WAN Remote Diagnostics WebSocket API

Remote Diagnostics Websocket API documentation
Remote Diagnostics Websocket API

The VMware SD-WAN Orchestrator allows Customers, Partners, and authorized support representatives to invoke diagnostic functions and collect relevant data for troubleshooting purposes remotely via a WebSocket API.

General Considerations:

  • It is only possible to invoke diagnostic actions using this API for Edges running software running software versioned 5.0.0 or newer.
  • All messages sent and received via WebSockets are encoded in JSON format.
  • By default, the browser WebSocket connection is active for 300 seconds in an idle state.
  • Please use the VMware SD-WAN Product Documentation for more details about Remote Diagnostics.
  • In the case of VMware SD-WAN Websocket API we have just one endpoint: 'ws'.
  • As of the 5.0.0 release, JSON-formatted responses are not yet supported for IPv6-specific commands and DSL_STATUS, GPON_STATUS, RADIUS_TEST, AP_SCAN_DUMP, FIREWALL_DUMP, CLUSTER_REBALANCE, EVDSL_MODEM_STATUS, USB_PORTS_STATUS.

Servers

  • example.comwssserver

    Authentication:

    When making the initial Websocket handshake request, the API client must authenticate as explained in the VMware SASE Platform API documentation .

    Once the socket is open, you will receive a noop ('#/components/messages/noop') message from the server with a websocket connection token. You will need to send this token with every websocket message. Example runDiagnostics request:

    The resulting token must be provided in the "token" field:

    {
      "action": "runDiagnostics",
      "data": {
        "logicalId": "edgeLogicalId",
        "test": "testName"
        "parameters": {
          ...
        }
      },
      "token": "WW91ciBhdXRoZW50aWNhdGlvbiB0b2tlbiBnb2VzIGhlcmUu"
    }
    

    Response format

    With release 5.0.0, we have introduced a new field (resformat) to allow clients to choose the response format for Websocket messages. Refer to '#/components/schemas/resformat' for allowed resformat values.

    Example runDiagnostics request with resformat:

    {
      "action": "runDiagnostics",
      "data": {
        "logicalId": "edgeLogicalId",
        "test": "testName"
        "parameters": {
          ...
        },
        "resformat": "JSON"
      },
      "token": "WW91ciBhdXRoZW50aWNhdGlvbiB0b2tlbiBnb2VzIGhlcmUu"
    }
    

Operations

  • PUB ws/

    Operation IDsendMessage

    Accepts one of the following messages:

    • #0List DiagnosticslistDiagnosticsRequest

      Lists all supported commands/actions for a given edge

      object

      Examples

    • #1ARP Table DumparpDump

      View the Contents of the ARP Table. This output is limited to display 1000 ARP entries.

      object

      Examples

    • #2Clear ARP CacheclearArp

      Clear the ARP cache for a given interface.

      object

      Examples

    • #3DNS TestdnsTest

      Perform a DNS lookup of the name specified.

      object

      Examples

    • #4DNS/DHCP Service RestartrestartDnsmasq

      Restart the DNS/DHCP service. This can serve as a troubleshooting step if DHCP or DNS requests are failing for clients.

      object

      Examples

    • #5Flush FlowsflushFlows

      Flush the flow table, causing user traffic to be re-classified. Use source and destination IPv4 or IPv6 address filters to flush specific flows.

      object

      Examples

    • #6Flush NATflushNat

      Flush the NAT table. (This may cause existing TCP/UDP sessions to fail!)

      object

      Examples

    • #7GatewayrouteSelect

      Choose whether cloud traffic should or should not use the Gateway Service. Note - This does not affect the routing of VPN traffic.

      object

      Examples

    • #8HA InfohaInfo

      Show basic and interface information of active and standby edges when HA is enabled

      object

      Examples

    • #9Interface StatusinterfaceStatus

      View the MAC address and connection status of physical interfaces.

      object

      Examples

    • #10List Active FlowsflowDump

      List active flows in the system. Use source and destination IPv4 or IPv6 address filters to view the exact flows you want to see. This output is limited to a maximum of 1000 flows.

      object

      Examples

    • #11List ClientsclientsDump

      View the full list of clients.

      object

      Examples

    • #12List PathspathsDump

      View the list of active paths between local WAN links and each peer.

      object

      Examples

    • #13List current IKE Child SAsikeChildSa

      Use filters to view the exact Child SAs you want to see. This output is limited to a maximum of 1000 Child SAs.

      object

      Examples

    • #14List current IKE SAsikeSa

      Use filters to view the exact SAs you want to see. This output is limited to a maximum of 1000 SAs.

      object

      Examples

    • #15MIBs for EdgemibDump

      Dump Edge MIBs. VELOCLOUD-MIB: the root MIB of all VeloCloud specified MIBs and required for installing VELOCLOUD-EDGE-MIB. VELOCLOUD-MIB-EDGE: the MIB specified for Edge device.

      object

      Examples

    • #16NAT Table DumpnatDump

      View the contents of the NAT Table. Use the destination IP address filter to view the exact entries you want to see. This output is limited to a maximum of 1000 entries.

      object

      Examples

    • #17NTP DumpntpDump

      Current date/time on Edge and NTP information

      object

      Examples

    • #18Ping TestbasicPing

      Run a ping test to the destination specified.

      object

      Examples

    • #19Reset USB ModemresetUsbModem

      This will attempt to reset an unworking USB modem connected to the given interface. Note that not all USB modems support this type of remote reset.

      object

      Examples

    • #20Route Table DumprouteDump

      View the contents of the Route Table.

      object

      Examples

    • #21Source Interface DumpsrcIfaceDump

      View the Source Interfaces selected by services

      object

      Examples

    • #22System InformationsystemInformation

      View system information such as system load, recent WAN stability statistics, Monitoring Services. WAN stability statistics include the number of times individual VPN tunnels and WAN links lost connectivity for at least 700 milliseconds.

      object

      Examples

    • #23Traceroutetraceroute

      Run a traceroute via the Gateway or directly out any of the WAN interfaces to the destination specified.

      object

      Examples

    • #24Troubleshoot BFD - Show BFD Peer StatusbfdPeerStatus

      Show all the status of BFD peers

      object

      Examples

    • #25Troubleshoot BFD - Show BFD Peer countersbfdPeerCounters

      Show all the counters of BFD peers

      object

      Examples

    • #26Troubleshoot BFD - Show BFD SettingbfdInfo

      Show BFD setting and neighbor status

      object

      Examples

    • #27Troubleshoot BGP - List BGP Redistributed RoutesbgpRedisDump

      See routes redistributed to BGP neighbors

      object

      Examples

    • #28Troubleshoot BGP - List BGP RoutesbgpView

      Show the specific BGP routes from neighbors, leave prefix empty to see all

      object

      Examples

    • #29Troubleshoot BGP - List Routes per PrefixroutesDetail

      Show all the Overlay and Underlay routes for a prefix and the details

      object

      Examples

    • #30Troubleshoot BGP - Show BGP Neighbor Advertised RoutesfrrBgpNbrAd

      Show the BGP routes advertised to a neighbor

      object

      Examples

    • #31Troubleshoot BGP - Show BGP Neighbor Learned RoutesfrrBgpNbrRoutes

      Show all the accepted BGP routes learned from a neighbor after filters

      object

      Examples

    • #32Troubleshoot BGP - Show BGP Neighbor Received RoutesfrrBgpNbrRcv

      Show all the BGP routes received from a neighbor before filters

      object

      Examples

    • #33Troubleshoot BGP - Show BGP Neighbor detailsbgpNbr

      Show the details of BGP neighbor

      object

      Examples

    • #34Troubleshoot BGP - Show BGP Routes per PrefixfrrBgpRoutes

      Show all the BGP routes for the prefix and their attributes

      object

      Examples

    • #35Troubleshoot BGP - Show BGP SummaryfrrBgpSum

      Show the existing BGP neighbor and received routes

      object

      Examples

    • #36Troubleshoot BGP - Show BGP TablefrrBgpTbl

      Show the BGP table

      object

      Examples

    • #37Troubleshoot OSPF - List OSPF Redistributed RoutesospfRedisDump

      Show all the routes redistributed to OSPF neighbor

      object

      Examples

    • #38Troubleshoot OSPF - List OSPF RoutesospfView

      Show the specific OSPF routes from neighbors, leave prefix empty to see all

      object

      Examples

    • #39Troubleshoot OSPF - Show OSPF DatabasequaggaOspfDb

      Show the OSPF link state database summary

      object

      Examples

    • #40Troubleshoot OSPF - Show OSPF Database for E1 Self-Originate RoutesquaggaOspfDbSo

      Show the E1 LSAs self-originated by the VCE that are advertised to OSPF

      object

      Examples

    • #41Troubleshoot OSPF - Show OSPF NeighborsquaggaOspfTbl

      Show all the OSPF neighbors and associated info

      object

      Examples

    • #42Troubleshoot OSPF - Show OSPF Database for E1 Self-Originate RoutesquaggaOspfDbSo

      Show the E1 LSAs self-originated by the VCE that are advertised to OSPF

      object

      Examples

    • #43Troubleshoot OSPF - Show OSPF Route TablequaggaOspfRoutes

      Show the existing OSPF route table

      object

      Examples

    • #44Troubleshoot OSPF - Show OSPF SettingospfInfo

      Show OSPF setting and neighbor status

      object

      Examples

    • #45VPN TestvpnTest

      Use ping to test VPN connectivity to each peer.

      object

      Examples

    • #46WAN Link Bandwidth TestbwTest

      Force a re-test the bandwidth of a WAN link.

      object

      Examples

    • #47Reset SFP Firmware configurationsfpFwConfigReset

      Few SFP allows to reset firmware configuration parameter , for other SFPs it will be no-op

      object

      Examples

    • #48Flush Firewall SessionsflushFirewall

      Flush established sessions from the firewall, which will actively end those sessions (i.e. send a TCP RST for TCP sessions). Use source and destination IP address filters to flush specific flows.

      object

      Examples

    • #49LTE Modem InformationlteModemInfo

      This will fetch diagnostic information for the internal LTE modem.

      object

      Examples

    • #50LTE Switch SIM SlotlteSimSwitch

      Switch Active SIM. Note:Both SIM should be inserted and works only in 610 LTE

      object

      Examples

  • SUB ws/

    Operation IDprocessMessage

    Accepts one of the following messages:

    • #0noop
      object

      Examples

    • #1listDiagnosticsResponse
      object

      Examples

    • #2runDiagnosticsResponse
      object

      Examples

Messages

  • #1noop
    object
  • #2List DiagnosticslistDiagnosticsRequest

    Lists all supported commands/actions for a given edge

    object
  • #3listDiagnosticsResponse
    object
  • #4ARP Table DumparpDump

    View the Contents of the ARP Table. This output is limited to display 1000 ARP entries.

    object
  • #5Clear ARP CacheclearArp

    Clear the ARP cache for a given interface.

    object
  • #6DNS TestdnsTest

    Perform a DNS lookup of the name specified.

    object
  • #7DNS/DHCP Service RestartrestartDnsmasq

    Restart the DNS/DHCP service. This can serve as a troubleshooting step if DHCP or DNS requests are failing for clients.

    object
  • #8Flush FlowsflushFlows

    Flush the flow table, causing user traffic to be re-classified. Use source and destination IPv4 or IPv6 address filters to flush specific flows.

    object
  • #9Flush NATflushNat

    Flush the NAT table. (This may cause existing TCP/UDP sessions to fail!)

    object
  • #10GatewayrouteSelect

    Choose whether cloud traffic should or should not use the Gateway Service. Note - This does not affect the routing of VPN traffic.

    object
  • #11HA InfohaInfo

    Show basic and interface information of active and standby edges when HA is enabled

    object
  • #12Interface StatusinterfaceStatus

    View the MAC address and connection status of physical interfaces.

    object
  • #13List Active FlowsflowDump

    List active flows in the system. Use source and destination IPv4 or IPv6 address filters to view the exact flows you want to see. This output is limited to a maximum of 1000 flows.

    object
  • #14List ClientsclientsDump

    View the full list of clients.

    object
  • #15List PathspathsDump

    View the list of active paths between local WAN links and each peer.

    object
  • #16List current IKE Child SAsikeChildSa

    Use filters to view the exact Child SAs you want to see. This output is limited to a maximum of 1000 Child SAs.

    object
  • #17List current IKE SAsikeSa

    Use filters to view the exact SAs you want to see. This output is limited to a maximum of 1000 SAs.

    object
  • #18MIBs for EdgemibDump

    Dump Edge MIBs. VELOCLOUD-MIB: the root MIB of all VeloCloud specified MIBs and required for installing VELOCLOUD-EDGE-MIB. VELOCLOUD-MIB-EDGE: the MIB specified for Edge device.

    object
  • #19NAT Table DumpnatDump

    View the contents of the NAT Table. Use the destination IP address filter to view the exact entries you want to see. This output is limited to a maximum of 1000 entries.

    object
  • #20NTP DumpntpDump

    Current date/time on Edge and NTP information

    object
  • #21Ping TestbasicPing

    Run a ping test to the destination specified.

    object
  • #22Reset USB ModemresetUsbModem

    This will attempt to reset an unworking USB modem connected to the given interface. Note that not all USB modems support this type of remote reset.

    object
  • #23Route Table DumprouteDump

    View the contents of the Route Table.

    object
  • #24Source Interface DumpsrcIfaceDump

    View the Source Interfaces selected by services

    object
  • #25System InformationsystemInformation

    View system information such as system load, recent WAN stability statistics, Monitoring Services. WAN stability statistics include the number of times individual VPN tunnels and WAN links lost connectivity for at least 700 milliseconds.

    object
  • #26Traceroutetraceroute

    Run a traceroute via the Gateway or directly out any of the WAN interfaces to the destination specified.

    object
  • #27Troubleshoot BFD - Show BFD Peer StatusbfdPeerStatus

    Show all the status of BFD peers

    object
  • #28Troubleshoot BFD - Show BFD Peer countersbfdPeerCounters

    Show all the counters of BFD peers

    object
  • #29Troubleshoot BFD - Show BFD SettingbfdInfo

    Show BFD setting and neighbor status

    object
  • #30Troubleshoot BGP - List BGP Redistributed RoutesbgpRedisDump

    See routes redistributed to BGP neighbors

    object
  • #31Troubleshoot BGP - List BGP RoutesbgpView

    Show the specific BGP routes from neighbors, leave prefix empty to see all

    object
  • #32Troubleshoot BGP - List Routes per PrefixroutesDetail

    Show all the Overlay and Underlay routes for a prefix and the details

    object
  • #33Troubleshoot BGP - Show BGP Neighbor Advertised RoutesfrrBgpNbrAd

    Show the BGP routes advertised to a neighbor

    object
  • #34Troubleshoot BGP - Show BGP Neighbor Learned RoutesfrrBgpNbrRoutes

    Show all the accepted BGP routes learned from a neighbor after filters

    object
  • #35Troubleshoot BGP - Show BGP Neighbor Received RoutesfrrBgpNbrRcv

    Show all the BGP routes received from a neighbor before filters

    object
  • #36Troubleshoot BGP - Show BGP Neighbor detailsbgpNbr

    Show the details of BGP neighbor

    object
  • #37Troubleshoot BGP - Show BGP SummaryfrrBgpSum

    Show the existing BGP neighbor and received routes

    object
  • #38Troubleshoot BGP - Show BGP Routes per PrefixfrrBgpRoutes

    Show all the BGP routes for the prefix and their attributes

    object
  • #39Troubleshoot BGP - Show BGP TablefrrBgpTbl

    Show the BGP table

    object
  • #40Troubleshoot OSPF - List OSPF Redistributed RoutesospfRedisDump

    Show all the routes redistributed to OSPF neighbor

    object
  • #41Troubleshoot OSPF - List OSPF RoutesospfView

    Show the specific OSPF routes from neighbors, leave prefix empty to see all

    object
  • #42Troubleshoot OSPF - Show OSPF DatabasequaggaOspfDb

    Show the OSPF link state database summary

    object
  • #43Troubleshoot OSPF - Show OSPF Database for E1 Self-Originate RoutesquaggaOspfDbSo

    Show the E1 LSAs self-originated by the VCE that are advertised to OSPF

    object
  • #44Troubleshoot OSPF - Show OSPF NeighborsquaggaOspfTbl

    Show all the OSPF neighbors and associated info

    object
  • #45Troubleshoot OSPF - Show OSPF Route TablequaggaOspfRoutes

    Show the existing OSPF route table

    object
  • #46Troubleshoot OSPF - Show OSPF SettingospfInfo

    Show OSPF setting and neighbor status

    object
  • #47VPN TestvpnTest

    Use ping to test VPN connectivity to each peer.

    object
  • #48WAN Link Bandwidth TestbwTest

    Force a re-test the bandwidth of a WAN link.

    object
  • #49Reset SFP Firmware configurationsfpFwConfigReset

    Few SFP allows to reset firmware configuration parameter , for other SFPs it will be no-op

    object
  • #50Flush Firewall SessionsflushFirewall

    Flush established sessions from the firewall, which will actively end those sessions (i.e. send a TCP RST for TCP sessions). Use source and destination IP address filters to flush specific flows.

    object
  • #51LTE Modem InformationlteModemInfo

    This will fetch diagnostic information for the internal LTE modem.

    object
  • #52LTE Switch SIM SlotlteSimSwitch

    Switch Active SIM. Note:Both SIM should be inserted and works only in 610 LTE

    object
  • #53runDiagnosticsResponse
    object

Schemas

  • actionId
    string
    uid: actionId
  • logicalId
    string
    uid: logicalId

    Logical Id of the edge

  • runDiagnosticsAction
    string
    uid: runDiagnosticsAction
    Const:"runDiagnostics"
  • listDiagnosticsAction
    string
    uid: listDiagnosticsAction
    Const:"listDiagnostics"
  • token
    string
    uid: token
  • resformat
    string
    uid: resformat

    Determines the type (HTML/JSON) of response to be returned

      Allowed values:
    • "HTML"
    • "JSON"
  • count
    integer
    uid: count

    Max Entries

  • interface
    string
    uid: interface
  • src_ip
    string
    uid: src_ip

    Source IP

  • src_port
    number
    uid: src_port

    Source Port

  • dst_ip
    string
    uid: dst_ip

    Destination IP

  • dest_port
    number
    uid: dest_port

    Destination Port

  • peer_ip
    string
    uid: peer_ip

    Peer IP

  • local_ip
    string
    uid: local_ip

    Local IP

  • nbr_ip
    string
    uid: nbr_ip

    Neighbor IP

  • prefix
    string
    uid: prefix
  • ikeSaSpi
    string
    uid: ikeSaSpi

    Spi

  • destination
    string
    uid: destination

    Destination

  • source
    string
    uid: source

    Ping From

  • traceroute_source
    string
    uid: traceroute_source

    Traceroute Using