Port the Router functionality from SDN-IP.
As part of this we added an onlab-thirdparty artifact which allows us to
bring in dependencies that aren't bundles.
diff --git a/apps/sdnip/src/main/java/org/onlab/onos/sdnip/SdnIp.java b/apps/sdnip/src/main/java/org/onlab/onos/sdnip/SdnIp.java
index 25b13f1..a98a84b 100644
--- a/apps/sdnip/src/main/java/org/onlab/onos/sdnip/SdnIp.java
+++ b/apps/sdnip/src/main/java/org/onlab/onos/sdnip/SdnIp.java
@@ -9,7 +9,10 @@
import org.apache.felix.scr.annotations.ReferenceCardinality;
import org.onlab.onos.net.host.HostService;
import org.onlab.onos.net.intent.IntentService;
+import org.onlab.onos.sdnip.RouteUpdate.Type;
import org.onlab.onos.sdnip.config.SdnIpConfigReader;
+import org.onlab.packet.IpAddress;
+import org.onlab.packet.IpPrefix;
import org.slf4j.Logger;
/**
@@ -28,6 +31,7 @@
private SdnIpConfigReader config;
private PeerConnectivity peerConnectivity;
+ private Router router;
@Activate
protected void activate() {
@@ -41,6 +45,14 @@
peerConnectivity = new PeerConnectivity(config, interfaceService, intentService);
peerConnectivity.start();
+ router = new Router(intentService, hostService, config, interfaceService);
+ router.start();
+
+ // TODO need to disable link discovery on external ports
+
+ router.update(new RouteUpdate(Type.UPDATE, new RouteEntry(
+ IpPrefix.valueOf("172.16.20.0/24"),
+ IpAddress.valueOf("192.168.10.1"))));
}
@Deactivate