15
15
//
16
16
17
17
// This file defines the gNOI APIs used to perform diagnostic operations on a
18
- // switching box .
18
+ // network device .
19
19
syntax = "proto3" ;
20
20
21
21
package gnoi.diag ;
@@ -24,11 +24,12 @@ package gnoi.diag;
24
24
// 1- BERT related RPCs: Used to perform Bit Error Rate Test (BERT)
25
25
// operations on a set of ports.
26
26
// 2- BURNIN related RPCs: Used to perform a vendor-provided Burnin test on the
27
- // switch to ensure the box is ready to start serving traffic. Burnin tests
28
- // are typically run in the field, as part of turnup or repair workflow.
27
+ // network device to ensure the device is ready to start serving traffic.
28
+ // Burnin tests are typically run in the field, as part of turnup or repair
29
+ // workflow.
29
30
// Note: The RPCs defined here are are stateless operations and them
30
- // failing/passing should not leave any permanent artifact on the switch (unless
31
- // there is something wrong HW-wise).
31
+ // failing/passing should not leave any permanent artifact on the network device
32
+ // (unless there is something wrong HW-wise).
32
33
// Note: By "port" we refer to a channelized frontpanel or backplane port on a
33
34
// chassis. In OpenConfig YANG models, there is a one-to-one relationship
34
35
// between a port as used here and an "interface". Therefore, the "gnoi.Path"
@@ -58,15 +59,15 @@ service Diag {
58
59
// - When the BERT operation ID does not match the in progress or completed
59
60
// BERT operation on any of the ports specified by the request.
60
61
// The RPC returns an OK status of none of these situations is encountered.
61
- // Note that a BERT operation is considered completed if the switch has a
62
+ // Note that a BERT operation is considered completed if the device has a
62
63
// record/history of it. Also note that it is OK to receive a stop request for
63
64
// a port which has completed BERT, as long as the recorded BERT operation ID
64
65
// matches the one specified by the request.
65
66
rpc StopBERT (StopBERTRequest ) returns (StopBERTResponse ) {}
66
67
67
68
// Gets BERT results during the BERT operation or after it completes. The
68
69
// caller uses the BERT operation ID it previously used when starting the
69
- // operation to query it. The switch is expected to keep the results for
70
+ // operation to query it. The device is expected to keep the results for
70
71
// last N BERT operations for some amount of time, as specified by the
71
72
// product requirement. This RPC is expected to return error status in the
72
73
// following situations:
@@ -75,7 +76,7 @@ service Diag {
75
76
// - When the BERT operation ID does not match the in progress or completed
76
77
// BERT operation on any of the ports specified by the request.
77
78
// The RPC returns an OK status of none of these situations is encountered.
78
- // Note that a BERT operation is considered completed if switch has a
79
+ // Note that a BERT operation is considered completed if device has a
79
80
// record of it.
80
81
rpc GetBERTResult (GetBERTResultRequest ) returns (GetBERTResultResponse ) {}
81
82
@@ -143,6 +144,7 @@ message StartBERTRequest {
143
144
// Unique BERT operation ID specified by the client. Multiple BERTs run on
144
145
// different ports can have the same BERT operation ID. This ID will be used
145
146
// later to stop the operation and/or get its results.
147
+ // TODO: Investigate whether we can use numerical IDs instead.
146
148
string bert_operation_id = 1 ;
147
149
// All the per-port BERTs that are considered one BERT operation and have the
148
150
// same BERT operation ID.
@@ -190,6 +192,9 @@ message StopBERTResponse {
190
192
repeated PerPortResponse per_port_responses = 2 ;
191
193
}
192
194
195
+ // TODO: If there is no use case to get the BERT results for all the ports
196
+ // independent of the bert_operation_id, we can simplify this message and
197
+ // return the results for all the ports associated with an operation ID.
193
198
message GetBERTResultRequest {
194
199
// Per-port BERT get result requests.
195
200
message PerPortRequest {
0 commit comments