blob: 11844fe7cdd0fbcc298b9a69d709c9061cd35897 [file] [log] [blame]
Zsolt Haraszti00d9a842016-11-23 11:18:23 -08001syntax = "proto3";
2
Stephane Barbarie35595062018-02-08 08:34:39 -05003option go_package = "github.com/opencord/voltha/protos/go/voltha";
4
Zsolt Haraszti00d9a842016-11-23 11:18:23 -08005package voltha;
6
7import "meta.proto";
8import "google/api/annotations.proto";
9import "openflow_13.proto";
10
Jonathan Hart8d21c322018-04-17 07:42:02 -070011message 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}
Zsolt Haraszti66862032016-11-28 14:28:39 -080018
19message LogicalPort {
Zsolt Haraszti00d9a842016-11-23 11:18:23 -080020 string id = 1;
Zsolt Haraszti66862032016-11-28 14:28:39 -080021 openflow_13.ofp_port ofp_port = 2;
22 string device_id = 3;
23 uint32 device_port_no = 4;
24 bool root_port = 5;
Nicolas Palpacuere7359fc2018-06-15 14:10:48 -040025 openflow_13.ofp_port_stats ofp_port_stats = 6;
Zsolt Haraszti66862032016-11-28 14:28:39 -080026}
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)
Zsolt Haraszti00d9a842016-11-23 11:18:23 -080038 uint64 datapath_id = 2;
39
Zsolt Haraszti66862032016-11-28 14:28:39 -080040 // device description
Zsolt Haraszti00d9a842016-11-23 11:18:23 -080041 openflow_13.ofp_desc desc = 3;
42
Zsolt Haraszti66862032016-11-28 14:28:39 -080043 // 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
Koray Koktenefcdf522018-12-06 00:16:56 +030055 // meters configured on the logical device
56 openflow_13.Meters meters = 130 [(child_node) = {}];
57
Zsolt Haraszti66862032016-11-28 14:28:39 -080058 // flow groups configured on the logical device
Koray Koktenefcdf522018-12-06 00:16:56 +030059 openflow_13.FlowGroups flow_groups = 131 [(child_node) = {}];
Zsolt Haraszti00d9a842016-11-23 11:18:23 -080060
61}
62
63message LogicalDevices {
64 repeated LogicalDevice items = 1;
65}