[CORD-2811] Fix VLAN cases in Mcast

Change-Id: I0b051a4502e48b4278723a1b782f49e0d6a2dffa
(cherry picked from commit 3cc7e66059ac9be3cdfbd266563690ec53badc9b)
diff --git a/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/Ofdpa2Pipeline.java b/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/Ofdpa2Pipeline.java
index 9f23cc9..6fd0450 100644
--- a/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/Ofdpa2Pipeline.java
+++ b/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/Ofdpa2Pipeline.java
@@ -467,8 +467,13 @@
             // Use the VLAN in criterion if metadata is not present and the traffic is tagged
             if (!vidCriterion.vlanId().equals(VlanId.NONE)) {
                 assignedVlan = vidCriterion.vlanId();
-            } else if (filt.meta() != null) {
-                assignedVlan = readVlanFromTreatment(filt.meta());
+            }
+            // If the meta VLAN is present let's update the assigned vlan
+            if (filt.meta() != null) {
+                VlanId metaVlan = readVlanFromTreatment(filt.meta());
+                if (metaVlan != null) {
+                    assignedVlan = metaVlan;
+                }
             }
 
             if (assignedVlan == null) {