Processing EAPOL and DP flows in the correct order

Change-Id: I5a232ba9290a7b3477c238a634e3c4a2b22f7500
diff --git a/impl/src/main/java/org/opencord/olt/impl/OltFlowService.java b/impl/src/main/java/org/opencord/olt/impl/OltFlowService.java
index f1ef425..477e3a3 100644
--- a/impl/src/main/java/org/opencord/olt/impl/OltFlowService.java
+++ b/impl/src/main/java/org/opencord/olt/impl/OltFlowService.java
@@ -551,11 +551,13 @@
             return false;
         }
 
+        // NOTE that the EAPOL flows handling is based on the data-plane flows status
+        // always process them before
+        handleSubscriberEapolFlows(sub, FlowOperation.ADD, sub.subscriberAndDeviceInformation);
+
         handleSubscriberDataFlows(sub.device, sub.port, FlowOperation.ADD,
                 sub.subscriberAndDeviceInformation, multicastServiceName);
 
-        handleSubscriberEapolFlows(sub, FlowOperation.ADD, sub.subscriberAndDeviceInformation);
-
         handleSubscriberIgmpFlows(sub, FlowOperation.ADD);
 
         log.info("Provisioning of subscriber on {} completed", portWithName(sub.port));