Move SB RPCs from LISP Proto to API 01/26601/3
authorLorand Jakab <lojakab@cisco.com>
Mon, 7 Sep 2015 10:56:46 +0000 (13:56 +0300)
committerLorand Jakab <lojakab@cisco.com>
Mon, 7 Sep 2015 13:04:03 +0000 (16:04 +0300)
The lisp-proto artifact contains the YANG model describing the LISP
protocol messages.  It also contained RPCs that are used to send those
protocol messages.  However, those RPCs are not part of the LISP
protocol itself, and this commit moves them to the API bundle.  They are
implemented the the southbound plugin.

Change-Id: I695068ba5a71db4fe3d5ae6560f03570bf9f3352
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
mappingservice/api/src/main/yang/lisp-sb.yang [new file with mode: 0644]
mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/LispMappingService.java
mappingservice/lisp-proto/src/main/yang/lisp-proto.yang
mappingservice/southbound/src/main/java/org/opendaylight/controller/config/yang/config/lfm_mappingservice_sb/impl/LfmMappingServiceSbModule.java
mappingservice/southbound/src/main/java/org/opendaylight/lispflowmapping/southbound/LispSouthboundPlugin.java
mappingservice/southbound/src/main/java/org/opendaylight/lispflowmapping/southbound/LispSouthboundRPC.java [moved from mappingservice/southbound/src/main/java/org/opendaylight/lispflowmapping/southbound/LfmControlPlaneRpc.java with 86% similarity]

diff --git a/mappingservice/api/src/main/yang/lisp-sb.yang b/mappingservice/api/src/main/yang/lisp-sb.yang
new file mode 100644 (file)
index 0000000..622ad08
--- /dev/null
@@ -0,0 +1,41 @@
+module lisp-sb {
+
+    yang-version 1;
+    namespace "urn:opendaylight:lfm:lisp-sb";
+    prefix "lisp-sb";
+
+    import lisp-proto { prefix lisp-proto; revision-date 2015-08-20; }
+
+    contact "Lorand Jakab <lojakab@cisco.com";
+
+    description
+        "API for the LISP southbound module";
+
+    revision "2015-09-04" {
+        description "Initial version. Some content originally from lisp-proto.yang";
+    }
+
+    rpc send-map-request {
+        input {
+            uses lisp-proto:MapRequestMessage;
+        }
+    }
+
+    rpc send-map-reply {
+        input {
+            uses lisp-proto:MapReplyMessage;
+        }
+    }
+
+    rpc send-map-register {
+        input {
+            uses lisp-proto:MapRegisterMessage;
+        }
+    }
+
+    rpc send-map-notify {
+        input {
+            uses lisp-proto:MapNotifyMessage;
+        }
+    }
+}
index cd4bfebb3349bdc8e61a3ad6798d74a3de1d7604..c15b62e19f2816253fe00741fc38e787cc887cb1 100644 (file)
@@ -39,16 +39,12 @@ import org.opendaylight.lispflowmapping.interfaces.lisp.IMapServerAsync;
 import org.opendaylight.lispflowmapping.lisp.util.LispAFIConvertor;
 import org.opendaylight.lispflowmapping.lisp.util.LispAddressStringifier;
 import org.opendaylight.lispflowmapping.lisp.util.MapServerMapResolverUtil;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.LispProtoService;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.AddMapping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.MapNotify;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.MapRegister;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.MapReply;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.MapRequest;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.RequestMapping;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.SendMapNotifyInputBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.SendMapReplyInputBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.SendMapRequestInputBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.lispaddress.LispAddressContainer;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.lispaddress.lispaddresscontainer.address.ipv4.Ipv4AddressBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.mapnotifymessage.MapNotifyBuilder;
@@ -56,6 +52,10 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.ma
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.maprequestmessage.MapRequestBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.transportaddress.TransportAddress;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.transportaddress.TransportAddressBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.sb.rev150904.LispSbService;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.sb.rev150904.SendMapNotifyInputBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.sb.rev150904.SendMapReplyInputBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.sb.rev150904.SendMapRequestInputBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150820.MappingserviceService;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150820.MappingOrigin;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150820.db.instance.AuthenticationKey;
@@ -83,7 +83,7 @@ public class LispMappingService implements IFlowMapping, IFlowMappingShell, Bind
     private ThreadLocal<MapNotify> tlsMapNotify = new ThreadLocal<MapNotify>();
     private ThreadLocal<Pair<MapRequest, TransportAddress>> tlsMapRequest = new ThreadLocal<Pair<MapRequest, TransportAddress>>();
 
-    private LispProtoService lispSB = null;
+    private LispSbService lispSB = null;
     private ProviderContext session;
 
     private DataStoreBackEnd dsbe;
@@ -379,9 +379,9 @@ public class LispMappingService implements IFlowMapping, IFlowMappingShell, Bind
         }
     }
 
