Renamed SDN-IP packages and classes.
The code use to use the name 'BgpRoute' in a number of places, which is not
descriptive and doesn't map to how we talk about SDN-IP (we always call it
SDN-IP in all other documents/presentations).
Details of changes are as follows:
net.onrc.onos.apps.bgproute -> net.onrc.onos.apps.sdnip
BgpRoute.java -> SdnIp.java
IBgpRouteService.java -> ISdnIpService.java
created new package for web classes: net.onrc.onos.apps.sdnip.web
BgpRouteResource.java -> IncomingRequestResource.java
BgpRouteResourceSynch.java -> OutgoingRequestResource.java
BgpRouteWebRoutable.java -> SdnIpWebRoutable.java
Change-Id: Ie6b1cbe4e95736d4cbd53b9f4def7cc3e0b46132
diff --git a/src/main/java/net/onrc/onos/apps/bgproute/BgpRouteWebRoutable.java b/src/main/java/net/onrc/onos/apps/bgproute/BgpRouteWebRoutable.java
deleted file mode 100644
index 664bad4..0000000
--- a/src/main/java/net/onrc/onos/apps/bgproute/BgpRouteWebRoutable.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package net.onrc.onos.apps.bgproute;
-
-import net.floodlightcontroller.restserver.RestletRoutable;
-
-import org.restlet.Context;
-import org.restlet.Restlet;
-import org.restlet.routing.Router;
-
-/**
- * REST URL router for SDN-IP REST calls.
- */
-public class BgpRouteWebRoutable implements RestletRoutable {
- @Override
- public Restlet getRestlet(Context context) {
- Router router = new Router(context);
- router.attach("/json", BgpRouteResource.class);
- router.attach("/rib/{dest}", BgpRouteResource.class);
- router.attach("/{sysuptime}/{sequence}/{routerid}/{prefix}/{mask}/{nexthop}", BgpRouteResource.class);
- router.attach("/{routerid}/{prefix}/{mask}/{nexthop}/synch", BgpRouteResourceSynch.class);
- router.attach("/{routerid}/{capability}", BgpRouteResource.class);
- return router;
- }
-
- @Override
- public String basePath() {
- return "/wm/bgp";
- }
-}
diff --git a/src/main/java/net/onrc/onos/apps/proxyarp/ProxyArpManager.java b/src/main/java/net/onrc/onos/apps/proxyarp/ProxyArpManager.java
index 76243e9..6b84e45 100644
--- a/src/main/java/net/onrc/onos/apps/proxyarp/ProxyArpManager.java
+++ b/src/main/java/net/onrc/onos/apps/proxyarp/ProxyArpManager.java
@@ -22,7 +22,7 @@
import net.floodlightcontroller.core.module.IFloodlightService;
import net.floodlightcontroller.restserver.IRestApiService;
import net.floodlightcontroller.util.MACAddress;
-import net.onrc.onos.apps.bgproute.Interface;
+import net.onrc.onos.apps.sdnip.Interface;
import net.onrc.onos.core.datagrid.IDatagridService;
import net.onrc.onos.core.datagrid.IEventChannel;
import net.onrc.onos.core.datagrid.IEventChannelListener;
diff --git a/src/main/java/net/onrc/onos/apps/bgproute/BgpPeer.java b/src/main/java/net/onrc/onos/apps/sdnip/BgpPeer.java
similarity index 96%
rename from src/main/java/net/onrc/onos/apps/bgproute/BgpPeer.java
rename to src/main/java/net/onrc/onos/apps/sdnip/BgpPeer.java
index a535316..9c93d9e 100644
--- a/src/main/java/net/onrc/onos/apps/bgproute/BgpPeer.java
+++ b/src/main/java/net/onrc/onos/apps/sdnip/BgpPeer.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.apps.bgproute;
+package net.onrc.onos.apps.sdnip;
import java.net.InetAddress;
diff --git a/src/main/java/net/onrc/onos/apps/bgproute/Configuration.java b/src/main/java/net/onrc/onos/apps/sdnip/Configuration.java
similarity index 98%
rename from src/main/java/net/onrc/onos/apps/bgproute/Configuration.java
rename to src/main/java/net/onrc/onos/apps/sdnip/Configuration.java
index ce97f50..28f195c 100644
--- a/src/main/java/net/onrc/onos/apps/bgproute/Configuration.java
+++ b/src/main/java/net/onrc/onos/apps/sdnip/Configuration.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.apps.bgproute;
+package net.onrc.onos.apps.sdnip;
import java.util.Collections;
import java.util.List;
diff --git a/src/main/java/net/onrc/onos/apps/bgproute/FlowCache.java b/src/main/java/net/onrc/onos/apps/sdnip/FlowCache.java
similarity index 98%
rename from src/main/java/net/onrc/onos/apps/bgproute/FlowCache.java
rename to src/main/java/net/onrc/onos/apps/sdnip/FlowCache.java
index d5aff78..8c518d7 100644
--- a/src/main/java/net/onrc/onos/apps/bgproute/FlowCache.java
+++ b/src/main/java/net/onrc/onos/apps/sdnip/FlowCache.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.apps.bgproute;
+package net.onrc.onos.apps.sdnip;
import java.io.IOException;
import java.util.ArrayList;
diff --git a/src/main/java/net/onrc/onos/apps/bgproute/IPatriciaTree.java b/src/main/java/net/onrc/onos/apps/sdnip/IPatriciaTree.java
similarity index 98%
rename from src/main/java/net/onrc/onos/apps/bgproute/IPatriciaTree.java
rename to src/main/java/net/onrc/onos/apps/sdnip/IPatriciaTree.java
index 1ef9eae..fa548b2 100644
--- a/src/main/java/net/onrc/onos/apps/bgproute/IPatriciaTree.java
+++ b/src/main/java/net/onrc/onos/apps/sdnip/IPatriciaTree.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.apps.bgproute;
+package net.onrc.onos.apps.sdnip;
import java.util.Iterator;
diff --git a/src/main/java/net/onrc/onos/apps/bgproute/IBgpRouteService.java b/src/main/java/net/onrc/onos/apps/sdnip/ISdnIpService.java
similarity index 87%
rename from src/main/java/net/onrc/onos/apps/bgproute/IBgpRouteService.java
rename to src/main/java/net/onrc/onos/apps/sdnip/ISdnIpService.java
index effc81b..040afe6 100644
--- a/src/main/java/net/onrc/onos/apps/bgproute/IBgpRouteService.java
+++ b/src/main/java/net/onrc/onos/apps/sdnip/ISdnIpService.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.apps.bgproute;
+package net.onrc.onos.apps.sdnip;
import net.floodlightcontroller.core.module.IFloodlightService;
@@ -6,7 +6,7 @@
* The API exported by the main SDN-IP class. This is the interface between the
* REST handlers and the SDN-IP module.
*/
-public interface IBgpRouteService extends IFloodlightService {
+public interface ISdnIpService extends IFloodlightService {
/**
* Gets a reference to SDN-IP's PATRICIA tree which stores the route table.
@@ -39,7 +39,7 @@
public void clearPtree();
/**
- * Pass a RIB update to the {@link IBgpRouteService}.
+ * Pass a RIB update to the {@link ISdnIpService}.
*
* @param update a {@link RibUpdate} object containing details of the
* update
diff --git a/src/main/java/net/onrc/onos/apps/bgproute/Interface.java b/src/main/java/net/onrc/onos/apps/sdnip/Interface.java
similarity index 98%
rename from src/main/java/net/onrc/onos/apps/bgproute/Interface.java
rename to src/main/java/net/onrc/onos/apps/sdnip/Interface.java
index 4316bc0..15abb1f 100644
--- a/src/main/java/net/onrc/onos/apps/bgproute/Interface.java
+++ b/src/main/java/net/onrc/onos/apps/sdnip/Interface.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.apps.bgproute;
+package net.onrc.onos.apps.sdnip;
import java.net.InetAddress;
diff --git a/src/main/java/net/onrc/onos/apps/bgproute/Path.java b/src/main/java/net/onrc/onos/apps/sdnip/Path.java
similarity index 98%
rename from src/main/java/net/onrc/onos/apps/bgproute/Path.java
rename to src/main/java/net/onrc/onos/apps/sdnip/Path.java
index c6f3539..7772775 100644
--- a/src/main/java/net/onrc/onos/apps/bgproute/Path.java
+++ b/src/main/java/net/onrc/onos/apps/sdnip/Path.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.apps.bgproute;
+package net.onrc.onos.apps.sdnip;
import java.net.InetAddress;
import java.util.Collections;
diff --git a/src/main/java/net/onrc/onos/apps/bgproute/PatriciaTree.java b/src/main/java/net/onrc/onos/apps/sdnip/PatriciaTree.java
similarity index 99%
rename from src/main/java/net/onrc/onos/apps/bgproute/PatriciaTree.java
rename to src/main/java/net/onrc/onos/apps/sdnip/PatriciaTree.java
index 3a6a46c..844ba35 100644
--- a/src/main/java/net/onrc/onos/apps/bgproute/PatriciaTree.java
+++ b/src/main/java/net/onrc/onos/apps/sdnip/PatriciaTree.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.apps.bgproute;
+package net.onrc.onos.apps.sdnip;
import java.util.Iterator;
import java.util.NoSuchElementException;
diff --git a/src/main/java/net/onrc/onos/apps/bgproute/Prefix.java b/src/main/java/net/onrc/onos/apps/sdnip/Prefix.java
similarity index 99%
rename from src/main/java/net/onrc/onos/apps/bgproute/Prefix.java
rename to src/main/java/net/onrc/onos/apps/sdnip/Prefix.java
index 834ea29..91510b1 100644
--- a/src/main/java/net/onrc/onos/apps/bgproute/Prefix.java
+++ b/src/main/java/net/onrc/onos/apps/sdnip/Prefix.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.apps.bgproute;
+package net.onrc.onos.apps.sdnip;
import java.net.InetAddress;
import java.net.UnknownHostException;
diff --git a/src/main/java/net/onrc/onos/apps/bgproute/Ptree.java b/src/main/java/net/onrc/onos/apps/sdnip/Ptree.java
similarity index 99%
rename from src/main/java/net/onrc/onos/apps/bgproute/Ptree.java
rename to src/main/java/net/onrc/onos/apps/sdnip/Ptree.java
index 0f7d4a0..c99ea09 100644
--- a/src/main/java/net/onrc/onos/apps/bgproute/Ptree.java
+++ b/src/main/java/net/onrc/onos/apps/sdnip/Ptree.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.apps.bgproute;
+package net.onrc.onos.apps.sdnip;
/*
* TODO This Ptree needs to be refactored if we're going to use it permenantly.
diff --git a/src/main/java/net/onrc/onos/apps/bgproute/PtreeNode.java b/src/main/java/net/onrc/onos/apps/sdnip/PtreeNode.java
similarity index 96%
rename from src/main/java/net/onrc/onos/apps/bgproute/PtreeNode.java
rename to src/main/java/net/onrc/onos/apps/sdnip/PtreeNode.java
index 76c37d9..b54546c 100644
--- a/src/main/java/net/onrc/onos/apps/bgproute/PtreeNode.java
+++ b/src/main/java/net/onrc/onos/apps/sdnip/PtreeNode.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.apps.bgproute;
+package net.onrc.onos.apps.sdnip;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/main/java/net/onrc/onos/apps/bgproute/PushedFlowMod.java b/src/main/java/net/onrc/onos/apps/sdnip/PushedFlowMod.java
similarity index 96%
rename from src/main/java/net/onrc/onos/apps/bgproute/PushedFlowMod.java
rename to src/main/java/net/onrc/onos/apps/sdnip/PushedFlowMod.java
index 137c22f..38ac37f 100644
--- a/src/main/java/net/onrc/onos/apps/bgproute/PushedFlowMod.java
+++ b/src/main/java/net/onrc/onos/apps/sdnip/PushedFlowMod.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.apps.bgproute;
+package net.onrc.onos.apps.sdnip;
import org.openflow.protocol.OFFlowMod;
diff --git a/src/main/java/net/onrc/onos/apps/bgproute/RestClient.java b/src/main/java/net/onrc/onos/apps/sdnip/RestClient.java
similarity index 98%
rename from src/main/java/net/onrc/onos/apps/bgproute/RestClient.java
rename to src/main/java/net/onrc/onos/apps/sdnip/RestClient.java
index c7ff195..fe349d5 100644
--- a/src/main/java/net/onrc/onos/apps/bgproute/RestClient.java
+++ b/src/main/java/net/onrc/onos/apps/sdnip/RestClient.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.apps.bgproute;
+package net.onrc.onos.apps.sdnip;
import java.io.BufferedReader;
import java.io.IOException;
diff --git a/src/main/java/net/onrc/onos/apps/bgproute/RibEntry.java b/src/main/java/net/onrc/onos/apps/sdnip/RibEntry.java
similarity index 98%
rename from src/main/java/net/onrc/onos/apps/bgproute/RibEntry.java
rename to src/main/java/net/onrc/onos/apps/sdnip/RibEntry.java
index 2392e01..47eca6b 100644
--- a/src/main/java/net/onrc/onos/apps/bgproute/RibEntry.java
+++ b/src/main/java/net/onrc/onos/apps/sdnip/RibEntry.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.apps.bgproute;
+package net.onrc.onos.apps.sdnip;
import java.net.InetAddress;
diff --git a/src/main/java/net/onrc/onos/apps/bgproute/RibUpdate.java b/src/main/java/net/onrc/onos/apps/sdnip/RibUpdate.java
similarity index 97%
rename from src/main/java/net/onrc/onos/apps/bgproute/RibUpdate.java
rename to src/main/java/net/onrc/onos/apps/sdnip/RibUpdate.java
index 3f74a08..0476979 100644
--- a/src/main/java/net/onrc/onos/apps/bgproute/RibUpdate.java
+++ b/src/main/java/net/onrc/onos/apps/sdnip/RibUpdate.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.apps.bgproute;
+package net.onrc.onos.apps.sdnip;
/**
* Represents a route update received from BGPd. An update has an operation
diff --git a/src/main/java/net/onrc/onos/apps/bgproute/BgpRoute.java b/src/main/java/net/onrc/onos/apps/sdnip/SdnIp.java
similarity index 98%
rename from src/main/java/net/onrc/onos/apps/bgproute/BgpRoute.java
rename to src/main/java/net/onrc/onos/apps/sdnip/SdnIp.java
index ed70ae4..4e4e6fa 100644
--- a/src/main/java/net/onrc/onos/apps/bgproute/BgpRoute.java
+++ b/src/main/java/net/onrc/onos/apps/sdnip/SdnIp.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.apps.bgproute;
+package net.onrc.onos.apps.sdnip;
import java.io.File;
import java.io.IOException;
@@ -26,9 +26,10 @@
import net.floodlightcontroller.core.util.SingletonTask;
import net.floodlightcontroller.restserver.IRestApiService;
import net.floodlightcontroller.util.MACAddress;
-import net.onrc.onos.apps.bgproute.RibUpdate.Operation;
import net.onrc.onos.apps.proxyarp.IArpRequester;
import net.onrc.onos.apps.proxyarp.IProxyArpService;
+import net.onrc.onos.apps.sdnip.RibUpdate.Operation;
+import net.onrc.onos.apps.sdnip.web.SdnIpWebRoutable;
import net.onrc.onos.core.linkdiscovery.ILinkDiscovery.LDUpdate;
import net.onrc.onos.core.linkdiscovery.ILinkDiscoveryService;
import net.onrc.onos.core.main.config.IConfigInfoService;
@@ -73,11 +74,11 @@
import com.google.common.net.InetAddresses;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
-public class BgpRoute implements IFloodlightModule, IBgpRouteService,
+public class SdnIp implements IFloodlightModule, ISdnIpService,
IArpRequester,
IOFSwitchListener, IConfigInfoService {
- private static final Logger log = LoggerFactory.getLogger(BgpRoute.class);
+ private static final Logger log = LoggerFactory.getLogger(SdnIp.class);
private IFloodlightProviderService floodlightProvider;
private ILinkDiscoveryService linkDiscoveryService;
@@ -233,7 +234,7 @@
public Collection<Class<? extends IFloodlightService>> getModuleServices() {
Collection<Class<? extends IFloodlightService>> l
= new ArrayList<Class<? extends IFloodlightService>>();
- l.add(IBgpRouteService.class);
+ l.add(ISdnIpService.class);
l.add(IConfigInfoService.class);
return l;
}
@@ -242,7 +243,7 @@
public Map<Class<? extends IFloodlightService>, IFloodlightService> getServiceImpls() {
Map<Class<? extends IFloodlightService>, IFloodlightService> m
= new HashMap<Class<? extends IFloodlightService>, IFloodlightService>();
- m.put(IBgpRouteService.class, this);
+ m.put(ISdnIpService.class, this);
m.put(IConfigInfoService.class, this);
return m;
}
@@ -319,7 +320,7 @@
@Override
public void startUp(FloodlightModuleContext context) {
- restApi.addRestletRoutable(new BgpRouteWebRoutable());
+ restApi.addRestletRoutable(new SdnIpWebRoutable());
floodlightProvider.addOFSwitchListener(this);
// Retrieve the RIB from BGPd during startup
@@ -1354,7 +1355,7 @@
@Override
public String getName() {
- return "BgpRoute";
+ return "SdnIp";
}
/*
diff --git a/src/main/java/net/onrc/onos/apps/bgproute/BgpRouteResource.java b/src/main/java/net/onrc/onos/apps/sdnip/web/IncomingRequestResource.java
similarity index 85%
rename from src/main/java/net/onrc/onos/apps/bgproute/BgpRouteResource.java
rename to src/main/java/net/onrc/onos/apps/sdnip/web/IncomingRequestResource.java
index 1b20449..705c5f1 100644
--- a/src/main/java/net/onrc/onos/apps/bgproute/BgpRouteResource.java
+++ b/src/main/java/net/onrc/onos/apps/sdnip/web/IncomingRequestResource.java
@@ -1,8 +1,14 @@
-package net.onrc.onos.apps.bgproute;
+package net.onrc.onos.apps.sdnip.web;
import java.util.Iterator;
-import net.onrc.onos.apps.bgproute.RibUpdate.Operation;
+import net.onrc.onos.apps.sdnip.ISdnIpService;
+import net.onrc.onos.apps.sdnip.IPatriciaTree;
+import net.onrc.onos.apps.sdnip.Prefix;
+import net.onrc.onos.apps.sdnip.RestClient;
+import net.onrc.onos.apps.sdnip.RibEntry;
+import net.onrc.onos.apps.sdnip.RibUpdate;
+import net.onrc.onos.apps.sdnip.RibUpdate.Operation;
import org.restlet.resource.Delete;
import org.restlet.resource.Get;
@@ -15,8 +21,8 @@
* REST resource that handles REST calls from BGPd. This is the interface BGPd
* uses to push RIB entries (routes) to SDN-IP.
*/
-public class BgpRouteResource extends ServerResource {
- private static final Logger log = LoggerFactory.getLogger(BgpRouteResource.class);
+public class IncomingRequestResource extends ServerResource {
+ private static final Logger log = LoggerFactory.getLogger(IncomingRequestResource.class);
/**
* Gets the contents of SDN-IP's route table.
@@ -27,12 +33,12 @@
public String handleGetMethod() {
String dest = (String) getRequestAttributes().get("dest");
StringBuilder output = new StringBuilder(80);
- IBgpRouteService bgpRoute = (IBgpRouteService) getContext()
+ ISdnIpService sdnIp = (ISdnIpService) getContext()
.getAttributes().
- get(IBgpRouteService.class.getCanonicalName());
+ get(ISdnIpService.class.getCanonicalName());
if (dest == null) {
- IPatriciaTree<RibEntry> ptree = bgpRoute.getPtree();
+ IPatriciaTree<RibEntry> ptree = sdnIp.getPtree();
output.append("{\n \"rib\": [\n");
boolean printed = false;
@@ -61,7 +67,7 @@
// the dest here refers to router-id
// bgpdRestIp includes port number, such as 1.1.1.1:8080
- String bgpdRestIp = bgpRoute.getBgpdRestIp();
+ String bgpdRestIp = sdnIp.getBgpdRestIp();
String url = "http://" + bgpdRestIp + "/wm/bgp/" + dest;
// Doesn't actually do anything with the response
@@ -81,9 +87,9 @@
*/
@Post
public String handlePostMethod() {
- IBgpRouteService bgpRoute = (IBgpRouteService) getContext()
+ ISdnIpService sdnIp = (ISdnIpService) getContext()
.getAttributes().
- get(IBgpRouteService.class.getCanonicalName());
+ get(ISdnIpService.class.getCanonicalName());
String strSysuptime = (String) getRequestAttributes().get("sysuptime");
String strSequence = (String) getRequestAttributes().get("sequence");
@@ -119,7 +125,7 @@
RibEntry rib = new RibEntry(routerId, nexthop, sysUpTime,
sequenceNum);
- bgpRoute.newRibUpdate(new RibUpdate(Operation.UPDATE, p, rib));
+ sdnIp.newRibUpdate(new RibUpdate(Operation.UPDATE, p, rib));
reply = "[POST: " + prefix + "/" + mask + ":" + nexthop + "]";
log.info(reply);
@@ -145,9 +151,9 @@
*/
@Delete
public String handleDeleteMethod() {
- IBgpRouteService bgpRoute = (IBgpRouteService) getContext()
+ ISdnIpService sdnIp = (ISdnIpService) getContext()
.getAttributes().
- get(IBgpRouteService.class.getCanonicalName());
+ get(ISdnIpService.class.getCanonicalName());
String strSysuptime = (String) getRequestAttributes().get("sysuptime");
String strSequence = (String) getRequestAttributes().get("sequence");
@@ -183,7 +189,7 @@
RibEntry r = new RibEntry(routerId, nextHop, sysUpTime, sequenceNum);
- bgpRoute.newRibUpdate(new RibUpdate(Operation.DELETE, p, r));
+ sdnIp.newRibUpdate(new RibUpdate(Operation.DELETE, p, r));
replyStringBuilder.append("[DELE: ")
.append(prefix)
@@ -194,7 +200,7 @@
.append(']');
} else {
// clear the local rib: Ptree
- bgpRoute.clearPtree();
+ sdnIp.clearPtree();
replyStringBuilder.append("[DELE-capability: ")
.append(capability)
.append("; The local RibEntry is cleared!]\n");
diff --git a/src/main/java/net/onrc/onos/apps/bgproute/BgpRouteResourceSynch.java b/src/main/java/net/onrc/onos/apps/sdnip/web/OutgoingRequestResource.java
similarity index 78%
rename from src/main/java/net/onrc/onos/apps/bgproute/BgpRouteResourceSynch.java
rename to src/main/java/net/onrc/onos/apps/sdnip/web/OutgoingRequestResource.java
index 6c46b71..772bf7d 100644
--- a/src/main/java/net/onrc/onos/apps/bgproute/BgpRouteResourceSynch.java
+++ b/src/main/java/net/onrc/onos/apps/sdnip/web/OutgoingRequestResource.java
@@ -1,4 +1,7 @@
-package net.onrc.onos.apps.bgproute;
+package net.onrc.onos.apps.sdnip.web;
+
+import net.onrc.onos.apps.sdnip.ISdnIpService;
+import net.onrc.onos.apps.sdnip.RestClient;
import org.restlet.resource.Delete;
import org.restlet.resource.Post;
@@ -13,8 +16,8 @@
* not intended to be used during general operation. It is to have a way to
* influence BGPd's behavior for debugging.
*/
-public class BgpRouteResourceSynch extends ServerResource {
- private static final Logger log = LoggerFactory.getLogger(BgpRouteResourceSynch.class);
+public class OutgoingRequestResource extends ServerResource {
+ private static final Logger log = LoggerFactory.getLogger(OutgoingRequestResource.class);
/**
* Handles a REST call to SDN-IP which gives a command to send a new route
@@ -25,15 +28,15 @@
@Post
public String handlePostMethod() {
- IBgpRouteService bgpRoute = (IBgpRouteService) getContext().getAttributes().
- get(IBgpRouteService.class.getCanonicalName());
+ ISdnIpService sdnIp = (ISdnIpService) getContext().getAttributes().
+ get(ISdnIpService.class.getCanonicalName());
String routerId = (String) getRequestAttributes().get("routerid");
String prefix = (String) getRequestAttributes().get("prefix");
String mask = (String) getRequestAttributes().get("mask");
String nexthop = (String) getRequestAttributes().get("nexthop");
- String bgpdRestIp = bgpRoute.getBgpdRestIp();
+ String bgpdRestIp = sdnIp.getBgpdRestIp();
// bgpdRestIp includes port number, e.g. 1.1.1.1:8080
RestClient.post("http://" + bgpdRestIp + "/wm/bgp/" + routerId + "/" + prefix + "/"
@@ -55,8 +58,8 @@
*/
@Delete
public String handleDeleteMethod() {
- IBgpRouteService bgpRoute = (IBgpRouteService) getContext().getAttributes().
- get(IBgpRouteService.class.getCanonicalName());
+ ISdnIpService sdnIp = (ISdnIpService) getContext().getAttributes().
+ get(ISdnIpService.class.getCanonicalName());
String routerId = (String) getRequestAttributes().get("routerid");
String prefix = (String) getRequestAttributes().get("prefix");
@@ -65,7 +68,7 @@
StringBuilder reply = new StringBuilder();
- String bgpdRestIp = bgpRoute.getBgpdRestIp();
+ String bgpdRestIp = sdnIp.getBgpdRestIp();
RestClient.delete("http://" + bgpdRestIp + "/wm/bgp/" + routerId + "/" + prefix + "/"
+ mask + "/" + nextHop);
diff --git a/src/main/java/net/onrc/onos/apps/sdnip/web/SdnIpWebRoutable.java b/src/main/java/net/onrc/onos/apps/sdnip/web/SdnIpWebRoutable.java
new file mode 100644
index 0000000..8994f18
--- /dev/null
+++ b/src/main/java/net/onrc/onos/apps/sdnip/web/SdnIpWebRoutable.java
@@ -0,0 +1,28 @@
+package net.onrc.onos.apps.sdnip.web;
+
+import net.floodlightcontroller.restserver.RestletRoutable;
+
+import org.restlet.Context;
+import org.restlet.Restlet;
+import org.restlet.routing.Router;
+
+/**
+ * REST URL router for SDN-IP REST calls.
+ */
+public class SdnIpWebRoutable implements RestletRoutable {
+ @Override
+ public Restlet getRestlet(Context context) {
+ Router router = new Router(context);
+ router.attach("/json", IncomingRequestResource.class);
+ router.attach("/rib/{dest}", IncomingRequestResource.class);
+ router.attach("/{sysuptime}/{sequence}/{routerid}/{prefix}/{mask}/{nexthop}", IncomingRequestResource.class);
+ router.attach("/{routerid}/{prefix}/{mask}/{nexthop}/synch", OutgoingRequestResource.class);
+ router.attach("/{routerid}/{capability}", IncomingRequestResource.class);
+ return router;
+ }
+
+ @Override
+ public String basePath() {
+ return "/wm/bgp";
+ }
+}
diff --git a/src/main/java/net/onrc/onos/core/main/config/DefaultConfiguration.java b/src/main/java/net/onrc/onos/core/main/config/DefaultConfiguration.java
index 7f09e31..13b9b53 100644
--- a/src/main/java/net/onrc/onos/core/main/config/DefaultConfiguration.java
+++ b/src/main/java/net/onrc/onos/core/main/config/DefaultConfiguration.java
@@ -11,7 +11,7 @@
import net.floodlightcontroller.core.module.IFloodlightModule;
import net.floodlightcontroller.core.module.IFloodlightService;
import net.floodlightcontroller.util.MACAddress;
-import net.onrc.onos.apps.bgproute.Interface;
+import net.onrc.onos.apps.sdnip.Interface;
import org.openflow.util.HexString;
diff --git a/src/main/java/net/onrc/onos/core/main/config/IConfigInfoService.java b/src/main/java/net/onrc/onos/core/main/config/IConfigInfoService.java
index 5c94626..000a6a1 100644
--- a/src/main/java/net/onrc/onos/core/main/config/IConfigInfoService.java
+++ b/src/main/java/net/onrc/onos/core/main/config/IConfigInfoService.java
@@ -4,7 +4,7 @@
import net.floodlightcontroller.core.module.IFloodlightService;
import net.floodlightcontroller.util.MACAddress;
-import net.onrc.onos.apps.bgproute.Interface;
+import net.onrc.onos.apps.sdnip.Interface;
/**
* Provides information about the layer 3 properties of the network.