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

package Link;

enum LinkType {
  // Signifies that this is a direct single-segment link.
  DIRECT = 0;

  // Signifies that this link is potentially comprised from multiple
  // underlying segments or hops, and as such should be used to tag
  // links traversing optical paths, tunnels or intervening 'dark'
  // switches.
  INDIRECT = 1;

  // Signifies that this link is an edge, i.e. host link.
  EDGE = 2;

  // Signifies that this link represents a logical link backed by
  // some form of a tunnel, e.g., GRE, MPLS, ODUk, OCH.
  TUNNEL = 3;

  // Signifies that this link is realized by fiber (either single channel or WDM).
  OPTICAL = 4;

  // Signifies that this link is a virtual link or a pseudo-wire.
  VIRTUAL = 5;
}

message ConnectPoint {
  oneof element_id {
    // DeviceID as String DeviceId#toString
    string device_id = 1;

    // TODO add support to other element_id if required
  }
  // PortNumber as String PortNumber#toString
  string port_number = 2;
}

enum LinkState {
    ACTIVE = 0;
    INACTIVE = 1;
}

// Corresponds to org.onosproject.net.Link.
message LinkCore {
  LinkState state = 1;
  ConnectPoint src = 2;
  ConnectPoint dst = 3;
  LinkType type = 4;
  map<string, string> annotations = 5;
}

message LinkDescription {
  ConnectPoint src = 1;
  ConnectPoint dst = 2;
  LinkType type = 3;
  map<string, string> annotations = 4;
}