-    private LispProtoService getLispSB() {
+    private LispSbService getLispSB() {
         if (lispSB == null) {
-            lispSB = session.getRpcService(LispProtoService.class);
+            lispSB = session.getRpcService(LispSbService.class);
         }
         return lispSB;
     }
index 87dfad63709158e2281691256085a7e7144bc918..e908c2bf4336d61c51f0db8d939c324731aae26f 100644 (file)
@@ -594,30 +594,6 @@ module lisp-proto {
         uses TransportAddress;
     }
 
-    rpc sendMapRegister {
-        input {
-            uses MapRegisterMessage;
-        }
-    }
-
-    rpc sendMapNotify {
-        input {
-            uses MapNotifyMessage;
-        }
-    }
-
-    rpc sendMapRequest {
-        input {
-            uses MapRequestMessage;
-        }
-    }
-
-    rpc sendMapReply {
-        input {
-            uses MapReplyMessage;
-        }
-    }
-
     notification addMapping {
         uses MapRegisterNotification;
     }
index b8f12941750cd85c925ea3a4383062a5b8b9d509..771189b92ffea01604b6cbba0988dba37f7ce213 100644 (file)
@@ -13,9 +13,8 @@ import java.net.DatagramPacket;
 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
 import org.opendaylight.controller.sal.binding.api.NotificationProviderService;
 import org.opendaylight.lispflowmapping.southbound.LispSouthboundPlugin;
-import org.opendaylight.lispflowmapping.southbound.LfmControlPlaneRpc;
+import org.opendaylight.lispflowmapping.southbound.LispSouthboundRPC;
 import org.opendaylight.lispflowmapping.southbound.lisp.ILispSouthboundService;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.LispProtoService;
 import org.slf4j.LoggerFactory;
 import org.slf4j.Logger;
 
index 5e220b4ffb5e25d49547dc7f3c0bf5a59b86d8d2..7aabf5e42cb6540663797abda8cf751d5410e67c 100644 (file)
@@ -28,8 +28,8 @@ import org.opendaylight.lispflowmapping.southbound.lisp.ILispSouthboundService;
 import org.opendaylight.lispflowmapping.southbound.lisp.LispSouthboundService;
 import org.opendaylight.lispflowmapping.southbound.lisp.LispXtrSouthboundService;
 import org.opendaylight.lispflowmapping.type.sbplugin.IConfigLispSouthboundPlugin;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.LispProtoService;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.transportaddress.TransportAddress;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.sb.rev150904.LispSbService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -50,14 +50,14 @@ public class LispSouthboundPlugin implements IConfigLispSouthboundPlugin, AutoCl
     private volatile String bindingAddress = null;
     private volatile int xtrPort = LispMessage.XTR_PORT_NUM;
     private volatile boolean listenOnXtrPort = false;
-    private BindingAwareBroker.RpcRegistration<LispProtoService> controlPlaneRpc;
+    private BindingAwareBroker.RpcRegistration<LispSbService> sbRpcRegistration;
     private DatagramSocket xtrSocket;
 
     public void init() {
         LOG.info("LISP (RFC6830) Mapping Service is up!");
-        final LfmControlPlaneRpc lfmCpRpc = new LfmControlPlaneRpc(this);
+        final LispSouthboundRPC sbRpcHandler = new LispSouthboundRPC(this);
 
-        controlPlaneRpc = rpcRegistry.addRpcImplementation(LispProtoService.class, lfmCpRpc);
+        sbRpcRegistration = rpcRegistry.addRpcImplementation(LispSbService.class, sbRpcHandler);
         broker.registerProvider(this);
 
         synchronized (startLock) {
@@ -285,7 +285,7 @@ public class LispSouthboundPlugin implements IConfigLispSouthboundPlugin, AutoCl
     @Override
     public void close() throws Exception {
         unloadActions();
-        controlPlaneRpc.close();
+        sbRpcRegistration.close();
     }
 
     @Override
similarity index 86%
rename from mappingservice/southbound/src/main/java/org/opendaylight/lispflowmapping/southbound/LfmControlPlaneRpc.java
rename to mappingservice/southbound/src/main/java/org/opendaylight/lispflowmapping/southbound/LispSouthboundRPC.java
index f51ce307930560b72423899324e1782134b8c835..ac3fec3db8b1e280d7e79d6e697761f709032f4e 100644 (file)
@@ -15,11 +15,11 @@ import org.opendaylight.lispflowmapping.lisp.serializer.MapNotifySerializer;
 import org.opendaylight.lispflowmapping.lisp.serializer.MapRegisterSerializer;
 import org.opendaylight.lispflowmapping.lisp.serializer.MapReplySerializer;
 import org.opendaylight.lispflowmapping.lisp.serializer.MapRequestSerializer;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.LispProtoService;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.SendMapNotifyInput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.SendMapRegisterInput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.SendMapReplyInput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.SendMapRequestInput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.sb.rev150904.LispSbService;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.sb.rev150904.SendMapNotifyInput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.sb.rev150904.SendMapRegisterInput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.sb.rev150904.SendMapReplyInput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.sb.rev150904.SendMapRequestInput;
 import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
 import org.slf4j.Logger;
@@ -35,9 +35,9 @@ import com.google.common.util.concurrent.Futures;
  * @author Lorand Jakab (lojakab@cisco.com)
  */
 
-public class LfmControlPlaneRpc implements LispProtoService {
+public class LispSouthboundRPC implements LispSbService {
 
-    protected static final Logger LOG = LoggerFactory.getLogger(LfmControlPlaneRpc.class);
+    protected static final Logger LOG = LoggerFactory.getLogger(LispSouthboundRPC.class);
 
     private final String MAP_NOTIFY = "MapNotify";
     private final String MAP_REPlY = "MapReply";
@@ -45,7 +45,7 @@ public class LfmControlPlaneRpc implements LispProtoService {
     private final String MAP_REGISTER = "MapRegister";
     private final LispSouthboundPlugin lispSbPlugin;
 
-    public LfmControlPlaneRpc(LispSouthboundPlugin lispSbPlugin) {
+    public LispSouthboundRPC(LispSouthboundPlugin lispSbPlugin) {
         this.lispSbPlugin = lispSbPlugin;
     }