blob: 54b9e0296bc5dca1e876371463df9d25000724f6 [file] [log] [blame]
khenaidooabad44c2018-08-03 16:58:35 -04001syntax = "proto3";
2
3option go_package = "github.com/opencord/voltha-go/protos/voltha";
4
5package voltha;
6
7import "meta.proto";
8import "google/api/annotations.proto";
9import "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 Jeanneret3815e322019-03-12 19:15:49 -040025 openflow_13.ofp_port_stats ofp_port_stats = 6;
khenaidooabad44c2018-08-03 16:58:35 -040026}
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}