This repository was archived by the owner on Jun 11, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathsai_tam_buffer_stats.proto
More file actions
77 lines (60 loc) · 2.73 KB
/
Copy pathsai_tam_buffer_stats.proto
File metadata and controls
77 lines (60 loc) · 2.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/*
* Copyright (c) 2017 Broadcom. The term "Broadcom" refers
* to Broadcom Limited and/or its subsidiaries.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
syntax = "proto2";
import "sai_tam_main.proto";
message BufferStatistics {
// Counter: the total number of dropped bytes
optional uint64 drop_bytes = 1 [(telemetry_options).is_counter = true];
// Peak: the max measured buffer depth, in bytes, across all measurements since boot.
optional uint64 peak_buffer_occupancy_bytes = 2 [(telemetry_options).is_gauge = true];
// Peak: the max measured buffer depth, in percent, across all measurements since boot.
optional uint32 peak_buffer_occupancy_percent = 3 [(telemetry_options).is_gauge = true];
}
enum QueueType {
QUEUE_UNICAST = 1; //Unicast Queue
QUEUE_MULTICAST = 2; // Multicast Queue
}
message QueueStatistics {
required uint64 queue_oid = 1; //Queue
required QueueType queue_type = 2; // Unicast or Multicast ?
required BufferStatistics stats = 3; // Buffer Statistics
}
enum IPGType {
IPG_SHARED = 1; //IPG Shared
IPG_XOFF = 2; // IPG Headroom
}
message IPGStatistics {
required uint64 ipg_oid = 1; // IPG Index
required IPGType ipg_type = 2; // Shared or Headroom
required BufferStatistics stats = 3; // Buffer Statistics
}
enum BufferPoolType {
BUFFERPOOL_INGRESS = 1; // Ingress pool
BUFFERPOOL_EGRESS = 2; // Egress pool
}
message BufferPoolStatistics {
required uint64 pool_oid = 1; // Pool index
required BufferPoolType pool_type = 2; // Ingress or Egress ?
required BufferStatistics stats = 3; // Buffer statistics
}
message InterfaceBufferStatistics {
required uint64 port_oid = 1; // Interface Name as known in the system
repeated QueueStatistics queue_stats = 2; // Queue statistics for this port
repeated IPGStatistics ipg_stats = 3; // IPG statistics for this port
repeated BufferPoolStatistics pool_stats = 4; // Pool statistics for this port
}
message SwitchBufferStats {
repeated BufferPoolStatistics pool_stats = 1; // Global Pool Statistics
repeated InterfaceBufferStatistics intf_buffer_stats = 2; // Per-port statistics
}