Rename static final variable 'logger' to 'LOG'
[lispflowmapping.git] / mappingservice / implementation / src / main / java / org / opendaylight / lispflowmapping / implementation / LispMappingService.java
index 58e1d0b26ffa1d63f692c6d387970743c0a4ca4a..9e20072c70a0d4af6a8a0f3f1b89e4b7658b16f4 100644 (file)
@@ -17,10 +17,13 @@ import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ConsumerCo
 import org.opendaylight.controller.sal.binding.api.BindingAwareConsumer;
 import org.opendaylight.controller.sal.binding.api.NotificationListener;
 import org.opendaylight.controller.sal.binding.api.NotificationService;
+import org.opendaylight.lispflowmapping.implementation.config.ConfigIni;
 import org.opendaylight.lispflowmapping.implementation.dao.MappingServiceKey;
+import org.opendaylight.lispflowmapping.implementation.dao.MappingServiceKeyUtil;
 import org.opendaylight.lispflowmapping.implementation.dao.MappingServiceNoMaskKey;
 import org.opendaylight.lispflowmapping.implementation.lisp.MapResolver;
 import org.opendaylight.lispflowmapping.implementation.lisp.MapServer;
+import org.opendaylight.lispflowmapping.implementation.serializer.LispMessage;
 import org.opendaylight.lispflowmapping.implementation.util.LispAFIConvertor;
 import org.opendaylight.lispflowmapping.implementation.util.LispNotificationHelper;
 import org.opendaylight.lispflowmapping.interfaces.dao.ILispDAO;
@@ -41,8 +44,6 @@ import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.RequestMapping;
 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.SendMapNotifyInputBuilder;
 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.SendMapReplyInputBuilder;
 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.SendMapRequestInputBuilder;
-import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.SetXtrPortInputBuilder;
-import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.ShouldListenOnXtrPortInputBuilder;
 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.lispaddress.LispAddressContainer;
 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.lispaddress.LispAddressContainerBuilder;
 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.lispaddress.lispaddresscontainer.Address;
@@ -51,6 +52,7 @@ import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.mapnotifymessage.M
 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.mapreplymessage.MapReplyBuilder;
 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.maprequestmessage.MapRequestBuilder;
 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.transportaddress.TransportAddress;
