blob: 84e7ec547fe94cf83a4bcd473f2add69126770d8 [file] [log] [blame]
David K. Bainbridge24ff0232019-04-30 13:26:19 -07001syntax = "proto3";
2
3option go_package = "github.com/opencord/voltha-protos/go/voltha";
4
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;
25 openflow_13.ofp_port_stats ofp_port_stats = 6;
26}
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
Manikkaraj kb1a10922019-07-29 12:10:34 -040058 // meters configured on the logical device
59 openflow_13.Meters meters = 131 [(child_node) = {}];
60
61
David K. Bainbridge24ff0232019-04-30 13:26:19 -070062}
63
64message LogicalDevices {
65 repeated LogicalDevice items = 1;
66}