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/CpqdOfdpa2Pipeline.java b/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/CpqdOfdpa2Pipeline.java
index 8957bff..9c22b37 100644
--- a/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/CpqdOfdpa2Pipeline.java
+++ b/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/CpqdOfdpa2Pipeline.java
@@ -20,6 +20,7 @@
import org.onlab.packet.Ethernet;
import org.onlab.packet.IpAddress;
import org.onlab.packet.IpPrefix;
+import org.onlab.packet.MacAddress;
import org.onlab.packet.VlanId;
import org.onosproject.core.ApplicationId;
import org.onosproject.core.GroupId;
@@ -318,6 +319,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) {
@@ -326,7 +328,7 @@
// Multicast MAC
if (ethCriterion.mask() != null) {
- return processMcastEthDstFilter(ethCriterion, assignedVlan, applicationId);
+ return processMcastEthDstFilter(ethCriterion, assignedVlan, unicastMac, applicationId);
}
//handling untagged packets via assigned VLAN