Segment Routing refactor with flow objectives
Change-Id: I0b87f89bb8b18522b9d38bdf5e96f55485b6f1e3
diff --git a/openflow/api/src/main/java/org/onosproject/openflow/controller/driver/AbstractOpenFlowSwitch.java b/openflow/api/src/main/java/org/onosproject/openflow/controller/driver/AbstractOpenFlowSwitch.java
index d47c78f..ebfa635 100644
--- a/openflow/api/src/main/java/org/onosproject/openflow/controller/driver/AbstractOpenFlowSwitch.java
+++ b/openflow/api/src/main/java/org/onosproject/openflow/controller/driver/AbstractOpenFlowSwitch.java
@@ -19,10 +19,11 @@
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.SocketAddress;
-import java.util.Collections;
+import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.RejectedExecutionException;
import java.util.concurrent.atomic.AtomicInteger;
+import java.util.stream.Collectors;
import org.jboss.netty.channel.Channel;
import org.onlab.packet.IpAddress;
@@ -64,7 +65,7 @@
private OFVersion ofVersion;
- protected OFPortDescStatsReply ports;
+ protected List<OFPortDescStatsReply> ports = new ArrayList<>();
protected boolean tableFull;
@@ -251,7 +252,12 @@
@Override
public void setPortDescReply(OFPortDescStatsReply portDescReply) {
- this.ports = portDescReply;
+ this.ports.add(portDescReply);
+ }
+
+ @Override
+ public void setPortDescReplies(List<OFPortDescStatsReply> portDescReplies) {
+ this.ports.addAll(portDescReplies);
}
@Override
@@ -379,7 +385,10 @@
@Override
public List<OFPortDesc> getPorts() {
- return Collections.unmodifiableList(ports.getEntries());
+ return this.ports.stream()
+ .flatMap((portReply) -> (portReply.getEntries().stream()))
+ .collect(Collectors.toList());
+ //return Collections.unmodifiableList(ports.getEntries());
}
@Override
diff --git a/openflow/api/src/main/java/org/onosproject/openflow/controller/driver/OpenFlowSwitchDriver.java b/openflow/api/src/main/java/org/onosproject/openflow/controller/driver/OpenFlowSwitchDriver.java
index c6f83e2..a83b608 100644
--- a/openflow/api/src/main/java/org/onosproject/openflow/controller/driver/OpenFlowSwitchDriver.java
+++ b/openflow/api/src/main/java/org/onosproject/openflow/controller/driver/OpenFlowSwitchDriver.java
@@ -137,6 +137,12 @@
public void setPortDescReply(OFPortDescStatsReply portDescReply);
/**
+ * Sets the ports on this switch.
+ * @param portDescReplies list of port set and descriptions
+ */
+ public void setPortDescReplies(List<OFPortDescStatsReply> portDescReplies);
+
+ /**
* Sets the features reply for this switch.
* @param featuresReply the features to set.
*/