interface.proto

Defines a gNOI protocol AP for interface.

Table 1. Interface remote procedure calls
RPC Purpose
ClearInterfaceCounters Reset counters for the specified interface.
syntax = "proto3";

package gnoi.interface;

import "github.com/openconfig/gnoi/types/types.proto";

option go_package = "github.com/openconfig/gnoi/interface";

option (types.gnoi_version) = "0.1.0";

service Interface {
  // SetLoopbackMode is used to set the mode of loopback on a interface.
  rpc SetLoopbackMode(SetLoopbackModeRequest)
    returns (SetLoopbackModeResponse) {}

  // GetLoopbackMode is used to get the mode of loopback on a interface.
  rpc GetLoopbackMode(GetLoopbackModeRequest)
    returns (GetLoopbackModeResponse) {}

  // ClearInterfaceCounters will reset the counters for the provided interface.
  rpc ClearInterfaceCounters(ClearInterfaceCountersRequest)
    returns (ClearInterfaceCountersResponse) {}

}

// SetLoopbackModeRequest requests the provide interface be have its loopback
// mode set to the specified mode. The mode may be vendor specific. For example,
// on a transport device, available modes are "none", "mac", "phy", 
// "phy_remote", "framer_facility", and "framer_terminal".
message SetLoopbackModeRequest {
  types.Path interface = 1;
  string mode = 2;
}

message SetLoopbackModeResponse {
}

message GetLoopbackModeRequest {
  types.Path interface = 1;
}

message GetLoopbackModeResponse {
  string mode = 1;
}

message ClearInterfaceCountersRequest {
  repeated types.Path interface = 1;
}

message ClearInterfaceCountersResponse {
}