Get diagnostics

Cloud Interconnect diagnostics let you troubleshoot your Dedicated Interconnect connections during provisioning and after activation.

The diagnostics provide you current, detailed technical information about the Google Cloud side of the Dedicated Interconnect connections on demand.

Diagnostics during outages

In the event of a global outage, do not use the diagnostics results from your Dedicated Interconnect connection to make decisions about where to redirect your network traffic.

Unlike a VLAN attachment, which is regional, a Dedicated Interconnect connection is a global resource. A global outage can prevent the diagnostics for Cloud Interconnect from functioning properly.

Diagnostics during provisioning

Viewing diagnostics provides you with the information required to troubleshoot and fix problems in your on-premises router configuration, which can be helpful if your Dedicated Interconnect connection fails to progress through the provisioning process.

The diagnostics results contain different data depending on what stage in the provisioning process your Dedicated Interconnect connection is in. The major and minor steps are listed in the next section. This diagnostic information provides you with possible next steps to take to ensure that the provisioning process progresses without further issues.

Use the command output reference to interpret diagnostic command results or the information provided in the Google Cloud console.

Provisioning stages

The Dedicated Interconnect connection provisioning process occurs in multiple stages. You must meet the following requirements in each stage before you can move on to the next one:

  • Stage 1 - Circuit Connection:

    • The optical power state is OK for each link in the connection.
  • Stage 2 - Circuit Qualification (only for connections that have multiple links):

    • The optical power state is OK for each link in the connection.
    • Each link is assigned a temporary IP address. The address is used to qualify each link individually through a ping test.
    • Address Resolution Protocol (ARP) entries are present.
  • Stage 3 - Production Configuration:

    • The optical power state is OK for each link in the connection.
    • All links in the connection are configured in an LACP bundle.
    • A temporary IP address is assigned to the untagged bundle interface. Google Cloud verifies connectivity through a ping. The test IP address is removed when the activation process is complete.
    • ARP entries are present.

Use diagnostics

To see diagnostics information for the Dedicated Interconnect connection, follow these steps.

Console

  1. In the Google Cloud console, go to the Cloud Interconnect Physical connections tab.

    Go to Physical connections

  2. Select the name of a Dedicated Interconnect connection.

  3. Diagnostics information is in the following locations on the connection details page:

    • For warnings or errors, see the Status field in the upper-left corner of the page.
    • For the provisioned capacity of the Dedicated Interconnect, see the Provisioned capacity field.
    • If you suspect issues with the Dedicated Interconnect connection, see the VLAN attachments section for information such as the effective capacity of the connection or the number of down links.
    • For additional details, such as light levels, see the Link circuit info section.

gcloud

Use the gcloud compute interconnects get-diagnostics command:

gcloud compute interconnects get-diagnostics NAME
  --project=PROJECT_ID

Replace the following:

  • NAME: the name of the Dedicated Interconnect connection in your project
  • PROJECT_ID: the ID of the Google Cloud project

The command output should look similar to the following example:

macAddress: "00:11:22:33:44:55"
arpCache:
  macAddress: "55:44:33:22:11:00"
  ipAddress: "1.2.3.4"
links:
  - circuitId: "circuit-id-1"
    receivingOpticalPower:
      value: 0.4
      state: OK
    lacpStatus:
      state: ACTIVE
      googleSystemId: "00:11:22:33:44:55"
      neighborSystemId: "55:44:33:22:11:00"
     macsec:
      ckn: 0101010189abcdef...0123456789abcdef
      operational: true
  - circuitId: "circuit-id-2"
    receivingOpticalPower:
      value: 0.4
      state: OK
    lacpStatus:
      state: DETACHED
    macsec:
      ckn: 0101010189abcdef...0123456789abcdef
      operational: false
    arpCache:
      macAddress: "01:23:45:67:89:0a"
      ipAddress: "2.3.4.5"

API

Use the interconnects.getDiagnostics method:

GET https://compute.googleapis.com/compute/projects/PROJECT_ID/global/interconnects/NAME/getDiagnostics

Replace the following:

  • PROJECT_ID: the ID of the Google Cloud project
  • NAME: the name of the Dedicated Interconnect connection in your project

If this command succeeds, it returns InterconnectDiagnostics output in the following format. To interpret the output, see the command output reference.

