very basic broken reactive forwarding; nit yet using treatments, but rather defaulting to flood for everything
generates a ton of duplicates for now
diff --git a/core/api/src/main/java/org/onlab/onos/net/packet/DefaultOutboundPacket.java b/core/api/src/main/java/org/onlab/onos/net/packet/DefaultOutboundPacket.java
index 8c2495c..8f49602 100644
--- a/core/api/src/main/java/org/onlab/onos/net/packet/DefaultOutboundPacket.java
+++ b/core/api/src/main/java/org/onlab/onos/net/packet/DefaultOutboundPacket.java
@@ -1,10 +1,11 @@
package org.onlab.onos.net.packet;
-import com.google.common.base.MoreObjects;
+import java.nio.ByteBuffer;
+
import org.onlab.onos.net.DeviceId;
import org.onlab.onos.net.flow.TrafficTreatment;
-import java.nio.ByteBuffer;
+import com.google.common.base.MoreObjects;
/**
* Default implementation of an immutable outbound packet.
@@ -22,7 +23,7 @@
* @param data raw packet data
*/
public DefaultOutboundPacket(DeviceId sendThrough,
- TrafficTreatment treatment, ByteBuffer data) {
+ TrafficTreatment treatment, ByteBuffer data) {
this.sendThrough = sendThrough;
this.treatment = treatment;
this.data = data;
diff --git a/core/api/src/main/java/org/onlab/onos/net/packet/DefaultPacketContext.java b/core/api/src/main/java/org/onlab/onos/net/packet/DefaultPacketContext.java
index 6b77225..923f168 100644
--- a/core/api/src/main/java/org/onlab/onos/net/packet/DefaultPacketContext.java
+++ b/core/api/src/main/java/org/onlab/onos/net/packet/DefaultPacketContext.java
@@ -1,13 +1,20 @@
package org.onlab.onos.net.packet;
+import org.onlab.onos.net.flow.DefaultTrafficTreatment;
+import org.onlab.onos.net.flow.TrafficTreatment;
+import org.onlab.onos.net.flow.TrafficTreatment.Builder;
+
public abstract class DefaultPacketContext implements PacketContext {
private final long time;
private final InboundPacket inPkt;
private final OutboundPacket outPkt;
+ private final TrafficTreatment.Builder builder;
+
private boolean block = false;
+
protected DefaultPacketContext(long time, InboundPacket inPkt,
OutboundPacket outPkt, boolean block) {
super();
@@ -15,6 +22,7 @@
this.inPkt = inPkt;
this.outPkt = outPkt;
this.block = block;
+ this.builder = new DefaultTrafficTreatment.Builder();
}
@Override
@@ -33,6 +41,11 @@
}
@Override
+ public Builder treatmentBuilder() {
+ return builder;
+ }
+
+ @Override
public abstract void send();
@Override