diff --git a/cli/sdncon/controller/models.py b/cli/sdncon/controller/models.py
index a3db737..25f715c 100755
--- a/cli/sdncon/controller/models.py
+++ b/cli/sdncon/controller/models.py
@@ -120,6 +120,39 @@
             {'name': 'path_seq',     'rest_name': 'path-seq'},
             )
 
+class SRPolicy(models.Model):
+
+    id_max_length = 64
+    #
+    # fields ----------------------------------------
+
+    #
+    # Unique name of the Tunnel
+    #
+    sr_policy_id = models.CharField(
+        primary_key  = True,
+        verbose_name = 'SR Policy Id',
+        help_text    = 'A unique Id for a SR Policy',
+        validators   = [ TenantNameValidator() ],
+        max_length   = id_max_length)
+    
+    #
+    # end fields ----------------------------------------
+
+    def __unicode__ (self):
+        return self.tunnel_id
+    
+    class CassandraSettings:
+        COMPOUND_KEY_FIELDS = ('sr_policy_id')
+
+    def delete(self):
+        super(Tunnel, self).delete()
+    class Rest:
+        NAME = 'policy-config'
+        FIELD_INFO = (
+            {'name': 'sr_policy_id',    'rest_name': 'policy-id'},
+            )
+
 #
 # ------------------------------------------------------------
 
diff --git a/cli/sdncon/rest/views.py b/cli/sdncon/rest/views.py
index f8c616b..66ec9d7 100755
--- a/cli/sdncon/rest/views.py
+++ b/cli/sdncon/rest/views.py
@@ -2136,13 +2136,35 @@
 
 @safe_rest_view
 def do_sdnplatform_tunnel_config(request):    
-    if request.method != 'PUT':
+    if request.method != 'PUT' and request.method != 'DELETE':
         raise RestInvalidMethodException()
 
     url = controller_url('onos', 'segmentrouting', 'tunnel')
     post_data = request.raw_post_data
     put_request = urllib2.Request(url, post_data)
-    put_request.get_method = lambda: 'POST'
+    method = request.method
+    if method == 'PUT':
+        method = 'POST'
+    put_request.get_method = lambda: method
+    put_request.add_header('Content-Type', 'application/json')
+    response = urllib2.urlopen(put_request)
+    response_text = response.read()
+    response = HttpResponse(response_text, JSON_CONTENT_TYPE)
+    
+    return response
+
+@safe_rest_view
+def do_sdnplatform_policy_config(request):    
+    if request.method != 'PUT' and request.method != 'DELETE':
+        raise RestInvalidMethodException()
+
+    url = controller_url('onos', 'segmentrouting', 'policy')
+    post_data = request.raw_post_data
+    put_request = urllib2.Request(url, post_data)
+    method = request.method
+    if method == 'PUT':
+        method = 'POST'
+    put_request.get_method = lambda: method
     put_request.add_header('Content-Type', 'application/json')
     response = urllib2.urlopen(put_request)
     response_text = response.read()
diff --git a/cli/sdncon/urls.py b/cli/sdncon/urls.py
index 4237d17..9857de0 100755
--- a/cli/sdncon/urls.py
+++ b/cli/sdncon/urls.py
@@ -168,8 +168,10 @@
     # REST APIs for controller summary statistics 
     (r'^rest/v1/controller/summary$', 'sdncon.rest.views.do_sdnplatform_controller_summary'),
     
-    # REST APIs for tunnel 
+    # REST APIs for SR tunnel 
     (r'^rest/v1/tunnel/?$', 'sdncon.rest.views.do_sdnplatform_tunnel_config'),
+    # REST APIs for SR policy 
+    (r'^rest/v1/policy/?$', 'sdncon.rest.views.do_sdnplatform_policy_config'),
 
 )
 
