X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fcompatibility%2Fsal-compatibility%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fcompatibility%2FMDFlowMapping.xtend;h=75cbf49ee50fa2b529714ae4807f6426ac4f029d;hp=b0f6065bac751a25ceb57d6d1bde65ed9550f6cb;hb=ec82a960337ba51c2e896863a668dcf8fbcfcb6b;hpb=0ae12c54560ef14cb8c08beef4553f7523d41578 diff --git a/opendaylight/md-sal/compatibility/sal-compatibility/src/main/java/org/opendaylight/controller/sal/compatibility/MDFlowMapping.xtend b/opendaylight/md-sal/compatibility/sal-compatibility/src/main/java/org/opendaylight/controller/sal/compatibility/MDFlowMapping.xtend index b0f6065bac..75cbf49ee5 100644 --- a/opendaylight/md-sal/compatibility/sal-compatibility/src/main/java/org/opendaylight/controller/sal/compatibility/MDFlowMapping.xtend +++ b/opendaylight/md-sal/compatibility/sal-compatibility/src/main/java/org/opendaylight/controller/sal/compatibility/MDFlowMapping.xtend @@ -1,3 +1,10 @@ +/* + * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ package org.opendaylight.controller.sal.compatibility; import com.google.common.net.InetAddresses @@ -106,6 +113,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instru import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorId import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.FlowBuilder import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowId +import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.FlowCookie public class MDFlowMapping { @@ -120,13 +128,15 @@ public class MDFlowMapping { hardTimeout = sourceFlow.hardTimeout as int idleTimeout = sourceFlow.idleTimeout as int - cookie = BigInteger.valueOf(sourceFlow.id) + cookie = new FlowCookie(BigInteger.valueOf(sourceFlow.id)) priority = sourceFlow.priority as int val sourceActions = sourceFlow.actions; val targetActions = new ArrayList(); + var int action = 0; for (sourceAction : sourceActions) { - targetActions.add(sourceAction.toAction()); + targetActions.add(sourceAction.toAction(action)); + action = action + 1; } instructions = targetActions.toApplyInstruction(); match = sourceFlow.match.toMatch(); @@ -135,20 +145,22 @@ public class MDFlowMapping { } - public static def toMDFlow(Flow sourceFlow) { + public static def toMDFlow(Flow sourceFlow, String flowId) { if (sourceFlow == null) throw new IllegalArgumentException(); val it = new FlowBuilder(); hardTimeout = sourceFlow.hardTimeout as int idleTimeout = sourceFlow.idleTimeout as int - cookie = BigInteger.valueOf(sourceFlow.id) + cookie = new FlowCookie(BigInteger.valueOf(sourceFlow.id)) priority = sourceFlow.priority as int - id = new FlowId(sourceFlow.id) + id = new FlowId(flowId) val sourceActions = sourceFlow.actions; val targetActions = new ArrayList(); + var int action = 0; for (sourceAction : sourceActions) { - targetActions.add(sourceAction.toAction()); + targetActions.add(sourceAction.toAction(action)); + action = action+ 1; } instructions = targetActions.toApplyInstruction(); match = sourceFlow.match.toMatch(); @@ -192,44 +204,44 @@ public class MDFlowMapping { return it.build(); } - public static dispatch def toAction(Controller sourceAction) { - val actionBuilder = new ActionBuilder(); + public static dispatch def toAction(Controller sourceAction, int order) { + val actionBuilder = new ActionBuilder().setOrder(order); actionBuilder.action = new ControllerActionCaseBuilder().setControllerAction(new ControllerActionBuilder().build()).build(); return actionBuilder.build(); } - public static dispatch def toAction(Drop sourceAction) { - val actionBuilder = new ActionBuilder(); + public static dispatch def toAction(Drop sourceAction, int order) { + val actionBuilder = new ActionBuilder().setOrder(order); actionBuilder.action = new DropActionCaseBuilder().setDropAction(new DropActionBuilder().build()).build(); return actionBuilder.build(); } - public static dispatch def toAction(Flood sourceAction) { - val actionBuilder = new ActionBuilder(); + public static dispatch def toAction(Flood sourceAction, int order) { + val actionBuilder = new ActionBuilder().setOrder(order); actionBuilder.action = new FloodActionCaseBuilder().setFloodAction(new FloodActionBuilder().build).build(); return actionBuilder.build(); } - public static dispatch def toAction(FloodAll sourceAction) { - val actionBuilder = new ActionBuilder(); + public static dispatch def toAction(FloodAll sourceAction, int order) { + val actionBuilder = new ActionBuilder().setOrder(order); actionBuilder.action = new FloodAllActionCaseBuilder().setFloodAllAction(new FloodAllActionBuilder().build()).build(); return actionBuilder.build(); } - public static dispatch def toAction(HwPath sourceAction) { - val actionBuilder = new ActionBuilder(); + public static dispatch def toAction(HwPath sourceAction, int order) { + val actionBuilder = new ActionBuilder().setOrder(order); actionBuilder.action = new HwPathActionCaseBuilder().setHwPathAction(new HwPathActionBuilder().build()).build(); return actionBuilder.build(); } - public static dispatch def toAction(Loopback sourceAction) { - val actionBuilder = new ActionBuilder(); + public static dispatch def toAction(Loopback sourceAction, int order) { + val actionBuilder = new ActionBuilder().setOrder(order); actionBuilder.action = new LoopbackActionCaseBuilder().setLoopbackAction(new LoopbackActionBuilder().build()).build(); return actionBuilder.build(); } - public static dispatch def toAction(Output sourceAction) { - val actionBuilder = new ActionBuilder(); + public static dispatch def toAction(Output sourceAction, int order) { + val actionBuilder = new ActionBuilder().setOrder(order); val it = new OutputActionBuilder(); outputNodeConnector = sourceAction.port.toUri; actionBuilder.action = new OutputActionCaseBuilder().setOutputAction(it.build()).build(); @@ -237,14 +249,14 @@ public class MDFlowMapping { } - public static dispatch def toAction(PopVlan sourceAction) { - val actionBuilder = new ActionBuilder(); + public static dispatch def toAction(PopVlan sourceAction, int order) { + val actionBuilder = new ActionBuilder().setOrder(order); actionBuilder.action = new PopVlanActionCaseBuilder().build(); return actionBuilder.build(); } - public static dispatch def toAction(PushVlan sourceAction) { - val actionBuilder = new ActionBuilder(); + public static dispatch def toAction(PushVlan sourceAction, int order) { + val actionBuilder = new ActionBuilder().setOrder(order); val it = new PushVlanActionBuilder(); cfi = new VlanCfi(sourceAction.cfi); vlanId = new VlanId(sourceAction.vlanId); @@ -254,32 +266,32 @@ public class MDFlowMapping { return actionBuilder.build(); } - public static dispatch def toAction(SetDlDst sourceAction) { - val actionBuilder = new ActionBuilder(); + public static dispatch def toAction(SetDlDst sourceAction, int order) { + val actionBuilder = new ActionBuilder().setOrder(order); val it = new SetDlDstActionBuilder(); address = sourceAction.dlAddress.toMacAddress(); actionBuilder.action = new SetDlDstActionCaseBuilder().setSetDlDstAction(it.build()).build; return actionBuilder.build(); } - public static dispatch def toAction(SetDlSrc sourceAction) { - val actionBuilder = new ActionBuilder(); + public static dispatch def toAction(SetDlSrc sourceAction, int order) { + val actionBuilder = new ActionBuilder().setOrder(order); val it = new SetDlSrcActionBuilder(); address = sourceAction.dlAddress.toMacAddress; actionBuilder.action = new SetDlSrcActionCaseBuilder().setSetDlSrcAction(it.build()).build; return actionBuilder.build(); } - public static dispatch def toAction(SetDlType sourceAction) { - val actionBuilder = new ActionBuilder(); + public static dispatch def toAction(SetDlType sourceAction, int order) { + val actionBuilder = new ActionBuilder().setOrder(order); val it = new SetDlTypeActionBuilder(); dlType = new EtherType(sourceAction.dlType as long); actionBuilder.action = new SetDlTypeActionCaseBuilder().setSetDlTypeAction(it.build()).build(); return actionBuilder.build(); } - public static dispatch def toAction(SetNextHop sourceAction) { - val actionBuilder = new ActionBuilder(); + public static dispatch def toAction(SetNextHop sourceAction, int order) { + val actionBuilder = new ActionBuilder().setOrder(order); val it = new SetNextHopActionBuilder(); val inetAddress = sourceAction.address; address = inetAddress.toInetAddress; @@ -287,8 +299,8 @@ public class MDFlowMapping { return actionBuilder.build(); } - public static dispatch def toAction(SetNwDst sourceAction) { - val actionBuilder = new ActionBuilder(); + public static dispatch def toAction(SetNwDst sourceAction, int order) { + val actionBuilder = new ActionBuilder().setOrder(order); val it = new SetNwDstActionBuilder(); val inetAddress = sourceAction.address; address = inetAddress.toInetAddress; @@ -296,8 +308,8 @@ public class MDFlowMapping { return actionBuilder.build(); } - public static dispatch def toAction(SetNwSrc sourceAction) { - val actionBuilder = new ActionBuilder(); + public static dispatch def toAction(SetNwSrc sourceAction, int order) { + val actionBuilder = new ActionBuilder().setOrder(order); val it = new SetNwSrcActionBuilder(); val inetAddress = sourceAction.address; address = inetAddress.toInetAddress; @@ -305,40 +317,40 @@ public class MDFlowMapping { return actionBuilder.build(); } - public static dispatch def toAction(SetNwTos sourceAction) { - val actionBuilder = new ActionBuilder(); + public static dispatch def toAction(SetNwTos sourceAction, int order) { + val actionBuilder = new ActionBuilder().setOrder(order); val it = new SetNwTosActionBuilder(); tos = sourceAction.nwTos; actionBuilder.action = new SetNwTosActionCaseBuilder().setSetNwTosAction(it.build).build; return actionBuilder.build(); } - public static dispatch def toAction(SetTpDst sourceAction) { - val actionBuilder = new ActionBuilder(); + public static dispatch def toAction(SetTpDst sourceAction, int order) { + val actionBuilder = new ActionBuilder().setOrder(order); val it = new SetTpDstActionBuilder(); port = new PortNumber(sourceAction.port); actionBuilder.action = new SetTpDstActionCaseBuilder().setSetTpDstAction(it.build()).build(); return actionBuilder.build(); } - public static dispatch def toAction(SetTpSrc sourceAction) { - val actionBuilder = new ActionBuilder(); + public static dispatch def toAction(SetTpSrc sourceAction, int order) { + val actionBuilder = new ActionBuilder().setOrder(order); val it = new SetTpSrcActionBuilder(); port = new PortNumber(sourceAction.port); actionBuilder.action = new SetTpSrcActionCaseBuilder().setSetTpSrcAction(it.build()).build(); return actionBuilder.build(); } - public static dispatch def toAction(SetVlanCfi sourceAction) { - val actionBuilder = new ActionBuilder(); + public static dispatch def toAction(SetVlanCfi sourceAction, int order) { + val actionBuilder = new ActionBuilder().setOrder(order); val it = new SetVlanCfiActionBuilder(); vlanCfi = new VlanCfi(sourceAction.cfi); actionBuilder.action = new SetVlanCfiActionCaseBuilder().setSetVlanCfiAction(it.build()).build(); return actionBuilder.build(); } - public static dispatch def toAction(SetVlanId sourceAction) { - val actionBuilder = new ActionBuilder(); + public static dispatch def toAction(SetVlanId sourceAction, int order) { + val actionBuilder = new ActionBuilder().setOrder(order); val it = new SetVlanIdActionBuilder(); vlanId = new VlanId(sourceAction.vlanId); @@ -346,16 +358,16 @@ public class MDFlowMapping { return actionBuilder.build(); } - public static dispatch def toAction(SetVlanPcp sourceAction) { - val actionBuilder = new ActionBuilder(); + public static dispatch def toAction(SetVlanPcp sourceAction, int order) { + val actionBuilder = new ActionBuilder().setOrder(order); val it = new SetVlanPcpActionBuilder(); vlanPcp = new VlanPcp(sourceAction.pcp as short); actionBuilder.action = new SetVlanPcpActionCaseBuilder().setSetVlanPcpAction(it.build).build; return actionBuilder.build(); } - public static dispatch def toAction(SwPath sourceAction) { - val actionBuilder = new ActionBuilder(); + public static dispatch def toAction(SwPath sourceAction, int order) { + val actionBuilder = new ActionBuilder().setOrder(order); actionBuilder.action = new SwPathActionCaseBuilder().setSwPathAction(new SwPathActionBuilder().build()).build(); return actionBuilder.build(); } @@ -393,13 +405,15 @@ public class MDFlowMapping { hardTimeout = sourceFlow.hardTimeout as int idleTimeout = sourceFlow.idleTimeout as int - cookie = BigInteger.valueOf(sourceFlow.id) + cookie = new FlowCookie(BigInteger.valueOf(sourceFlow.id)) priority = sourceFlow.priority as int val sourceActions = sourceFlow.actions; val targetActions = new ArrayList(); + var int action = 0; for (sourceAction : sourceActions) { - targetActions.add(sourceAction.toAction()); + targetActions.add(sourceAction.toAction(action)); + action = action + 1; } instructions = targetActions.toApplyInstruction(); match = sourceFlow.match.toMatch();