CLI support for Segment Routing Policy config
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'),
 
 )