Scott Baker | 4eb615b | 2017-05-05 16:55:22 -0700 | [diff] [blame] | 1 | option name = "rcord"; |
Matteo Scandolo | 7689e1c | 2018-02-23 10:53:29 -0800 | [diff] [blame] | 2 | option app_label = "rcord"; |
Matteo Scandolo | 62a83f0 | 2018-03-01 15:59:18 -0800 | [diff] [blame] | 3 | option legacy="True"; |
Scott Baker | 4eb615b | 2017-05-05 16:55:22 -0700 | [diff] [blame] | 4 | |
Matteo Scandolo | d1707b3 | 2018-05-04 12:42:53 -0700 | [diff] [blame] | 5 | message RCORDService (Service) { |
| 6 | option verbose_name = "RCORD Service"; |
Scott Baker | fcd15f1 | 2019-01-24 13:14:42 -0800 | [diff] [blame] | 7 | option description = "Service that manages residential subscribers"; |
| 8 | |
| 9 | required string access = 11 [ |
| 10 | help_text = "Name of service that is managing the Access Network", |
| 11 | default = "voltha", choices = "(('voltha', 'VOLTHA'), ('unknown', 'Unknown'))", |
Scott Baker | fcd15f1 | 2019-01-24 13:14:42 -0800 | [diff] [blame] | 12 | max_length = 30]; |
Matteo Scandolo | d1707b3 | 2018-05-04 12:42:53 -0700 | [diff] [blame] | 13 | } |
| 14 | |
Matteo Scandolo | a4a279a | 2019-03-14 15:56:22 -0700 | [diff] [blame] | 15 | message BandwidthProfile(XOSBase) { |
| 16 | option verbose_name = "Bandwidth Profile"; |
| 17 | option description = "The Bandwidth Profile assinged to a residential subscriber"; |
| 18 | |
| 19 | // TODO add help_text |
Scott Baker | fa33033 | 2019-04-09 15:43:11 -0700 | [diff] [blame] | 20 | required string name = 3 [ |
| 21 | help_text = "Name of bandwidth profile", |
| 22 | max_length = 256]; |
Matteo Scandolo | a4a279a | 2019-03-14 15:56:22 -0700 | [diff] [blame] | 23 | required int32 cir = 4; |
| 24 | required int32 cbs = 5; |
| 25 | required int32 eir = 6; |
| 26 | required int32 ebs = 7; |
| 27 | required int32 air = 8; |
| 28 | } |
| 29 | |
Matteo Scandolo | d1707b3 | 2018-05-04 12:42:53 -0700 | [diff] [blame] | 30 | message RCORDSubscriber (ServiceInstance) { |
| 31 | option kind = "RCORDSubscriber"; |
| 32 | option verbose_name = "RCORD Subscriber"; |
| 33 | option owner_class_name = "RCORDService"; |
Scott Baker | fcd15f1 | 2019-01-24 13:14:42 -0800 | [diff] [blame] | 34 | option description = "A residential subscriber"; |
vigneshethiraj | d9b1f8e | 2019-06-04 19:00:14 +0530 | [diff] [blame] | 35 | option policy_implemented = "True"; |
Matteo Scandolo | fa8d971 | 2019-06-06 15:46:02 -0700 | [diff] [blame] | 36 | option sync_implemented = "True"; |
Scott Baker | 4eb615b | 2017-05-05 16:55:22 -0700 | [diff] [blame] | 37 | |
Matteo Scandolo | cc94e90 | 2018-05-22 15:25:25 -0700 | [diff] [blame] | 38 | // vsg related configurations |
Scott Baker | fcd15f1 | 2019-01-24 13:14:42 -0800 | [diff] [blame] | 39 | optional manytoone creator->User:created_rcord_subscribers = 15 [ |
| 40 | help_text = "User who created this RCORDSubscriber object", |
| 41 | db_index = True]; |
| 42 | optional string status = 11 [ |
| 43 | help_text = "Status of subscriber provisioning and authentication", |
| 44 | content_type = "stripped", |
Scott Baker | fcd15f1 | 2019-01-24 13:14:42 -0800 | [diff] [blame] | 45 | default = "enabled", |
| 46 | choices = "(('enabled', 'Enabled'), ('disabled', 'Disabled'), ('pre-provisioned', 'Pre Provisioned'), ('awaiting-auth', 'Awaiting Authentication'), ('auth-failed', 'Authentication Failed'))", |
| 47 | max_length = 30]; |
Matteo Scandolo | f5a8cf9 | 2018-04-10 14:42:21 -0700 | [diff] [blame] | 48 | |
Matteo Scandolo | cc94e90 | 2018-05-22 15:25:25 -0700 | [diff] [blame] | 49 | // parameters for r-cord lite |
Scott Baker | fcd15f1 | 2019-01-24 13:14:42 -0800 | [diff] [blame] | 50 | optional int32 c_tag = 12 [ |
| 51 | help_text = "Customer VLAN Tag, one half of the double-tag that identifies this subscriber's traffic", |
Scott Baker | fcd15f1 | 2019-01-24 13:14:42 -0800 | [diff] [blame] | 52 | min_value = 0, |
| 53 | max_value = 4096]; |
| 54 | optional int32 s_tag = 19 [ |
| 55 | help_text = "Service VLAN Tag, one half of the double-tag that identifies this subscriber's traffic", |
Scott Baker | fcd15f1 | 2019-01-24 13:14:42 -0800 | [diff] [blame] | 56 | min_value = 0, |
| 57 | max_value = 4096]; |
| 58 | required string onu_device = 13 [ |
Scott Baker | fa33033 | 2019-04-09 15:43:11 -0700 | [diff] [blame] | 59 | help_text = "ONUDevice serial number", |
Matteo Scandolo | da74d0d | 2019-05-24 14:15:06 -0700 | [diff] [blame] | 60 | max_length = 256, |
| 61 | tosca_key = True]; |
Scott Baker | fcd15f1 | 2019-01-24 13:14:42 -0800 | [diff] [blame] | 62 | optional string mac_address = 18 [ |
Scott Baker | fa33033 | 2019-04-09 15:43:11 -0700 | [diff] [blame] | 63 | help_text = "Subscriber MAC Address", |
| 64 | max_length = 256]; |
Matteo Scandolo | a2b2e22 | 2019-06-18 18:32:43 -0700 | [diff] [blame^] | 65 | required int32 tech_profile_id = 23 [ |
| 66 | help_text = "Technology profile id to be used along with Technology type to retreive the profile", |
| 67 | min_value = 0, |
| 68 | max_value = 65535]; |
Matteo Scandolo | 86801bd | 2018-08-08 08:55:18 -0700 | [diff] [blame] | 69 | |
| 70 | // operator specific fields |
Scott Baker | fcd15f1 | 2019-01-24 13:14:42 -0800 | [diff] [blame] | 71 | optional string nas_port_id = 20 [ |
Scott Baker | fa33033 | 2019-04-09 15:43:11 -0700 | [diff] [blame] | 72 | help_text = "NAS Port ID used in Radius to identify physical interface used to authenticate subscriber", |
| 73 | max_length = 256]; |
Scott Baker | fcd15f1 | 2019-01-24 13:14:42 -0800 | [diff] [blame] | 74 | optional string circuit_id = 21 [ |
Scott Baker | fa33033 | 2019-04-09 15:43:11 -0700 | [diff] [blame] | 75 | help_text = "Option 82 Circuit ID for DHCP relay agent", |
| 76 | max_length = 256]; |
Scott Baker | fcd15f1 | 2019-01-24 13:14:42 -0800 | [diff] [blame] | 77 | optional string remote_id = 22 [ |
Scott Baker | fa33033 | 2019-04-09 15:43:11 -0700 | [diff] [blame] | 78 | help_text = "Option 82 Remote ID for DHCP relay agent", |
| 79 | max_length = 256]; |
Matteo Scandolo | a4a279a | 2019-03-14 15:56:22 -0700 | [diff] [blame] | 80 | |
| 81 | required manytoone upstream_bps->BandwidthProfile:us_subscriber = 31:1001 [ |
| 82 | help_text = "The subscriber the IP address belongs to"]; |
| 83 | required manytoone downstream_bps->BandwidthProfile:ds_subscriber = 32:1002 [ |
| 84 | help_text = "The subscriber the IP address belongs to"]; |
Scott Baker | 4eb615b | 2017-05-05 16:55:22 -0700 | [diff] [blame] | 85 | } |
Luca Prete | d6700ba | 2018-09-12 16:40:49 -0700 | [diff] [blame] | 86 | |
| 87 | message RCORDIpAddress(XOSBase) { |
| 88 | option verbose_name = "IP address"; |
Scott Baker | fcd15f1 | 2019-01-24 13:14:42 -0800 | [diff] [blame] | 89 | option description = "An IP Address assinged to a residential subscriber"; |
Luca Prete | d6700ba | 2018-09-12 16:40:49 -0700 | [diff] [blame] | 90 | |
Scott Baker | fcd15f1 | 2019-01-24 13:14:42 -0800 | [diff] [blame] | 91 | required manytoone subscriber->RCORDSubscriber:ips = 1:1001 [ |
| 92 | help_text = "The subscriber the IP address belongs to", |
Scott Baker | bf20994 | 2019-03-08 10:53:43 -0800 | [diff] [blame] | 93 | db_index = True]; |
Scott Baker | fcd15f1 | 2019-01-24 13:14:42 -0800 | [diff] [blame] | 94 | required string ip = 2 [ |
| 95 | help_text = "The unique IP address (either IPv4 or IPv6 / netmask)", |
Scott Baker | fcd15f1 | 2019-01-24 13:14:42 -0800 | [diff] [blame] | 96 | max_length = 52, |
Scott Baker | fcd15f1 | 2019-01-24 13:14:42 -0800 | [diff] [blame] | 97 | unique_with = "subscriber"]; |
| 98 | optional string description = 3 [ |
| 99 | help_text = "A short description of the IP address", |
Scott Baker | fa33033 | 2019-04-09 15:43:11 -0700 | [diff] [blame] | 100 | text = True]; |
Scott Baker | bf20994 | 2019-03-08 10:53:43 -0800 | [diff] [blame] | 101 | } |