BUG 3005: WORKAROUND issue where match cannot differ only on extensions portion 63/18463/2
authorFlavio Fernandes <ffernand@redhat.com>
Thu, 16 Apr 2015 17:40:52 +0000 (13:40 -0400)
committerFlavio Fernandes <ffernand@redhat.com>
Thu, 16 Apr 2015 18:00:22 +0000 (14:00 -0400)
The details on the original issue were discovered by Anil Vishnoi:

BUG-2757 : Openflowplugin manager doesn't use match extensions while comparing two flows
Ovsdb installs two flows which is different from each other just by the match extension (reg0) (actions are not used in comparison).

cookie=0x0, duration=255.353s, table=110, n_packets=8, n_bytes=648, priority=16384,reg0=0x1,tun_id=0x1,dl_dst=01:00:00:00:00:00/01:00:00:00:00:00 actions=output:1,output:2
cookie=0x0, duration=256.115s, table=110, n_packets=9, n_bytes=1464, priority=16384,reg0=0x2,tun_id=0x1,dl_dst=01:00:00:00:00:00/01:00:00:00:00:00 actions=output:1

So statistics manager assign the same id internally to both the flows and that's causing the repeated error message about duplicate id.
Adding match extension in flow comparison is not trivial and we cannot implement it in this release.

Change-Id: I9d9986628fcb4996a7b7aac7af327df59201904a
Also-By: Anil Vishnoi <vishnoianil@gmail.com>
Signed-off-by: Flavio Fernandes <ffernand@redhat.com>
openstack/net-virt-providers/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/providers/openflow13/services/L2ForwardingService.java

index ecc03b30b4a4cbb15caa1777fd2ec8e5e1465699..005dc43b7963ea3ee7c63d46d9c640abf8dcf1fc 100644 (file)
@@ -756,7 +756,7 @@ public class L2ForwardingService extends AbstractServiceInstance implements L2Fo
         flowBuilder.setBarrier(true);
         flowBuilder.setTableId(getTable());
         flowBuilder.setKey(key);
-        flowBuilder.setPriority(16384);
+        flowBuilder.setPriority(16383);  // FIXME: change it back to 16384 once bug 3005 is fixed.
         flowBuilder.setFlowName(flowId);
         flowBuilder.setHardTimeout(0);
         flowBuilder.setIdleTimeout(0);