{
  "macAddress": "00:11:22:33:44:55",
  "arpCache": [
    {
      "macAddress": "55:44:33:22:11:00",
      "ipAddress": "1.2.3.4"
    }
  ],
  "links": [
    {
      "circuitId": "circuit-id",
      "receivingOpticalPower": {
        "value": 0.4,
        "state": OK,
      },
      "lacpStatus": {
        "state": ACTIVE,
        "googleSystemId": "00:11:22:33:44:55",
        "neighborSystemId": "55:44:33:22:11:00"
      }
    },
    {
      "circuitId": "circuit-id",
      "receivingOpticalPower": {
        "value": 0.4,
        "state": OK,
      },
      "lacpStatus": {
        "state": DETACHED
      },
      "arpCache": [
        {
          "macAddress": "01:23:45:67:89:0a",
          "ipAddress": "2.3.4.5"
        }
      ]
    }
  ]
}

Command output reference

The definitions for the output parameters for the gcloud commands and the interconnects.getDiagnostics API are listed in the following table.

Output parameter Description
macAddress Describes the MAC address of the Dedicated Interconnect connection bundle on the Google Cloud side.
arpCache Describes individual neighbors currently seen by the Cloud Router in the ARP cache for the Dedicated Interconnect connection. This is empty when the connection is not bundled.
arpCache[].macAddress Lists the MAC address of this ARP neighbor.
arpCache[].ipAddress Lists the IP address of this ARP neighbor.
links[] Describes the status for each link on the Dedicated Interconnect connection.
links[].circuitId Lists the Google-assigned unique ID for this circuit, as assigned during circuit turn-up.
links[].googleDemarc Describes the Google-assigned demarc, as assigned at circuit turn-up and provided by Google to the customer in the LOA.
links[].macsec The link's MACsec state. This field is omitted if you don't have MACsec enabled.
links[].macsec.ckn The connectivity association key name (CKN) currently in use. This field is omitted if you don't have MACsec enabled.
links[].macsec.operational

The link's MACsec state. This field is omitted if you don't have MACsec enabled. The following are the possible values:

  • TRUE: MACsec is operational on the link.
  • FALSE: MACsec isn't operational on the link.
links[].operationalState

The operational state of this Dedicated Interconnect link. This field is omitted if you don't have MACsec enabled. The following are the possible values:

  • LINK_OPERATIONAL_STATUS_UP: The link is operational.
  • LINK_OPERATIONAL_STATUS_DOWN: The link isn't operational.

The link's operational state isn't affected by the link's MACsec state.

links[].receivingOpticalPower Describes the current value and status for the received light level.
links[].receivingOpticalPower.value Lists the current value of the received light level, in dBm.
links[].receivingOpticalPower.state

The status of the current value when compared to the warning and alarm levels for the receiving transceiver:

  • OK: The value has not crossed a warning threshold.
  • LOW_WARNING: The value has crossed below the low warning threshold.
  • HIGH_WARNING: The value has crossed above the high warning threshold.
  • LOW_ALARM: The value has crossed below the low alarm threshold.
  • HIGH_ALARM: The value has crossed above the high alarm threshold.
links[].transmittingOpticalPower The current value and status for the transmit light level.
links[].transmittingOpticalPower.value The current value of the transmitting light level, in dBm.
links[].transmittingOpticalPower.state

The status of the current value when compared to the warning and alarm levels for the transmitting transceiver:

  • OK: The value has not crossed a warning threshold.
  • LOW_WARNING: The value has crossed below the low warning threshold.
  • HIGH_WARNING: The value has crossed above the high warning threshold.
  • LOW_ALARM: The value has crossed below the low alarm threshold.
  • HIGH_ALARM: The value has crossed above the high alarm threshold.
links[].lacpStatus The LACP information for the single link.
links[].lacpStatus.state
  • ACTIVE: The link is configured and active within the bundle.
  • DETACHED: The link is not configured within the bundle.
links[].lacpStatus.googleSystemId The system ID of the port on the Google Cloud side of the LACP exchange.
links[].lacpStatus.neighborSystemId The system ID of the port on the customer's side of the LACP exchange.
links[].arpCache[] A list of InterconnectDiagnostics.ARPEntry objects, describing the ARP neighbor entries seen on this link. This is empty if the link is bundled.
links[].arpCache[].macAddress The MAC address of this ARP neighbor on this link.
links[].arpCache[].ipAddress The IP address of this ARP neighbor on this link.

What's next