Remove duplicate flows 96/76396/2
authorStephen Kitt <skitt@redhat.com>
Sun, 23 Sep 2018 14:41:16 +0000 (16:41 +0200)
committerSam Hague <shague@redhat.com>
Tue, 2 Oct 2018 01:23:50 +0000 (01:23 +0000)
Duplicate flows don’t reflect production usage; because flows are
keyed, such duplicates aren’t stored separately in the datastore.
With Id87cac5d78d271d6650a513cc8b03c3bd6c88c79 in Genius, flows are
de-duplicated, so we can clean up the flow definitions in NetVirt.

Change-Id: I7696e796e230335022806252a25d2cae9f678705
Signed-off-by: Stephen Kitt <skitt@redhat.com>
aclservice/impl/src/test/java/org/opendaylight/netvirt/aclservice/tests/FlowEntryObjectsStateful.xtend

index 6c153fd501636e305c8c0669300bdaafadcb06f3..478a5d0661c228224a717329d173a4a55d168cbb 100644 (file)
@@ -48,204 +48,162 @@ import org.opendaylight.genius.mdsalutil.instructions.InstructionWriteMetadata
 class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
 
     protected def etherFlows() {
-        fixedIngressFlowsPort1
-        + fixedConntrackIngressFlowsPort1
-        + fixedEgressL2BroadcastFlowsPort1
-        + fixedIngressL3BroadcastFlows
-        + fixedEgressFlowsPort1
-        + fixedConntrackEgressFlowsPort1
+        egressCommitConntrack1
+        + egressCommitNonConntrack1
+        + egressfixedAclMissDrop1
+        + etheregressFlowPort2
         + etherEgressFlowsPort1
-        + fixedIngressFlowsPort2
-        + fixedConntrackIngressFlowsPort2
-        + etherIngressFlowsPort2
         + etherIngressFlowsPort2
+        + fixedConntrackEgressFlowsPort1
+        + fixedConntrackEgressFlowsPort2
+        + fixedConntrackIngressFlowsPort1
+        + fixedConntrackIngressFlowsPort2
+        + fixedEgressFlowsPort1
+        + fixedEgressFlowsPort2
+        + fixedEgressL2BroadcastFlowsPort1
         + fixedEgressL2BroadcastFlowsPort2
+        + fixedIngressFlowsPort1
+        + fixedIngressFlowsPort2
         + fixedIngressL3BroadcastFlows
-        + fixedEgressFlowsPort2
-        + fixedConntrackEgressFlowsPort2
-        + etheregressFlowPort2
-        + remoteEgressFlowsPort1
-        + remoteEgressFlowsPort2
-        + ingressCommitNonConntrack1
-        + ingressCommitNonConntrack1
-        + egressCommitNonConntrack1
-        + egressCommitNonConntrack1
         + ingressCommitConntrack1
-        + ingressCommitConntrack1
-        + egressCommitConntrack1
-        + egressCommitConntrack1
-        + ingressfixedAclMissDrop1
-        + ingressfixedAclMissDrop1
-        + egressfixedAclMissDrop1
-        + egressfixedAclMissDrop1
-        + ingressDispatcherFirst
+        + ingressCommitNonConntrack1
         + ingressDispatcherFirst
         + ingressDispatcherLast
-        + ingressDispatcherLast
+        + ingressfixedAclMissDrop1
+        + remoteEgressFlowsPort1
+        + remoteEgressFlowsPort2
     }
 
     protected def tcpFlows() {
-        fixedIngressFlowsPort1
-        + fixedConntrackIngressFlowsPort1
-        + tcpIngressFlowPort1
-        + fixedEgressL2BroadcastFlowsPort1
-        + fixedIngressL3BroadcastFlows
-        + fixedEgressFlowsPort1
+        egressCommitConntrack1
+        + egressCommitNonConntrack1
+        + egressDispatcherFirst
+        + egressDispatcherLast
+        + egressfixedAclMissDrop1
         + fixedConntrackEgressFlowsPort1
-        + fixedIngressFlowsPort2
+        + fixedConntrackEgressFlowsPort2
+        + fixedConntrackIngressFlowsPort1
         + fixedConntrackIngressFlowsPort2
-        + tcpIngressFlowPort2
+        + fixedEgressFlowsPort1
+        + fixedEgressFlowsPort2
+        + fixedEgressL2BroadcastFlowsPort1
         + fixedEgressL2BroadcastFlowsPort2
+        + fixedIngressFlowsPort1
+        + fixedIngressFlowsPort2
         + fixedIngressL3BroadcastFlows
-        + fixedEgressFlowsPort2
-        + fixedConntrackEgressFlowsPort2
-        + tcpEgressFlowPort2
-        + tcpEgressFlowPort2
-        + egressDispatcherFirst
-        + egressDispatcherFirst
-        + egressDispatcherLast
-        + egressDispatcherLast
-        + remoteIngressFlowsPort1
-        + remoteIngressFlowsPort2
-        + ingressCommitNonConntrack1
-        + ingressCommitNonConntrack1
-        + egressCommitNonConntrack1
-        + egressCommitNonConntrack1
         + ingressCommitConntrack1
-        + ingressCommitConntrack1
-        + egressCommitConntrack1
-        + egressCommitConntrack1
-        + ingressfixedAclMissDrop1
+        + ingressCommitNonConntrack1
         + ingressfixedAclMissDrop1
-        + egressfixedAclMissDrop1
-        + egressfixedAclMissDrop1
-
+        + remoteIngressFlowsPort1
+        + remoteIngressFlowsPort2
+        + tcpEgressFlowPort2
+        + tcpIngressFlowPort1
+        + tcpIngressFlowPort2
     }
 
     protected def udpFlows() {
-        fixedIngressFlowsPort1
-        + fixedConntrackIngressFlowsPort1
-        + fixedEgressL2BroadcastFlowsPort1
-        + fixedIngressL3BroadcastFlows
-        + fixedEgressFlowsPort1
+        egressCommitConntrack1
+        + egressCommitNonConntrack1
+        + egressfixedAclMissDrop1
         + fixedConntrackEgressFlowsPort1
-        + udpEgressFlowsPort1
-        + fixedIngressFlowsPort2
+        + fixedConntrackEgressFlowsPort2
+        + fixedConntrackIngressFlowsPort1
         + fixedConntrackIngressFlowsPort2
-        + udpIngressFlowsPort2
-        + udpIngressFlowsPort2
+        + fixedEgressFlowsPort1
+        + fixedEgressFlowsPort2
+        + fixedEgressL2BroadcastFlowsPort1
         + fixedEgressL2BroadcastFlowsPort2
+        + fixedIngressFlowsPort1
+        + fixedIngressFlowsPort2
         + fixedIngressL3BroadcastFlows
-        + fixedEgressFlowsPort2
-        + fixedConntrackEgressFlowsPort2
-        + udpEgressFlowsPort2
-        + ingressDispatcherFirst
+        + ingressCommitConntrack1
+        + ingressCommitNonConntrack1
         + ingressDispatcherFirst
         + ingressDispatcherLast
-        + ingressDispatcherLast
+        + ingressfixedAclMissDrop1
         + remoteEgressFlowsPort1
         + remoteEgressFlowsPort2
-        + ingressCommitNonConntrack1
-        + ingressCommitNonConntrack1
-        + egressCommitNonConntrack1
-        + egressCommitNonConntrack1
-        + ingressCommitConntrack1
-        + ingressCommitConntrack1
-        + egressCommitConntrack1
-        + egressCommitConntrack1
-        + ingressfixedAclMissDrop1
-        + ingressfixedAclMissDrop1
-        + egressfixedAclMissDrop1
-        + egressfixedAclMissDrop1
+        + udpEgressFlowsPort1
+        + udpEgressFlowsPort2
+        + udpIngressFlowsPort2
     }
 
     protected def icmpFlows() {
-        fixedIngressFlowsPort1
-        + fixedConntrackIngressFlowsPort1
-        + icmpIngressFlowsPort1
-        + fixedEgressL2BroadcastFlowsPort1
-        + fixedIngressL3BroadcastFlows
-        + fixedEgressFlowsPort1
+        egressCommitConntrack1
+        + egressCommitNonConntrack1
+        + egressDispatcherFirst
+        + egressDispatcherLast
+        + egressfixedAclMissDrop1
         + fixedConntrackEgressFlowsPort1
-        + fixedIngressFlowsPort2
+        + fixedConntrackEgressFlowsPort2
+        + fixedConntrackIngressFlowsPort1
         + fixedConntrackIngressFlowsPort2
-        + icmpIngressFlowsPort2
+        + fixedEgressFlowsPort1
+        + fixedEgressFlowsPort2
+        + fixedEgressL2BroadcastFlowsPort1
         + fixedEgressL2BroadcastFlowsPort2
+        + fixedIngressFlowsPort1
+        + fixedIngressFlowsPort2
         + fixedIngressL3BroadcastFlows
-        + fixedEgressFlowsPort2
-        + fixedConntrackEgressFlowsPort2
-        + icmpEgressFlowsPort2
         + icmpEgressFlowsPort2
-        + egressDispatcherFirst
-        + egressDispatcherFirst
-        + egressDispatcherLast
-        + egressDispatcherLast
-        + remoteIngressFlowsPort1
-        + remoteIngressFlowsPort2
-        + ingressCommitNonConntrack1
-        + ingressCommitNonConntrack1
-        + egressCommitNonConntrack1
-        + egressCommitNonConntrack1
-        + ingressCommitConntrack1
+        + icmpIngressFlowsPort1
+        + icmpIngressFlowsPort2
         + ingressCommitConntrack1
-        + egressCommitConntrack1
-        + egressCommitConntrack1
-        + ingressfixedAclMissDrop1
+        + ingressCommitNonConntrack1
         + ingressfixedAclMissDrop1
-        + egressfixedAclMissDrop1
-        + egressfixedAclMissDrop1
+        + remoteIngressFlowsPort1
+        + remoteIngressFlowsPort2
     }
 
     protected def dstRangeFlows() {
-        fixedIngressFlowsPort1
-        +fixedConntrackIngressFlowsPort1
-        + udpIngressPortRangeFlows
+        egressCommitConntrack1
+        + egressCommitNonConntrack1
+        + egressfixedAclMissDrop1
+        + fixedConntrackEgressFlowsPort1
+        + fixedConntrackIngressFlowsPort1
+        + fixedEgressFlowsPort1
         + fixedEgressL2BroadcastFlowsPort1
+        + fixedIngressFlowsPort1
         + fixedIngressL3BroadcastFlows
-        + fixedEgressFlowsPort1
-        + fixedConntrackEgressFlowsPort1
-        + tcpEgressRangeFlows
-        + ingressCommitNonConntrack1
-        + egressCommitNonConntrack1
         + ingressCommitConntrack1
-        + egressCommitConntrack1
+        + ingressCommitNonConntrack1
         + ingressfixedAclMissDrop1
-        + egressfixedAclMissDrop1
-
+        + tcpEgressRangeFlows
+        + udpIngressPortRangeFlows
     }
 
     protected def dstAllFlows() {
-        fixedIngressFlowsPort1
+        egressCommitConntrack1
+        + egressCommitNonConntrack1
+        + egressfixedAclMissDrop1
+        + fixedConntrackEgressFlowsPort1
         + fixedConntrackIngressFlowsPort1
-        + udpIngressAllFlows
+        + fixedEgressFlowsPort1
         + fixedEgressL2BroadcastFlowsPort1
+        + fixedIngressFlowsPort1
         + fixedIngressL3BroadcastFlows
-        + fixedEgressFlowsPort1
-        + fixedConntrackEgressFlowsPort1
-        + tcpEgressAllFlows
-        + ingressCommitNonConntrack1
-        + egressCommitNonConntrack1
         + ingressCommitConntrack1
-        + egressCommitConntrack1
+        + ingressCommitNonConntrack1
         + ingressfixedAclMissDrop1
-        + egressfixedAclMissDrop1
+        + tcpEgressAllFlows
+        + udpIngressAllFlows
     }
 
     protected def icmpFlowsForTwoAclsHavingSameRules() {
-        fixedIngressFlowsPort3
+        egressCommitConntrack1
+        + egressCommitNonConntrack1
+        + egressfixedAclMissDrop1
+        + fixedConntrackEgressFlowsPort3
         + fixedConntrackIngressFlowsPort3
-        + icmpIngressFlowsPort3
         + fixedEgressFlowsPort3
-        + fixedConntrackEgressFlowsPort3
+        + fixedEgressL2BroadcastFlowsPort3
+        + fixedIngressFlowsPort3
+        + fixedIngressL3BroadcastFlows
         + icmpEgressFlowsPort3
+        + icmpIngressFlowsPort3
         + ingressCommitConntrack1
-        + egressCommitConntrack1
         + ingressCommitNonConntrack1
-        + egressCommitNonConntrack1
         + ingressfixedAclMissDrop1
-        + egressfixedAclMissDrop1
-        + fixedIngressL3BroadcastFlows
-        + fixedEgressL2BroadcastFlowsPort3
     }
 
     protected def aapWithIpv4AllFlows() {
@@ -260,54 +218,35 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
     }
 
     protected def multipleAcl() {
-        fixedIngressFlowsPort1
-        + fixedConntrackIngressFlowsPort1
-        + fixedEgressL2BroadcastFlowsPort1
-        + fixedIngressL3BroadcastFlows
-        + fixedEgressFlowsPort1
-        + fixedConntrackEgressFlowsPort1
+        egressCommitConntrack1
+        + egressCommitNonConntrack1
+        + egressDispatcherFirst1
+        + egressDispatcherLast1
+        + egressfixedAclMissDrop1
+        + etheregressFlowPort2
         + etherEgressFlowsPort1
-        + fixedIngressFlowsPort2
-        + fixedConntrackIngressFlowsPort2
-        + etherIngressFlowsPort2
         + etherIngressFlowsPort2
+        + fixedConntrackEgressFlowsPort1
+        + fixedConntrackEgressFlowsPort2
+        + fixedConntrackIngressFlowsPort1
+        + fixedConntrackIngressFlowsPort2
+        + fixedEgressFlowsPort1
+        + fixedEgressFlowsPort2
+        + fixedEgressL2BroadcastFlowsPort1
         + fixedEgressL2BroadcastFlowsPort2
+        + fixedIngressFlowsPort1
+        + fixedIngressFlowsPort2
         + fixedIngressL3BroadcastFlows
-        + fixedEgressFlowsPort2
-        + fixedConntrackEgressFlowsPort2
-        + etheregressFlowPort2
+        + ingressCommitConntrack1
+        + ingressCommitNonConntrack1
+        + ingressDispatcherFirst
+        + ingressDispatcherLast
+        + ingressfixedAclMissDrop1
         + remoteEgressFlowsPort1
         + remoteEgressFlowsPort2
-        + tcpEgressFlowPort2WithRemoteIpSg
+        + remoteEgressFlowsPort3
         + tcpEgressFlowPort2WithRemoteIpSg
         + tcpIngressFlowPort1WithMultipleSG
-        + tcpIngressFlowPort1WithMultipleSG
-        + ingressCommitNonConntrack1
-        + ingressCommitNonConntrack1
-        + egressCommitNonConntrack1
-        + egressCommitNonConntrack1
-        + ingressCommitConntrack1
-        + ingressCommitConntrack1
-        + egressCommitConntrack1
-        + egressCommitConntrack1
-        + ingressfixedAclMissDrop1
-        + ingressfixedAclMissDrop1
-        + egressfixedAclMissDrop1
-        + egressfixedAclMissDrop1
-        + remoteEgressFlowsPort3
-        + egressDispatcherLast1
-        + egressDispatcherFirst1
-        + ingressDispatcherLast
-        + ingressDispatcherFirst
-        + egressDispatcherLast1
-        + egressDispatcherFirst1
-        + ingressDispatcherLast
-        + ingressDispatcherFirst
-        + ingressDispatcherFirst
-        + ingressDispatcherFirst
-        + ingressDispatcherLast
-        + ingressDispatcherLast
-
     }
 
     protected def tcpEgressFlowPort2WithRemoteIpSg() {