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";

    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];
}

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

    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";

    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];
}
