ONOS-686, 687, 1344 : The first commit for the Segment Routing application
- ICMP/ARP/IP handlers are implemented as a part of the application for now
- Default routing and link add/failure/recovery are also supprted
- Temporary NetworkConfigHandler, which is hardcoded to support only 6 router FISH topology, is used for test
- Some fixes on GroupHanlder app to support transit routers
- Supports multi-instance (tested with two instances)
Change-Id: Idfa67903e59e1c4cac4da430f89cd4c50e821420
diff --git a/apps/grouphandler/src/main/java/org/onosproject/grouphandler/DefaultGroupHandler.java b/apps/grouphandler/src/main/java/org/onosproject/grouphandler/DefaultGroupHandler.java
index ec9e42f..80f45c6 100644
--- a/apps/grouphandler/src/main/java/org/onosproject/grouphandler/DefaultGroupHandler.java
+++ b/apps/grouphandler/src/main/java/org/onosproject/grouphandler/DefaultGroupHandler.java
@@ -152,11 +152,13 @@
* @param newLink new neighbor link
*/
public void linkUp(Link newLink) {
+
if (newLink.type() != Link.Type.DIRECT) {
log.warn("linkUp: unknown link type");
return;
}
+
if (!newLink.src().deviceId().equals(deviceId)) {
log.warn("linkUp: deviceId{} doesn't match with link src{}",
deviceId,
@@ -307,13 +309,11 @@
List<Integer> nsSegmentIds = new ArrayList<Integer>();
- // Add one entry for "no label" (-1) to the list if
- // dpid list has not more than one node/neighbor as
- // there will never be a case a packet going to more than one
- // neighbor without a label at an edge router
- if (neighbors.size() == 1) {
- nsSegmentIds.add(-1);
- }
+ // Always pair up with no edge label
+ //If (neighbors.size() == 1) {
+ nsSegmentIds.add(-1);
+ //}
+
// Filter out SegmentIds matching with the
// nodes in the combo
for (Integer sId : allSegmentIds) {
@@ -405,7 +405,8 @@
}
}
- protected GroupKey getGroupKey(Object obj) {
+ public GroupKey getGroupKey(Object obj) {
return new DefaultGroupKey(kryo.build().serialize(obj));
}
+
}