syntax = "proto3";

option go_package = "github.com/opencord/voltha-protos/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;
}