+import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.transportaddress.TransportAddressBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Address;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv6Address;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.PortNumber;
@@ -62,14 +64,15 @@ import org.slf4j.LoggerFactory;
 
 public class LispMappingService implements CommandProvider, IFlowMapping, BindingAwareConsumer, //
         IMapRequestResultHandler, IMapNotifyHandler {
-    protected static final Logger logger = LoggerFactory.getLogger(LispMappingService.class);
+    protected static final Logger LOG = LoggerFactory.getLogger(LispMappingService.class);
 
+    private static final ConfigIni configIni = new ConfigIni();
     private ILispDAO lispDao = null;
     private IMapResolverAsync mapResolver;
     private IMapServerAsync mapServer;
     private volatile boolean shouldIterateMask;
     private volatile boolean shouldAuthenticate;
-    private volatile boolean smr;
+    private volatile boolean smr = configIni.smrIsSet();
     private ThreadLocal<MapReply> tlsMapReply = new ThreadLocal<MapReply>();
     private ThreadLocal<MapNotify> tlsMapNotify = new ThreadLocal<MapNotify>();
     private ThreadLocal<Pair<MapRequest, TransportAddress>> tlsMapRequest = new ThreadLocal<Pair<MapRequest, TransportAddress>>();
@@ -93,13 +96,13 @@ public class LispMappingService implements CommandProvider, IFlowMapping, Bindin
     }
 
     void setBindingAwareBroker(BindingAwareBroker bindingAwareBroker) {
-        logger.trace("BindingAwareBroker set!");
+        LOG.trace("BindingAwareBroker set!");
         BundleContext bundleContext = FrameworkUtil.getBundle(this.getClass()).getBundleContext();
         bindingAwareBroker.registerConsumer(this, bundleContext);
     }
 
     void unsetBindingAwareBroker(BindingAwareBroker bindingAwareBroker) {
-        logger.debug("BindingAwareBroker was unset in LispMappingService");
+        LOG.debug("BindingAwareBroker was unset in LispMappingService");
     }
 
     public void basicInit(ILispDAO dao) {
@@ -109,12 +112,12 @@ public class LispMappingService implements CommandProvider, IFlowMapping, Bindin
     }
 
     void setLispDao(ILispDAO dao) {
-        logger.trace("LispDAO set in LispMappingService");
+        LOG.trace("LispDAO set in LispMappingService");
         basicInit(dao);
     }
 
     void unsetLispDao(ILispDAO dao) {
-        logger.trace("LispDAO was unset in LispMappingService");
+        LOG.trace("LispDAO was unset in LispMappingService");
         mapServer = null;
         mapResolver = null;
         lispDao = null;
@@ -123,9 +126,9 @@ public class LispMappingService implements CommandProvider, IFlowMapping, Bindin
     public void init() {
         try {
             registerWithOSGIConsole();
-            logger.info("LISP (RFC6830) Mapping Service init finished");
-        } catch (Throwable t) {
-            logger.error(t.getStackTrace().toString());
+            LOG.info("LISP (RFC6830) Mapping Service init finished");
+        } catch (Exception e) {
+            LOG.error(e.getStackTrace().toString());
         }
     }
 
@@ -135,13 +138,14 @@ public class LispMappingService implements CommandProvider, IFlowMapping, Bindin
     }
 
     public void destroy() {
-        logger.info("LISP (RFC6830) Mapping Service is destroyed!");
+        LOG.info("LISP (RFC6830) Mapping Service is destroyed!");
         mapResolver = null;
         mapServer = null;
     }
 
     public void _removeEid(final CommandInterpreter ci) {
-        lispDao.remove(LispAFIConvertor.asIPAfiAddress(ci.nextArgument()));
+        LispAddressContainer eid = LispAFIConvertor.getIPContainer(ci.nextArgument());
+        lispDao.remove(MappingServiceKeyUtil.generateMappingServiceKey(eid));
     }
 
     public void _dumpAll(final CommandInterpreter ci) {
@@ -182,9 +186,10 @@ public class LispMappingService implements CommandProvider, IFlowMapping, Bindin
     public String getHelp() {
         StringBuffer help = new StringBuffer();
         help.append("---LISP Mapping Service---\n");
-        help.append("\t dumpAll        - Dump all current EID -> RLOC mapping\n");
-        help.append("\t removeEid      - Remove a single LispIPv4Address Eid\n");
-        help.append("\t setShouldOverwritingRloc(true/false)      - set the map server's behaivior regarding existing RLOCs\n");
+        help.append("\t dumpAll                               - Dump all current EID -> RLOC mappings\n");
+        help.append("\t removeEid <EID>                       - Remove a single EID (/32 or /128)\n");
+        help.append("\t setShouldOverwriteRlocs <true|false>  - Set the map server's behavior regarding existing RLOCs\n");
+        help.append("\t addDefaultPassword                    - Add \"password\" as default password for IPv4 EIDs");
         return help.toString();
     }
 
@@ -264,7 +269,7 @@ public class LispMappingService implements CommandProvider, IFlowMapping, Bindin
     }
 
     public void onSessionInitialized(ConsumerContext session) {
-        logger.info("Lisp Consumer session initialized!");
+        LOG.info("Lisp Consumer session initialized!");
         notificationService = session.getSALService(NotificationService.class);
         registerNotificationListener(AddMapping.class, new MapRegisterNotificationHandler());
         registerNotificationListener(RequestMapping.class, new MapRequestNotificationHandler());
@@ -281,12 +286,15 @@ public class LispMappingService implements CommandProvider, IFlowMapping, Bindin
         public void onNotification(AddMapping mapRegisterNotification) {
             MapNotify mapNotify = handleMapRegister(mapRegisterNotification.getMapRegister(), smr);
             if (mapNotify != null) {
+                TransportAddressBuilder tab = new TransportAddressBuilder();
+                tab.setIpAddress(mapRegisterNotification.getTransportAddress().getIpAddress());
+                tab.setPort(new PortNumber(LispMessage.PORT_NUM));
                 SendMapNotifyInputBuilder smnib = new SendMapNotifyInputBuilder();
                 smnib.setMapNotify(new MapNotifyBuilder(mapNotify).build());
-                smnib.setTransportAddress(mapRegisterNotification.getTransportAddress());
+                smnib.setTransportAddress(tab.build());
                 getLispSB().sendMapNotify(smnib.build());
             } else {
-                logger.warn("got null map notify");
+                LOG.warn("got null map notify");
             }
 
         }
@@ -303,7 +311,7 @@ public class LispMappingService implements CommandProvider, IFlowMapping, Bindin
                 smrib.setTransportAddress(mapRequestNotification.getTransportAddress());
                 getLispSB().sendMapReply(smrib.build());
             } else {
-                logger.warn("got null map reply");
+                LOG.warn("got null map reply");
             }
         }
     }
@@ -324,7 +332,7 @@ public class LispMappingService implements CommandProvider, IFlowMapping, Bindin
     }
 
     public void handleSMR(MapRequest smr, LispAddressContainer subscriber) {
-        logger.debug("Sending SMR to " + subscriber.toString());
+        LOG.debug("Sending SMR to " + subscriber.toString());
         SendMapRequestInputBuilder smrib = new SendMapRequestInputBuilder();
         smrib.setMapRequest(new MapRequestBuilder(smr).build());
         smrib.setTransportAddress(LispNotificationHelper.getTransportAddressFromContainer(subscriber));
@@ -352,14 +360,4 @@ public class LispMappingService implements CommandProvider, IFlowMapping, Bindin
         mapServer.setOverwrite(overwrite);
     }
 
-    @Override
-    public void shouldListenOnXtrPort(boolean listenOnXtrPort) {
-        getLispSB().shouldListenOnXtrPort(new ShouldListenOnXtrPortInputBuilder().setShouldListenOnXtrPort(listenOnXtrPort).build());
-    }
-
-    @Override
-    public void setXtrPort(int port) {
-        getLispSB().setXtrPort(new SetXtrPortInputBuilder().setXtrPort(new PortNumber(port)).build());
-    }
-
 }