1 package org.opendaylight.lispflowmapping.neutron;
3 import org.eclipse.osgi.framework.console.CommandProvider;
4 import org.opendaylight.lispflowmapping.interfaces.lisp.IFlowMapping;
5 import org.opendaylight.controller.networkconfig.neutron.INeutronNetworkAware;
6 import org.opendaylight.controller.networkconfig.neutron.NeutronNetwork;
7 import org.osgi.framework.BundleContext;
8 import org.osgi.framework.FrameworkUtil;
9 import org.slf4j.Logger;
10 import org.slf4j.LoggerFactory;
12 public class LispNeutronService implements ILispNeutronService, INeutronNetworkAware{
13 protected static final Logger logger = LoggerFactory.getLogger(LispNeutronService.class);
14 private IFlowMapping mappingService;
17 public IFlowMapping getMappingService(){
18 return this.mappingService;
21 void setFlowMappingService(IFlowMapping mappingService) {
22 logger.debug("FlowMapping set in LispNeutron");
23 this.mappingService = mappingService;
26 void unsetFlowMappingService(IFlowMapping mappingService) {
27 logger.debug("LispDAO was unset in LISP Neutron");
28 this.mappingService = null;
32 logger.debug("LISP Neutron Service is initialized!");
36 logger.info("LISP Neutron Service is up!");
39 registerWithOSGIConsole();
42 private void registerWithOSGIConsole() {
43 BundleContext bundleContext = FrameworkUtil.getBundle(this.getClass()).getBundleContext();
44 bundleContext.registerService(CommandProvider.class.getName(), this, null);
48 logger.info("LISP Neutron Service is down!");
51 public void destroy() {
52 logger.debug("LISP Neutron Service is destroyed!");
53 mappingService = null;
56 // callbacks for INeutronNetworkAware. Based on OpenDove project
58 public int canCreateNetwork(NeutronNetwork network) {
59 logger.info("hello world!");
60 logger.info("canCreateNetwork called!");
61 logger.info("Network name: "+network.getNetworkName());
62 // if (network.getAdminStateUp() != null && !network.isAdminStateUp())
66 public void neutronNetworkCreated(NeutronNetwork input) {
67 logger.info("neutronNetworkCreated called!");
71 public int canUpdateNetwork(NeutronNetwork delta, NeutronNetwork original) {
72 logger.info("canUpdateNetwork called!");
73 if (delta.getNetworkName() != null || delta.getAdminStateUp() != null ||
74 delta.getShared() != null || delta.getRouterExternal() != null)
79 public void neutronNetworkUpdated(NeutronNetwork network) {
80 logger.info("neutronNetworkUpdated called!");
84 public int canDeleteNetwork(NeutronNetwork network) {
85 logger.info("canDeleteNetwork called!");
89 public void neutronNetworkDeleted(NeutronNetwork network) {
90 logger.info("neutronNetworkDeleted called!");