| option name = "rcord"; |
| option app_label = "rcord"; |
| option legacy="True"; |
| |
| message RCORDService (Service) { |
| option verbose_name = "RCORD Service"; |
| option description = "Service that manages residential subscribers"; |
| |
| required string access = 11 [ |
| help_text = "Name of service that is managing the Access Network", |
| default = "voltha", choices = "(('voltha', 'VOLTHA'), ('unknown', 'Unknown'))", |
| max_length = 30]; |
| } |
| |
| message BandwidthProfile(XOSBase) { |
| option verbose_name = "Bandwidth Profile"; |
| option description = "The Bandwidth Profile assinged to a residential subscriber"; |
| |
| // TODO add help_text |
| required string name = 3 [ |
| help_text = "Name of bandwidth profile", |
| max_length = 256]; |
| required int32 cir = 4; |
| required int32 cbs = 5; |
| required int32 eir = 6; |
| required int32 ebs = 7; |
| required int32 air = 8; |
| } |
| |
| message RCORDSubscriber (ServiceInstance) { |
| option kind = "RCORDSubscriber"; |
| option verbose_name = "RCORD Subscriber"; |
| option owner_class_name = "RCORDService"; |
| option description = "A residential subscriber"; |
| |
| // vsg related configurations |
| optional manytoone creator->User:created_rcord_subscribers = 15 [ |
| help_text = "User who created this RCORDSubscriber object", |
| db_index = True]; |
| optional string status = 11 [ |
| help_text = "Status of subscriber provisioning and authentication", |
| content_type = "stripped", |
| default = "enabled", |
| choices = "(('enabled', 'Enabled'), ('disabled', 'Disabled'), ('pre-provisioned', 'Pre Provisioned'), ('awaiting-auth', 'Awaiting Authentication'), ('auth-failed', 'Authentication Failed'))", |
| max_length = 30]; |
| |
| // parameters for r-cord lite |
| optional int32 c_tag = 12 [ |
| help_text = "Customer VLAN Tag, one half of the double-tag that identifies this subscriber's traffic", |
| min_value = 0, |
| max_value = 4096]; |
| optional int32 s_tag = 19 [ |
| help_text = "Service VLAN Tag, one half of the double-tag that identifies this subscriber's traffic", |
| min_value = 0, |
| max_value = 4096]; |
| required string onu_device = 13 [ |
| help_text = "ONUDevice serial number", |
| max_length = 256, |
| tosca_key = True]; |
| optional string mac_address = 18 [ |
| help_text = "Subscriber MAC Address", |
| max_length = 256]; |
| |
| // operator specific fields |
| optional string nas_port_id = 20 [ |
| help_text = "NAS Port ID used in Radius to identify physical interface used to authenticate subscriber", |
| max_length = 256]; |
| optional string circuit_id = 21 [ |
| help_text = "Option 82 Circuit ID for DHCP relay agent", |
| max_length = 256]; |
| optional string remote_id = 22 [ |
| help_text = "Option 82 Remote ID for DHCP relay agent", |
| max_length = 256]; |
| optional int32 tech_profile_id = 23 [ |
| help_text = "Technology profile id to be used along with Technology type to retreive the profile", |
| min_value = 0, |
| max_value = 65535]; |
| |
| required manytoone upstream_bps->BandwidthProfile:us_subscriber = 31:1001 [ |
| help_text = "The subscriber the IP address belongs to"]; |
| required manytoone downstream_bps->BandwidthProfile:ds_subscriber = 32:1002 [ |
| help_text = "The subscriber the IP address belongs to"]; |
| } |
| |
| message RCORDIpAddress(XOSBase) { |
| option verbose_name = "IP address"; |
| option description = "An IP Address assinged to a residential subscriber"; |
| |
| required manytoone subscriber->RCORDSubscriber:ips = 1:1001 [ |
| help_text = "The subscriber the IP address belongs to", |
| db_index = True]; |
| required string ip = 2 [ |
| help_text = "The unique IP address (either IPv4 or IPv6 / netmask)", |
| max_length = 52, |
| unique_with = "subscriber"]; |
| optional string description = 3 [ |
| help_text = "A short description of the IP address", |
| text = True]; |
| } |