Bug fix for Dell switch
Change-Id: Icdef36f25e9b08f08f0336d3327265abc9d010b7
diff --git a/src/main/java/net/onrc/onos/core/drivermanager/OFSwitchImplDellOSR.java b/src/main/java/net/onrc/onos/core/drivermanager/OFSwitchImplDellOSR.java
index d5a0ddb..f5f9c5d 100644
--- a/src/main/java/net/onrc/onos/core/drivermanager/OFSwitchImplDellOSR.java
+++ b/src/main/java/net/onrc/onos/core/drivermanager/OFSwitchImplDellOSR.java
@@ -12,9 +12,9 @@
import net.onrc.onos.core.matchaction.action.OutputAction;
import net.onrc.onos.core.matchaction.action.PopMplsAction;
import net.onrc.onos.core.matchaction.action.SetDAAction;
-import net.onrc.onos.core.matchaction.action.SetMplsBosAction;
import net.onrc.onos.core.matchaction.match.Ipv4Match;
import net.onrc.onos.core.matchaction.match.Match;
+import net.onrc.onos.core.matchaction.match.MplsMatch;
import net.onrc.onos.core.util.Dpid;
import net.onrc.onos.core.util.IPv4Net;
import net.onrc.onos.core.util.PortNumber;
@@ -142,13 +142,16 @@
protected void analyzeAndUpdateMplsActions(
MatchActionOperationEntry mao) {
MatchAction ma = mao.getTarget();
+ MplsMatch mplsm = (MplsMatch) ma.getMatch();
+
int flowType = 0x00;
PortNumber outPort = null;
+ if (mplsm.isBos()) {
+ flowType |= 0x01;
+ }
for (Action action : ma.getActions()) {
if (action instanceof PopMplsAction)
flowType |= 0x10;
- else if (action instanceof SetMplsBosAction)
- flowType |= 0x01;
else if (action instanceof OutputAction)
outPort = ((OutputAction) action).getPortNumber();
}