component: Switch
proto_imports:
  - vehicle/network/diagnostics/switch_diagnostics.proto
metric: SwitchDiagnostic
namespace: zoox::vehicle::network
faults:
  - id: 1
    name: NoConnection
    severity: ERROR
    description: Could not connect to switch
    freeze_frame: SwitchIOProblemFreezeFrame
    triggers_nogo: true
    deprecated: true
  - id: 10
    name: ConnectionError
    severity: ERROR
    description: Could not connect to switch. Check that switch is pingable and that SNMP is enabled and configured correctly.
    freeze_frame: ConnectionErrorFF
    triggers_nogo: true
  - id: 2
    name: InterfaceStateChange
    severity: WARNING
    description: Interface state changed (up vs down)
    freeze_frame: SwitchIOProblemFreezeFrame
    deprecated: true
  - id: 3
    name: InterfaceStatistics
    severity: WARNING
    description: Problem with interface statistics
    freeze_frame: SwitchIOProblemFreezeFrame
    deprecated: true
  - id: 4
    name: PortDown
    severity: WARNING
    description: Switch port(s) down. A device that should be connected to the switch is not reporting link. This may happen if a cable is unplugged or damaged, or a device is listed in Universal Config but is not present. See freeze frame for the list of ports and expected device names.
    freeze_frame: PortDownFF
  - id: 5
    name: WrongPortSpeed
    severity: WARNING
    description: Switch port reports the wrong speed. This may happen if there is a signal integrity problem that causes the link to fall back to a slower speed, or because the wrong device is connected on this port and it is attempting to negotiate a different speed. See freeze frame for the list of ports, expected and actual speeds.
    freeze_frame: PortSpeedFF
  - id: 6
    name: DroppedPackets
    severity: WARNING
    description: Packets are being dropped due to network congestion.
    freeze_frame: DroppedPacketsFF
  - id: 7
    name: PacketErrors
    severity: WARNING
    description: Packet errors exceed design threshold. This typically indicates a signal integrity problem on the specified ports. See freeze frame for the ports and error rate.
    freeze_frame: PacketErrorsFF
  - id: 8
    name: UnexpectedDevice
    severity: WARNING
    description: Switch port(s) active but no device expected. This indicates that an unexpected device is connected to the vehicle network, either because the device is missing from the Universal Config or an unauthorized device is connected to the network.
    freeze_frame: UnexpectedDeviceFF
  - id: 9
    name: PortFlapping
    severity: WARNING
    description: Switch port(s) changed state multiple times since last report. This typically indicates a loose cable or signal integrity problem.
    freeze_frame: PortFlappingFF
  - id: 11
    name: PtpMissing
    severity: WARNING
    description: 802.1AS statistics are missing for some switch ports. This is  a bug.
    freeze_frame: PtpMissingFF
  - id: 12
    name: PtpIncorrectRole
    severity: WARNING
    description: Switch port(s) are set to the wrong 802.1AS role. This is a configuration bug in the switch.
    freeze_frame: PtpIncorrectRoleFF
  - id: 13
    name: PtpRxDiscards
    severity: WARNING
    description: Switch port(s) are dropping 802.1AS packets. This typically indicates a configuration or communication error between the switch and its 802.1AS peer, or a bug in either device.
    freeze_frame: PtpRxDiscardFF
  - id: 14
    name: PtpSyncTimeout
    severity: WARNING
    description: Switch port(s) have not received 802.1AS sync messages within the expected timeout. Check the upstream device to verify that it is sending 802.1AS sync messages.
    freeze_frame: PtpSyncTimeoutFF
  - id: 15
    name: PtpPdelayLostResponses
    severity: WARNING
    description: Switch port(s) have not received 802.1AS pDelay Response messages. Check that the 802.1AS peer on each port is running 802.1AS and sending pDelay responses.
    freeze_frame: PtpPdelayLostResponsesFF
  - id: 16
    name: PtpOffsetFromMasterHigh
    severity: WARNING
    description: Clock offset from switch to 802.1AS server exceeds threshold. See freeze frame for current offset and threshold.
    freeze_frame: PtpOffsetFromMasterHighFF
