public static InstructionsBuilder createInstructionsBuilder(InstructionBuilder... ibs) { InstructionsBuilder isb = new InstructionsBuilder(); List<Instruction> instructions = new ArrayList<>(); for (InstructionBuilder ib : ibs) { instructions.add(ib.build()); } isb.setInstruction(instructions); return isb; }
public static InstructionsBuilder createInstructionsBuilder(InstructionBuilder ib) { InstructionsBuilder isb = new InstructionsBuilder(); List<Instruction> instructions = new ArrayList<>(); instructions.add(ib.build()); isb.setInstruction(instructions); return isb; }
/** * Configures the flow builder to have the single given instruction. * * @param flowBuilder The flow builder. * @param instruction The instruction. * @return The flow builder. */ public static FlowBuilder setFlowBuilderInstruction(FlowBuilder flowBuilder, Instruction instruction) { flowBuilder.setInstructions( new InstructionsBuilder() .setInstruction(Collections.singletonList(instruction)) .build()); return flowBuilder; }
private FlowBuilder addPipelineInstruction( FlowBuilder flowBuilder , InstructionBuilder instructionBuilder, boolean isDrop) { InstructionBuilder pipeLineIndstructionBuilder = createPipleLineInstructionBuilder(isDrop); List<Instruction> instructionsList = Lists.newArrayList(); instructionsList.add(pipeLineIndstructionBuilder.build()); if (null != instructionBuilder) { instructionsList.add(instructionBuilder.build()); } InstructionsBuilder isb = new InstructionsBuilder(); isb.setInstruction(instructionsList); flowBuilder.setInstructions(isb.build()); return flowBuilder; }
private FlowBuilder addPipelineInstruction( FlowBuilder flowBuilder , InstructionBuilder instructionBuilder,boolean isDrop) { InstructionBuilder pipeLineIndstructionBuilder = createPipleLineInstructionBuilder(isDrop); List<Instruction> instructionsList = Lists.newArrayList(); instructionsList.add(pipeLineIndstructionBuilder.build()); if (null != instructionBuilder) { instructionsList.add(instructionBuilder.build()); } InstructionsBuilder isb = new InstructionsBuilder(); isb.setInstruction(instructionsList); flowBuilder.setInstructions(isb.build()); return flowBuilder; }
public static Instructions instructions(Instruction... instructions) { ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.Instruction> ins = new ArrayList<>(); int order = 0; for (Instruction i : instructions) { ins.add(new InstructionBuilder().setOrder(order++).setInstruction(i).build()); } return new InstructionsBuilder().setInstruction(ins).build(); }
private Instructions createInstructions(NodeConnectorRef dstPort, Long meterId) { List<Instruction> instructionList = new LinkedList<>(); Uri dstPortUri = dstPort.getValue().firstKeyOf(NodeConnector.class, NodeConnectorKey.class).getId(); if (meterId != null && meterId > 0) { instructionList.add(createMeterInstruction(meterId, 0)); instructionList.add(createApplyActionsInstruction(dstPortUri, 1)); } else { instructionList.add(createApplyActionsInstruction(dstPortUri, 0)); } return new InstructionsBuilder() .setInstruction(instructionList) .build(); }
public static Instructions getInstructions(org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.Instruction... instructions) { List<Instruction> ins = new ArrayList<>(); int order = 0; for (org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.Instruction i : instructions) { ins.add(new InstructionBuilder() .setOrder(order) .setKey(new InstructionKey(order)) .setInstruction(i) .build()); order++; } return new InstructionsBuilder().setInstruction(ins).build(); }
private FlowBuilder addInstructionWithConntrackRecirc( FlowBuilder flowBuilder) { InstructionBuilder instructionBuilder = null; if (securityServicesManager.isConntrackEnabled()) { Action conntrackAction = ActionUtils.nxConntrackAction(0, 0L, 0, (short)0x0); instructionBuilder = InstructionUtils .createInstructionBuilder(ActionUtils.conntrackActionBuilder(conntrackAction), 1, false); List<Instruction> instructionsList = Lists.newArrayList(); instructionsList.add(instructionBuilder.build()); InstructionsBuilder isb = new InstructionsBuilder(); isb.setInstruction(instructionsList); flowBuilder.setInstructions(isb.build()); } return flowBuilder; }
private FlowBuilder addInstructionWithConntrackRecirc( FlowBuilder flowBuilder) { InstructionBuilder instructionBuilder = null; if (securityServicesManager.isConntrackEnabled()) { Action conntrackAction = ActionUtils.nxConntrackAction(0, 0L, 0, (short)0x0); instructionBuilder = InstructionUtils .createInstructionBuilder(ActionUtils.conntrackActionBuilder(conntrackAction), 1, false); List<Instruction> instructionsList = Lists.newArrayList(); instructionsList.add(instructionBuilder.build()); InstructionsBuilder isb = new InstructionsBuilder(); isb.setInstruction(instructionsList); flowBuilder.setInstructions(isb.build()); } return flowBuilder; }
public static Instructions gotoTableInstructions(short tableId) { return new InstructionsBuilder().setInstruction( ImmutableList.of(new InstructionBuilder().setOrder(0) .setInstruction(gotoTableIns(tableId)) .build())).build(); }
public static Instructions getInstructions(org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.Instruction... instructions) { ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.Instruction> ins = new ArrayList<>(); int order = 0; for (org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.Instruction i : instructions) { ins.add(new InstructionBuilder() .setOrder(order) .setKey(new InstructionKey(order)) .setInstruction(i) .build()); order++; } return new InstructionsBuilder().setInstruction(ins).build(); }
private static InstructionsBuilder createGotoTableInstructions() { GoToTableBuilder aab = new GoToTableBuilder(); aab.setTableId((short) 2); InstructionBuilder ib = new InstructionBuilder(); ib.setInstruction(new GoToTableCaseBuilder().setGoToTable(aab.build()).build()); // Put our Instruction in a list of Instructions InstructionsBuilder isb = new InstructionsBuilder(); List<Instruction> instructions = new ArrayList<Instruction>(); instructions.add(ib.build()); isb.setInstruction(instructions); return isb; }
private static InstructionsBuilder createMetadataInstructions() { final WriteMetadataBuilder aab = new WriteMetadataBuilder(); aab.setMetadata(BigInteger.valueOf(10)); aab.setMetadataMask(BigInteger.valueOf(10)); final InstructionBuilder ib = new InstructionBuilder(); ib.setInstruction(new WriteMetadataCaseBuilder().setWriteMetadata(aab.build()).build()); // Put our Instruction in a list of Instructions final InstructionsBuilder isb = new InstructionsBuilder(); final List<Instruction> instructions = new ArrayList<Instruction>(); ib.setKey(new InstructionKey(0)); instructions.add(ib.build()); isb.setInstruction(instructions); return isb; }
private static InstructionsBuilder createGotoTableInstructions() { GoToTableBuilder aab = new GoToTableBuilder(); aab.setTableId((short) 2); InstructionBuilder ib = new InstructionBuilder(); ib.setInstruction(new GoToTableCaseBuilder().setGoToTable(aab.build()).build()); // Put our Instruction in a list of Instructions InstructionsBuilder isb = new InstructionsBuilder(); List<Instruction> instructions = new ArrayList<Instruction>(); instructions.add(ib.build()); isb.setInstruction(instructions); return isb; }
/** * @return */ private static InstructionsBuilder createMeterInstructions() { MeterBuilder aab = new MeterBuilder(); aab.setMeterId(new MeterId(1L)); InstructionBuilder ib = new InstructionBuilder(); ib.setInstruction(new MeterCaseBuilder().setMeter(aab.build()).build()); // Put our Instruction in a list of Instructions InstructionsBuilder isb = new InstructionsBuilder(); List<Instruction> instructions = new ArrayList<Instruction>(); instructions.add(ib.build()); isb.setInstruction(instructions); return isb; }
private static InstructionsBuilder createGotoTableInstructions() { final GoToTableBuilder aab = new GoToTableBuilder(); aab.setTableId((short) 5); final InstructionBuilder ib = new InstructionBuilder(); ib.setInstruction(new GoToTableCaseBuilder().setGoToTable(aab.build()).build()); // Put our Instruction in a list of Instructions final InstructionsBuilder isb = new InstructionsBuilder(); final List<Instruction> instructions = new ArrayList<Instruction>(); ib.setKey(new InstructionKey(0)); instructions.add(ib.build()); isb.setInstruction(instructions); return isb; }
/** * Creates a set of clear instructions to remove flows from switch * @return Instructions */ protected Instructions createClearFlowsInstructions() { Instruction clearInstruction = new InstructionBuilder().setOrder(0) .setInstruction(new ClearActionsCaseBuilder().setClearActions(new ClearActionsBuilder().build()).build()).build(); Instructions instructions = new InstructionsBuilder().setInstruction(ImmutableList.of(clearInstruction)) .build(); return instructions; }
public static Instructions toApplyInstruction(final List<org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.Action> actions) { return new InstructionsBuilder() .setInstruction( Collections.singletonList( new InstructionBuilder() .setOrder(0) .setInstruction( new ApplyActionsCaseBuilder() .setApplyActions(new ApplyActionsBuilder().setAction(actions).build()) .build() ).build()) ).build(); }
private static Instructions makeStaticDropActionInstructions() { // Create an DropAction final DropActionCase dropAction = new DropActionCaseBuilder().setDropAction(new DropActionBuilder().build()).build(); // Create an Action final Action ab = new ActionBuilder().setOrder(0).setAction(dropAction).build(); // Create an Apply Action final ApplyActions aab = new ApplyActionsBuilder().setAction(Collections.singletonList(ab)).build(); // Wrap our Apply Action in an Instruction final Instruction ib = new InstructionBuilder() .setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab).build()).setOrder(0).build(); // Put our Instruction in a list of Instructions return new InstructionsBuilder().setInstruction(Collections.singletonList(ib)).build(); }