BUG 5028 - Test GBP and SFC against Li OFP 05/33105/8
authorMatej Perina <matej.perina@pantheon.sk>
Wed, 13 Apr 2016 13:11:10 +0000 (15:11 +0200)
committerMartin Sunal <msunal@cisco.com>
Sat, 25 Jun 2016 13:12:13 +0000 (13:12 +0000)
migration to openflowplugin Li

Change-Id: Iafc78069780aa04ed06935fa567e2ee86ccd158f
Signed-off-by: Matej Perina <matej.perina@pantheon.sk>
renderers/ofoverlay/src/main/java/org/opendaylight/groupbasedpolicy/renderer/ofoverlay/OfWriter.java
renderers/ofoverlay/src/main/java/org/opendaylight/groupbasedpolicy/renderer/ofoverlay/flow/FlowTable.java

index 5a8c77dd6c775ade607f0eb398c86a01042b5cba..72fff6c0d9394924eff0f896c523532c834f9f75 100755 (executable)
@@ -40,6 +40,8 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.Fl
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.Table;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.TableBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.FlowBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.MatchBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.GroupId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.GroupTypes;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.BucketsBuilder;
@@ -168,6 +170,9 @@ public class OfWriter {
         Preconditions.checkNotNull(flow);
         Preconditions.checkNotNull(nodeId);
 
+        if (flow.getMatch() == null) {
+            flow = new FlowBuilder(flow).setMatch(new MatchBuilder().build()).build();
+        }
         TableBuilder tableBuilder = this.getTableBuilderForNode(nodeId, tableId);
         // transforming List<Flow> to Set (with customized equals/hashCode) to eliminate duplicate entries
         List<Flow> flows = tableBuilder.getFlow();
@@ -264,6 +269,9 @@ public class OfWriter {
             for (Equivalence.Wrapper<Flow> wf : additions) {
                 Flow f = wf.get();
                 if (f != null) {
+                    if (f.getMatch() == null) {
+                        f = new FlowBuilder(f).setMatch(new MatchBuilder().build()).build();
+                    }
                     t.put(LogicalDatastoreType.CONFIGURATION,
                             FlowUtils.createFlowPath(tableIid, f.getId()), f, true);
                 }
index 743c519cd0010514b2fe3ca07f750971d3584300..51e756a0837b8a42b07a1a12f61a70c9e3a1b6ab 100755 (executable)
@@ -51,7 +51,8 @@ public abstract class FlowTable extends OfTable {
             .setTableId(getTableId())
             .setBarrier(false)
             .setHardTimeout(0)
-            .setIdleTimeout(0);
+            .setIdleTimeout(0)
+            .setMatch(new MatchBuilder().build());
     }
 
     /**