diff --git a/VERSION b/VERSION
index e9307ca..50ffc5a 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.0.2
+2.0.3
diff --git a/xos/synchronizer/models/vrouter.xproto b/xos/synchronizer/models/vrouter.xproto
index 006ecb9..32be732 100644
--- a/xos/synchronizer/models/vrouter.xproto
+++ b/xos/synchronizer/models/vrouter.xproto
@@ -18,6 +18,6 @@
     option verbose_name = "vRouter static route";
 
     required manytoone vrouter->VRouterServiceInstance:static_routes = 1 [help_text = "The static route to be configured in ONOS", db_index = False, null = False, blank = False];
-    required string prefix = 2 [help_text = "The destination prefix and netmask (xxx.yyy.www.zzz/nm)", max_length = 20, null = False, tosca_key = True, db_index = False, unique = True, blank = False];
-    required string next_hop = 5 [help_text = "The next-hop for the route", max_length = 17, null = False, db_index = False, blank = False];
+    required string prefix = 2 [help_text = "The destination prefix and netmask (IP/NM)", max_length = 52, null = False, tosca_key = True, db_index = False, unique = True, blank = False];
+    required string next_hop = 5 [help_text = "The next-hop for the route", max_length = 52, null = False, db_index = False, blank = False];
 }
diff --git a/xos/synchronizer/steps/test_sync_routes.py b/xos/synchronizer/steps/test_sync_routes.py
index 1e227a2..d64272f 100644
--- a/xos/synchronizer/steps/test_sync_routes.py
+++ b/xos/synchronizer/steps/test_sync_routes.py
@@ -75,11 +75,9 @@
         for (k, v) in model_accessor.all_model_classes.items():
             globals()[k] = v
 
-
         self.sync_step = SyncRoutes
         self.sync_step.log = Mock()
 
-
         # mock onos-fabric
         onos_fabric = Mock()
         onos_fabric.name = "onos-fabric"
@@ -105,18 +103,15 @@
         self.o.vrouter.owner = self.vrouter
         self.o.tologdict.return_value = {}
 
-
-
-
     def tearDown(self):
         self.o = None
         sys.path = self.sys_path_save
 
     @requests_mock.Mocker()
-    def test_sync_route(self, m):
+    def test_sync_route_ipv4(self, m):
 
-        self.o.next_hop = "192.168.0.254"
         self.o.prefix = "0.0.0.0/0"
+        self.o.next_hop = "192.168.0.254"
 
         expected_conf = {
           "prefix": self.o.prefix,
@@ -132,10 +127,29 @@
         self.assertTrue(m.called)
 
     @requests_mock.Mocker()
-    def test_delete_route(self, m):
+    def test_sync_route_ipv6(self, m):
 
-        self.o.next_hop = "192.168.0.254"
+        self.o.prefix = "::/0"
+        self.o.next_hop = "2001:db8:abcd:0012::0/64"
+
+        expected_conf = {
+          "prefix": self.o.prefix,
+          "nextHop": self.o.next_hop
+        }
+
+        m.post("http://onos-fabric:8181/onos/routeservice/routes",
+               status_code=204,
+               additional_matcher=functools.partial(match_json, expected_conf))
+
+        self.sync_step().sync_record(self.o)
+
+        self.assertTrue(m.called)
+
+    @requests_mock.Mocker()
+    def test_delete_route_ipv4(self, m):
+
         self.o.prefix = "0.0.0.0/0"
+        self.o.next_hop = "192.168.0.254"
 
         expected_conf = {
             "prefix": self.o.prefix,
@@ -148,4 +162,23 @@
 
         self.sync_step().delete_record(self.o)
 
-        self.assertTrue(m.called)
\ No newline at end of file
+        self.assertTrue(m.called)
+
+    @requests_mock.Mocker()
+    def test_delete_route_ipv6(self, m):
+
+        self.o.prefix = "::/0"
+        self.o.next_hop = "2001:db8:abcd:0012::0/64"
+
+        expected_conf = {
+            "prefix": self.o.prefix,
+            "nextHop": self.o.next_hop
+        }
+
+        m.delete("http://onos-fabric:8181/onos/routeservice/routes",
+            status_code=204,
+            additional_matcher=functools.partial(match_json, expected_conf))
+
+        self.sync_step().delete_record(self.o)
+
+        self.assertTrue(m.called)
