QMX switches require the unicast flow being installed before multicast flow in TMAC table
Change-Id: I2258f7ecceb9a151c4ce65518e9553fe371cf3ac
diff --git a/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/CpqdOfdpa2VlanPipeline.java b/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/CpqdOfdpa2VlanPipeline.java
index 36be98d..1c4cdcd 100644
--- a/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/CpqdOfdpa2VlanPipeline.java
+++ b/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/CpqdOfdpa2VlanPipeline.java
@@ -25,6 +25,7 @@
import com.google.common.collect.ImmutableList;
import org.onlab.packet.Ethernet;
+import org.onlab.packet.MacAddress;
import org.onlab.packet.VlanId;
import org.onosproject.core.ApplicationId;
import org.onosproject.net.Port;
@@ -92,6 +93,7 @@
EthCriterion ethCriterion,
VlanIdCriterion vidCriterion,
VlanId assignedVlan,
+ MacAddress unicastMac,
ApplicationId applicationId) {
// Consider PortNumber.ANY as wildcard. Match ETH_DST only
if (portCriterion != null && portCriterion.port() == PortNumber.ANY) {
@@ -100,7 +102,7 @@
// Multicast MAC
if (ethCriterion.mask() != null) {
- return processMcastEthDstFilter(ethCriterion, assignedVlan, applicationId);
+ return processMcastEthDstFilter(ethCriterion, assignedVlan, unicastMac, applicationId);
}
//handling untagged packets via assigned VLAN