blob: a1ae8ffdbe72941de306a54ec6b8960791a37361 [file] [log] [blame]
HIGUCHI Yuta7c1583c2015-12-03 23:08:54 -08001syntax = "proto3";
HIGUCHI Yutae3e90632016-05-11 16:44:01 -07002option java_package = "org.onosproject.grpc.net";
HIGUCHI Yuta7c1583c2015-12-03 23:08:54 -08003
4package Link;
5
6enum LinkType {
7 // Signifies that this is a direct single-segment link.
8 DIRECT = 0;
9
10 // Signifies that this link is potentially comprised from multiple
Yuta HIGUCHI3680fab2016-08-22 21:19:55 -070011 // underlying segments or hops, and as such should be used to tag
HIGUCHI Yuta7c1583c2015-12-03 23:08:54 -080012 // links traversing optical paths, tunnels or intervening 'dark'
13 // switches.
14 INDIRECT = 1;
15
16 // Signifies that this link is an edge, i.e. host link.
17 EDGE = 2;
18
19 // Signifies that this link represents a logical link backed by
20 // some form of a tunnel, e.g., GRE, MPLS, ODUk, OCH.
21 TUNNEL = 3;
22
23 // Signifies that this link is realized by fiber (either single channel or WDM).
24 OPTICAL = 4;
25
26 // Signifies that this link is a virtual link or a pseudo-wire.
27 VIRTUAL = 5;
28}
29
30message ConnectPoint {
31 oneof element_id {
32 // DeviceID as String DeviceId#toString
33 string device_id = 1;
34
35 // TODO add support to other element_id if required
36 }
37 // PortNumber as String PortNumber#toString
38 string port_number = 2;
39}
40
Shravan Ambatibb6b4452016-05-04 13:25:28 -070041enum LinkState {
42 ACTIVE = 0;
43 INACTIVE = 1;
44}
45
46// Corresponds to org.onosproject.net.Link.
47message LinkCore {
48 LinkState state = 1;
49 ConnectPoint src = 2;
50 ConnectPoint dst = 3;
51 LinkType type = 4;
52 map<string, string> annotations = 5;
53}
54
HIGUCHI Yuta7c1583c2015-12-03 23:08:54 -080055message LinkDescription {
56 ConnectPoint src = 1;
57 ConnectPoint dst = 2;
58 LinkType type = 3;
59 map<string, string> annotations = 4;
60}