1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- // Copyright (c) 2011 Arista Networks, Inc. All rights reserved.
- // Use of this source code is governed by the Apache License 2.0
- // that can be found in the COPYING file.
- //
- // This Google Protocol Buffer schema contains the message
- // that are used for Lanz streaming.
- //
- syntax = "proto2";
- option go_package = "proto";
- package LanzProtobuf;
- message ConfigRecord {
- required uint64 timestamp = 1; // Time of change in configuration in micro-seconds (UTC)
- required uint32 lanzVersion = 2; // LANZ feature version
- required uint32 numOfPorts = 3; // Num of ports in the switch
- required uint32 segmentSize = 4; // Segement size
- required uint32 maxQueueSize = 5; // Maximum queue size in segments
- message PortConfigRecord {
- required string intfName = 1; // Name of the port
- required uint32 switchId = 2; // Id of the chip on a multi-chip system
- required uint32 portId = 3; // Id of the port
- required bool internalPort = 4; // 'True' if it's an internal port
- required uint32 highThreshold = 5; // Higher threshold
- required uint32 lowThreshold = 6; // Lower threshold
- }
- repeated PortConfigRecord portConfigRecord = 6; // Lanz config details of each port
- optional uint32 globalUsageHighThreshold = 7; // High threshold for global usage monitoring
- optional uint32 globalUsageLowThreshold = 8; // Low threshold for global usage monitoring
- optional bool globalUsageReportingEnabled = 9; // Global buffer reporting enabled
- }
- message GlobalBufferUsageRecord {
- enum EntryType {
- LOW = 1;
- UPDATE = 2;
- HIGH = 3;
- }
- optional EntryType entryType = 1;
- optional uint64 timestamp = 2; // Time of entry in micro-seconds (UTC)
- optional uint32 bufferSize = 3; // Size of global buffer
- optional uint32 duration = 4; // duration of buffer usage between high and low
- }
- message CongestionRecord {
- required uint64 timestamp = 1; // Time of congestion in micro-seconds (UTC)
- required string intfName = 2; // Name of the port
- required uint32 switchId = 3; // Id of the chip on a multi-chip system
- required uint32 portId = 4; // Id of the port
- required uint32 queueSize = 5; // Queue size in segments at time of congestion
- enum EntryType {
- START = 1;
- UPDATE = 2;
- END = 3;
- }
- optional EntryType entryType = 6; // Type of entry
- optional uint32 trafficClass = 7; // Traffic Class
- optional uint64 timeOfMaxQLen = 8; // Time of max q len since congestion start
- optional uint32 txLatency = 9; // Transmit latency
- optional uint32 qDropCount = 10; // Queue drop count
- optional string fabricPeerIntfName = 11; // Name of the fabric port's peer
- }
- message ErrorRecord {
- required uint64 timestamp = 1; // Time of event in micro-seconds (UTC)
- required string errorMessage = 2; // Text message
- }
- message LanzRecord {
- optional ConfigRecord configRecord = 1;
- optional CongestionRecord congestionRecord = 2;
- optional ErrorRecord errorRecord = 3;
- optional GlobalBufferUsageRecord globalBufferUsageRecord = 4;
- }
|