option app_label = "fabric";
option name = "fabric";

message FabricService(Service) {
    option verbose_name = "Fabric Service";
    option description = "Service that manages and configures fabric switches in ONOS";
    
    optional bool autoconfig = 1 [
        help_text="Automatically apply addresses from AddressManager service to Fabric",
        default = True];
}

message Switch(XOSBase) {
    option verbose_name = "Fabric Switch";
    option description = "An individual fabric switch managed by ONOS";
    option sync_implemented = "True";

    required string ofId = 1 [
        help_text = "The unique OpenFlow ID of the fabric switch",
        max_length = 19];
    required string name = 2 [
        help_text = "The unique name of the fabric switch",
        max_length = 256];
    required string driver = 3 [
        help_text = "The driver used by the SDN controller",
        default = "ofdpa3",
        max_length = 256];
    required int32 ipv4NodeSid = 4 [
        help_text = "The MPLS label used by the switch [17 - 1048576]"];
    required string ipv4Loopback = 5 [
        help_text = "Fabric loopback interface",
        max_length = 17];
    required string routerMac = 6 [
        help_text = "MAC address of the fabric switch used for all interfaces",
        max_length = 17];
    required bool isEdgeRouter = 7 [
        help_text="True if the fabric switch is a leaf, False if it is a spine",
        default = True];
    optional string managementAddress = 8 [
        help_text = "Address where this switch can be managed",
        feedback_state = True,
        max_length = 1024];
    optional string pipeconf = 9 [
        help_text = "Pipeline configuration",
        max_length = 1024];
    optional manytoone fabric->FabricService:switch = 10:1013 [
        help_text = "The Fabric Service which owns this switch",
        db_index = True,
	tosca_key=True];
}

message SwitchPort(XOSBase) {
    option verbose_name = "Fabric Switch Port";
    option description = "A port on a fabric switch";
    option sync_implemented = "True";

    required manytoone switch->Switch:ports = 1:1001 [
        help_text = "The fabric switch the port belongs to",
        db_index = True,
        tosca_key=True];
    required int32 portId = 2 [
        help_text = "The unique port OpenFlow port ID",
        tosca_key=True];
    required bool host_learning = 3 [
        help_text = "whether or not to enable autodiscovery",
        default = True];
    optional string admin_state = 4 [
        help_text = "desired administrative state of port",
        choices = "(('enabled', 'enabled'), ('disabled', 'disabled'))",
        default = "enabled",
        max_length = 32];
    optional string oper_status = 5 [
        help_text = "operational status of port",
        choices = "(('enabled', 'enabled'), ('disabled', 'disabled'))",
        feedback_state = True,
        max_length = 32];
    optional string kind = 6 [
        help_text = "type of device attached to port",
        choices = "(('access', 'access'), ('internet', 'internet'))",
        max_length = 32];
}

message PortInterface(XOSBase) {
    option verbose_name = "Fabric Port Interface";
    option description = "An interface on a port on a fabric switch";

    required manytoone port->SwitchPort:interfaces = 1:1001 [
        help_text = "The fabric switch port the interface belongs to",
        db_index = True];
    required string name = 2 [
        help_text = "The unique name of the fabric switch port",
        max_length = 256];
    optional int32 vlanUntagged = 3 [
        help_text = "The optional untagged VLAN ID for the interface"];
}

message NodeToSwitchPort(XOSBase) {
    option verbose_name = "Node to switch port";
    option description = "Compute Node connection to a Fabric switch port";
    option policy_implemented = "True";

    required manytoone port->SwitchPort:node_to_switch_ports = 1:1002 [
        help_text = "The fabric switch port the node is connected to",
        db_index = True,
        tosca_key=True];
    required manytoone node->Node:node_to_switch_ports = 2:1004 [
        help_text = "The ComputeNode this port is connected to",
        db_index = True,
        tosca_key=True];
}

message FabricIpAddress(XOSBase) {
    option verbose_name = "IP address";
    option description = "An IP address associated with a port on a fabric switch";

    required manytoone interface->PortInterface:ips = 1:1001 [
        help_text = "The port interface the IP address belongs to",
        db_index = True,
        tosca_key = True];
    required string ip = 2 [
        help_text = "The unique IP address (either IPv4 or IPv6 / netmask)",
        max_length = 52,
        tosca_key = True,
        unique_with = "interface"];
    optional string description = 3 [
        help_text = "A short description of the IP address",
        max_length = 256];
}
