use of org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action in project genius by opendaylight.
the class ArpUtilImpl method sendPacketOutWithActions.
private Future<RpcResult<Void>> sendPacketOutWithActions(BigInteger dpnId, byte[] payload, NodeConnectorRef ref, List<Action> actions) {
NodeConnectorRef nodeConnectorRef = MDSALUtil.getNodeConnRef(dpnId, "0xfffffffd");
TransmitPacketInput transmitPacketInput = new TransmitPacketInputBuilder().setPayload(payload).setNode(new NodeRef(InstanceIdentifier.builder(Nodes.class).child(Node.class, new NodeKey(new NodeId("openflow:" + dpnId))).toInstance())).setIngress(nodeConnectorRef).setEgress(ref).setAction(actions).build();
LOG.trace("PacketOut message framed for transmitting {}", transmitPacketInput);
return packetProcessingService.transmitPacket(transmitPacketInput);
}
use of org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action in project genius by opendaylight.
the class MDSALUtil method createNxOfInPortAction.
public static Action createNxOfInPortAction(final int actionKey, final int inPortVal) {
NxRegLoad regLoad = new NxRegLoadBuilder().setDst(new DstBuilder().setDstChoice(new DstNxOfInPortCaseBuilder().setOfInPort(Boolean.TRUE).build()).setStart(0).setEnd(15).build()).setValue(BigInteger.valueOf(inPortVal)).build();
ActionBuilder abExt = new ActionBuilder();
abExt.setKey(new ActionKey(actionKey));
abExt.setOrder(actionKey);
abExt.setAction(new NxActionRegLoadNodesNodeTableFlowApplyActionsCaseBuilder().setNxRegLoad(regLoad).build());
return abExt.build();
}
use of org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action in project genius by opendaylight.
the class MDSALUtil method buildAndGetPopVlanActionInstruction.
public static Instruction buildAndGetPopVlanActionInstruction(int actionKey, int instructionKey) {
Action popVlanAction = new ActionBuilder().setAction(new PopVlanActionCaseBuilder().setPopVlanAction(new PopVlanActionBuilder().build()).build()).setKey(new ActionKey(actionKey)).build();
List<Action> listAction = new ArrayList<>();
listAction.add(popVlanAction);
return buildApplyActionsInstruction(listAction, instructionKey);
}
use of org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action in project genius by opendaylight.
the class MDSALUtil method buildWriteActionsInstruction.
/**
* Build write actions instruction with the given actions and key.
*
* @param actions the actions.
* @param instructionKey the instruction key.
* @return the instruction.
*/
public static Instruction buildWriteActionsInstruction(List<Action> actions, int instructionKey) {
WriteActions writeActions = new WriteActionsBuilder().setAction(actions).build();
WriteActionsCase writeActionsCase = new WriteActionsCaseBuilder().setWriteActions(writeActions).build();
InstructionBuilder instructionBuilder = new InstructionBuilder();
instructionBuilder.setInstruction(writeActionsCase);
instructionBuilder.setKey(new InstructionKey(instructionKey));
return instructionBuilder.build();
}
use of org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action in project genius by opendaylight.
the class ActionMoveSourceDestinationEth method buildAction.
@Override
public Action buildAction(int newActionKey) {
ActionBuilder ab = new ActionBuilder();
NxRegMove regMove = new NxRegMoveBuilder().setSrc(new SrcBuilder().setSrcChoice(new SrcOfEthSrcCaseBuilder().setOfEthSrc(Boolean.TRUE).build()).setStart(0).build()).setDst(new DstBuilder().setDstChoice(new DstOfEthDstCaseBuilder().setOfEthDst(Boolean.TRUE).build()).setStart(0).setEnd(47).build()).build();
ab.setAction(new NxActionRegMoveNodesNodeTableFlowApplyActionsCaseBuilder().setNxRegMove(regMove).build());
ab.setKey(new ActionKey(newActionKey));
return ab.build();
}
Aggregations