blob: dfb7c789c014069ef15ff34c762ef8b8236f3069 [file] [log] [blame]
syntax = "proto3";
option go_package = "github.com/opencord/voltha-protos/v2/go/voltha";
package voltha;
import "google/api/annotations.proto";
import "voltha_protos/meta.proto";
import "voltha_protos/openflow_13.proto";
message LogicalPortId {
// unique id of logical device
string id = 1;
// id of the port on the logical device
string port_id = 2;
}
message LogicalPort {
string id = 1;
openflow_13.ofp_port ofp_port = 2;
string device_id = 3;
uint32 device_port_no = 4;
bool root_port = 5;
openflow_13.ofp_port_stats ofp_port_stats = 6;
}
message LogicalPorts {
repeated LogicalPort items = 1;
}
message LogicalDevice {
// unique id of logical device
string id = 1;
// unique datapath id for the logical device (used by the SDN controller)
uint64 datapath_id = 2;
// device description
openflow_13.ofp_desc desc = 3;
// device features
openflow_13.ofp_switch_features switch_features = 4;
// name of the root device anchoring logical device
string root_device_id = 5;
// logical device ports
repeated LogicalPort ports = 128 [(child_node) = {key: "id"}];
// flows configured on the logical device
openflow_13.Flows flows = 129 [(child_node) = {}];
// flow groups configured on the logical device
openflow_13.FlowGroups flow_groups = 130 [(child_node) = {}];
// meters configured on the logical device
openflow_13.Meters meters = 131 [(child_node) = {}];
}
message LogicalDevices {
repeated LogicalDevice items = 1;
}