blob: f5e2fd8190ae69fe21272bcdcd8ea4d30787d8d2 [file] [log] [blame]
Zack Williams52209662019-02-07 10:15:31 -07001syntax = "proto3";
2
William Kurkian6ea97f82019-03-13 15:51:55 -04003option go_package = "github.com/opencord/voltha-protos/go/voltha";
Zack Williams52209662019-02-07 10:15:31 -07004
5package voltha;
6
7import "google/api/annotations.proto";
8import "voltha_protos/meta.proto";
9import "voltha_protos/openflow_13.proto";
10
11message LogicalPortId {
12 // unique id of logical device
13 string id = 1;
14
15 // id of the port on the logical device
16 string port_id = 2;
17}
18
19message LogicalPort {
20 string id = 1;
21 openflow_13.ofp_port ofp_port = 2;
22 string device_id = 3;
23 uint32 device_port_no = 4;
24 bool root_port = 5;
Matt Jeanneret4604c422019-03-14 19:04:43 -040025 openflow_13.ofp_port_stats ofp_port_stats = 6;
Zack Williams52209662019-02-07 10:15:31 -070026}
27
28message LogicalPorts {
29 repeated LogicalPort items = 1;
30}
31
32message LogicalDevice {
33
34 // unique id of logical device
35 string id = 1;
36
37 // unique datapath id for the logical device (used by the SDN controller)
38 uint64 datapath_id = 2;
39
40 // device description
41 openflow_13.ofp_desc desc = 3;
42
43 // device features
44 openflow_13.ofp_switch_features switch_features = 4;
45
46 // name of the root device anchoring logical device
47 string root_device_id = 5;
48
49 // logical device ports
50 repeated LogicalPort ports = 128 [(child_node) = {key: "id"}];
51
52 // flows configured on the logical device
53 openflow_13.Flows flows = 129 [(child_node) = {}];
54
55 // flow groups configured on the logical device
56 openflow_13.FlowGroups flow_groups = 130 [(child_node) = {}];
57
58}
59
60message LogicalDevices {
61 repeated LogicalDevice items = 1;
62}