syntax = "proto3";
option java_package = "org.onosproject.grpc";

package Port;

enum PortType {
  // Signifies copper-based connectivity.
  COPPER = 0;
  // Signifies optical fiber-based connectivity.
  FIBER = 1;
  // Signifies optical fiber-based packet port.
  PACKET = 2;
  // Signifies optical fiber-based optical tributary port (called T-port).
  //The signal from the client side will be formed into a ITU G.709 (OTN) frame.
  ODUCLT = 3;
  // Signifies optical fiber-based Line-side port (called L-port).
  OCH = 4;
  // Signifies optical fiber-based WDM port (called W-port).
  //Optical Multiplexing Section (See ITU G.709).
  OMS = 5;
  // Signifies virtual port.
  VIRTUAL = 6;
}

// TODO What are we going to do with more specific PortDescription ...
message PortDescription {
  // PortNumber as String PortNumber#toString
  string port_number = 1;
  bool is_enabled = 2;
  PortType type = 3;
  int64 port_speed = 4;
  map<string, string> annotations = 8;
}

message PortStatistics {
  int32 port = 1;
  int64 packets_received = 2;
  int64 packets_sent = 3;
  // TODO add all other fields
}
