diff --git a/proto/context.proto b/proto/context.proto
index 3b25e6361766ee4c2b52e15aab215409f40cbb56..6261d1819a15462519819c71267b6b1430cf18d9 100644
--- a/proto/context.proto
+++ b/proto/context.proto
@@ -276,9 +276,10 @@ enum ServiceTypeEnum {
 enum ServiceStatusEnum {
   SERVICESTATUS_UNDEFINED = 0;
   SERVICESTATUS_PLANNED = 1;
-  SERVICESTATUS_ACTIVE =  2;
-  SERVICESTATUS_PENDING_REMOVAL = 3;
-  SERVICESTATUS_SLA_VIOLATED = 4;
+  SERVICESTATUS_ACTIVE = 2;
+  SERVICESTATUS_UPDATING = 3;
+  SERVICESTATUS_PENDING_REMOVAL = 4;
+  SERVICESTATUS_SLA_VIOLATED = 5;
 }
 
 message ServiceStatus {
@@ -554,6 +555,13 @@ message Constraint_SLA_Isolation_level {
   repeated IsolationLevelEnum isolation_level = 1;
 }
 
+message Constraint_Exclusions {
+  bool is_permanent = 1;
+  repeated DeviceId device_ids = 2;
+  repeated EndPointId endpoint_ids = 3;
+  repeated LinkId link_ids = 4;
+}
+
 message Constraint {
   oneof constraint {
     Constraint_Custom custom = 1;
@@ -564,6 +572,7 @@ message Constraint {
     Constraint_SLA_Latency sla_latency = 6;
     Constraint_SLA_Availability sla_availability = 7;
     Constraint_SLA_Isolation_level sla_isolation = 8;
+    Constraint_Exclusions exclusions = 9;
   }
 }
 
diff --git a/proto/service.proto b/proto/service.proto
index 21e5699413cc4842962af6ee9c204b383fc61ec0..658859e3c5aac58e792d508a89b467e937198c5b 100644
--- a/proto/service.proto
+++ b/proto/service.proto
@@ -18,7 +18,8 @@ package service;
 import "context.proto";
 
 service ServiceService {
-  rpc CreateService(context.Service  ) returns (context.ServiceId) {}
-  rpc UpdateService(context.Service  ) returns (context.ServiceId) {}
-  rpc DeleteService(context.ServiceId) returns (context.Empty    ) {}
+  rpc CreateService       (context.Service  ) returns (context.ServiceId) {}
+  rpc UpdateService       (context.Service  ) returns (context.ServiceId) {}
+  rpc DeleteService       (context.ServiceId) returns (context.Empty    ) {}
+  rpc RecomputeConnections(context.Service  ) returns (context.Empty    ) {}
 }