Added the default routing feature for dell switch
- If transit router && PHP is not involved, use output action isteadof group
- SetSAAction and SetDAAction class are newly introduced for this
- Added handler for the two new actions in driver
Change-Id: I8546087aa8676320a833d70784b27031f6092c30
diff --git a/src/main/java/net/onrc/onos/core/drivermanager/OFSwitchImplCPqD13.java b/src/main/java/net/onrc/onos/core/drivermanager/OFSwitchImplCPqD13.java
index f426428..874232f 100644
--- a/src/main/java/net/onrc/onos/core/drivermanager/OFSwitchImplCPqD13.java
+++ b/src/main/java/net/onrc/onos/core/drivermanager/OFSwitchImplCPqD13.java
@@ -48,8 +48,10 @@
import net.onrc.onos.core.matchaction.action.OutputAction;
import net.onrc.onos.core.matchaction.action.PopMplsAction;
import net.onrc.onos.core.matchaction.action.PushMplsAction;
+import net.onrc.onos.core.matchaction.action.SetDAAction;
import net.onrc.onos.core.matchaction.action.SetMplsBosAction;
import net.onrc.onos.core.matchaction.action.SetMplsIdAction;
+import net.onrc.onos.core.matchaction.action.SetSAAction;
import net.onrc.onos.core.matchaction.match.Ipv4Match;
import net.onrc.onos.core.matchaction.match.Match;
import net.onrc.onos.core.matchaction.match.MplsMatch;
@@ -1361,6 +1363,16 @@
ofAction = factory.actions().copyTtlIn();
} else if (action instanceof CopyTtlOutAction) {
ofAction = factory.actions().copyTtlOut();
+ } else if (action instanceof SetDAAction) {
+ OFOxmEthDst dmac = factory.oxms()
+ .ethDst(((SetDAAction)action).getAddress());
+ ofAction = factory.actions().buildSetField()
+ .setField(dmac).build();
+ } else if (action instanceof SetSAAction) {
+ OFOxmEthSrc smac = factory.oxms()
+ .ethSrc(((SetSAAction)action).getAddress());
+ ofAction = factory.actions().buildSetField()
+ .setField(smac).build();
} else {
log.warn("Unsupported Action type: {}", action.getClass().getName());
return null;