blob: 4af0a1460682fc82db3be18b551a63b538bfa0b8 [file] [log] [blame]
Zack Williams52209662019-02-07 10:15:31 -07001syntax = "proto3";
2
3option go_package = "github.com/opencord/voltha-go/protos/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}
26
27message LogicalPorts {
28 repeated LogicalPort items = 1;
29}
30
31message LogicalDevice {
32
33 // unique id of logical device
34 string id = 1;
35
36 // unique datapath id for the logical device (used by the SDN controller)
37 uint64 datapath_id = 2;
38
39 // device description
40 openflow_13.ofp_desc desc = 3;
41
42 // device features
43 openflow_13.ofp_switch_features switch_features = 4;
44
45 // name of the root device anchoring logical device
46 string root_device_id = 5;
47
48 // logical device ports
49 repeated LogicalPort ports = 128 [(child_node) = {key: "id"}];
50
51 // flows configured on the logical device
52 openflow_13.Flows flows = 129 [(child_node) = {}];
53
54 // flow groups configured on the logical device
55 openflow_13.FlowGroups flow_groups = 130 [(child_node) = {}];
56
57}
58
59message LogicalDevices {
60 repeated LogicalDevice items = 1;
61}