Improvement in 'show tunnel' command
diff --git a/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRouterTunnelInfo.java b/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRouterTunnelInfo.java
index cd6f9be..4c6457a 100644
--- a/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRouterTunnelInfo.java
+++ b/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRouterTunnelInfo.java
@@ -1,30 +1,28 @@
package net.onrc.onos.apps.segmentrouting.web;
import java.util.List;
-
/**
* This class contains tunnel info of ONOS Segement Routing App
* Used for rest API
*/
public class SegmentRouterTunnelInfo {
private String tunnelId;
- // private List<Dpid> nodes;
private List<List<String>> labelStack;
-
- public SegmentRouterTunnelInfo(String tId, /*List<Dpid> dpids,*/
- List<List<String>> tunnelRoutes){
+ private List<String> dpidGroup;
+
+ public SegmentRouterTunnelInfo (String tId,
+ List<List<String>> tunnelRoutes, List<String> dpidsWithGroup){
this.tunnelId = tId;
- // this.nodes = dpids;
this.labelStack = tunnelRoutes;
+ this.dpidGroup = dpidsWithGroup;
}
public String getTunnelId (){
return this.tunnelId;
}
-
- /*public List<Dpid> getnodes (){
- return this.nodes;
- }*/
public List<List<String>> getLabelStack (){
return this.labelStack;
}
+ public List<String> getDpidGroup (){
+ return this.dpidGroup;
+ }
}
diff --git a/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRouterTunnelResource.java b/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRouterTunnelResource.java
index bf3a084..d391082 100644
--- a/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRouterTunnelResource.java
+++ b/src/main/java/net/onrc/onos/apps/segmentrouting/web/SegmentRouterTunnelResource.java
@@ -73,7 +73,6 @@
@Get("json")
public Object getTunnel() {
- System.out.println("Got into getTunnel");
ISegmentRoutingService segmentRoutingService =
(ISegmentRoutingService) getContext().getAttributes().
get(ISegmentRoutingService.class.getCanonicalName());
@@ -83,19 +82,19 @@
TunnelInfo tunnelInfo = ttI.next();
Iterator<TunnelRouteInfo>trI = tunnelInfo.getRoutes().iterator();
List<List<String>> labelStack = new ArrayList<List<String>>();
+ List<String> dpidGroup = new ArrayList<String>();
while(trI.hasNext()){
TunnelRouteInfo label = trI.next();
labelStack.add(label.getRoute());
+ Integer gId = segmentRoutingService.getTunnelGroupId(tunnelInfo.getTunnelId(),
+ label.getSrcSwDpid());
+ dpidGroup.add(label.getSrcSwDpid() + "/"+ gId);
}
SegmentRouterTunnelInfo info = new SegmentRouterTunnelInfo(tunnelInfo.getTunnelId(),
- /*tunnelInfo.getDpids(),*/labelStack);
+ labelStack, dpidGroup);
infoList.add(info);
- //TODO Add Group/DPID
-
}
log.debug("getTunnel with params");
- Map <String,List<SegmentRouterTunnelInfo>>result = new HashMap<String,List<SegmentRouterTunnelInfo>>();
- result.put("tunnels", infoList);
return infoList;
}
}