diff --git a/xos/synchronizer/migrations/0004_auto_20190409_1736.py b/xos/synchronizer/migrations/0004_auto_20190409_1736.py
new file mode 100644
index 0000000..18ebf19
--- /dev/null
+++ b/xos/synchronizer/migrations/0004_auto_20190409_1736.py
@@ -0,0 +1,59 @@
+# Copyright 2017-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.20 on 2019-04-09 21:36
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('att-workflow-driver', '0003_auto_20190312_1833'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='attworkflowdriverserviceinstance',
+            name='dhcp_state',
+            field=models.CharField(choices=[(b'AWAITING', b'Awaiting'), (b'DHCPDISCOVER', b'DHCPDISCOVER'), (b'DHCPACK', b'DHCPACK'), (b'DHCPREQUEST', b'DHCPREQUEST')], default=b'AWAITING', max_length=256),
+        ),
+        migrations.AlterField(
+            model_name='attworkflowdriverserviceinstance',
+            name='of_dpid',
+            field=models.CharField(help_text=b'OLT Openflow ID', max_length=256),
+        ),
+        migrations.AlterField(
+            model_name='attworkflowdriverserviceinstance',
+            name='onu_state',
+            field=models.CharField(choices=[(b'AWAITING', b'Awaiting'), (b'ENABLED', b'Enabled'), (b'DISABLED', b'Disabled')], default=b'AWAITING', help_text=b'ONU administrative state', max_length=256),
+        ),
+        migrations.AlterField(
+            model_name='attworkflowdriverserviceinstance',
+            name='serial_number',
+            field=models.CharField(help_text=b'Serial number of ONU', max_length=256, unique=True),
+        ),
+        migrations.AlterField(
+            model_name='attworkflowdriverserviceinstance',
+            name='status_message',
+            field=models.CharField(blank=True, default=b'', help_text=b'Status text of current state machine state', max_length=256, null=True),
+        ),
+        migrations.AlterField(
+            model_name='attworkflowdriverwhitelistentry',
+            name='serial_number',
+            field=models.CharField(help_text=b'ONU Serial Number', max_length=256),
+        ),
+    ]
diff --git a/xos/synchronizer/models/att-workflow-driver.xproto b/xos/synchronizer/models/att-workflow-driver.xproto
index 5d4f61a..603e059 100644
--- a/xos/synchronizer/models/att-workflow-driver.xproto
+++ b/xos/synchronizer/models/att-workflow-driver.xproto
@@ -14,7 +14,7 @@
 
     required string serial_number = 2 [
         help_text = "Serial number of ONU",
-        max_length = 254,
+        max_length = 256,
         tosca_key=True,
         unique = True];
     required string authentication_state = 3 [
@@ -25,7 +25,7 @@
         max_length = 50];
     required string of_dpid = 4 [
         help_text = "OLT Openflow ID",
-        max_length = 254];
+        max_length = 256];
     required int32 uni_port_id = 5 [
         help_text = "ONU UNI port ID"];
     required string onu_state = 6 [
@@ -33,13 +33,13 @@
         choices = "(('AWAITING', 'Awaiting'), ('ENABLED', 'Enabled'), ('DISABLED', 'Disabled'))",
         default = "AWAITING",
         feedback_state = True,
-        max_length = 254];
+        max_length = 256];
     optional string status_message = 7 [
         help_text = "Status text of current state machine state",
         default = "",
-        max_length = 254];
+        max_length = 256];
     required string dhcp_state = 8 [
-        max_length = 254,
+        max_length = 256,
         default = "AWAITING",
         choices = "(('AWAITING', 'Awaiting'), ('DHCPDISCOVER', 'DHCPDISCOVER'), ('DHCPACK', 'DHCPACK'), ('DHCPREQUEST', 'DHCPREQUEST'))",
         feedback_state = True];
@@ -64,7 +64,7 @@
         tosca_key = True];
     required string serial_number = 2 [
         help_text = "ONU Serial Number",
-        max_length = 254,
+        max_length = 256,
         tosca_key = True,
         unique_with = "owner"];
     required int32 pon_port_id = 3 [
