/** * 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; }
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; }
private FlowBuilder createtablemiss() { final FlowBuilder flow = new FlowBuilder(); final long id = 456; final MatchBuilder matchBuilder = new MatchBuilder(); flow.setMatch(matchBuilder.build()); flow.setInstructions(createSentToControllerInstructions().build()); flow.setPriority(0); flow.setTableId((short) 0); final FlowKey key = new FlowKey(new FlowId(Long.toString(id))); flow.setKey(key); testFlow = flow; return flow; }
public static InstructionsBuilder createInstructionsBuilder(InstructionBuilder ib) { InstructionsBuilder isb = new InstructionsBuilder(); List<Instruction> instructions = new ArrayList<>(); instructions.add(ib.build()); isb.setInstruction(instructions); return isb; }
public static FlowBuilder createFlowBuilder( final short table, final int priority, final BigInteger cookieValue, final String flowName, MatchBuilder match, InstructionsBuilder isb) { FlowBuilder flow = new FlowBuilder(); String idStr = String.valueOf(flowIdInc.getAndIncrement()); flow.setId(new FlowId(idStr)); flow.setKey(new FlowKey(new FlowId(idStr))); flow.setTableId(table); flow.setFlowName(flowName); flow.setCookie(new FlowCookie(cookieValue)); flow.setCookieMask(new FlowCookie(cookieValue)); flow.setContainerName(null); flow.setStrict(false); flow.setMatch(match.build()); flow.setInstructions(isb.build()); flow.setPriority(priority); flow.setHardTimeout(0); flow.setIdleTimeout(0); flow.setFlags(new FlowModFlags(false, false, false, false, false)); if (null == flow.isBarrier()) { flow.setBarrier(Boolean.FALSE); } return flow; }
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 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 FlowBuilder createFlowBuilder(final long flowId, final String tableId, final String flowName) { FlowBuilder fBuild = new FlowBuilder(); fBuild.setMatch(new MatchBuilder().build()); fBuild.setInstructions(createPingInstructionsBuilder().build()); FlowKey key = new FlowKey(new FlowId(Long.toString(flowId))); fBuild.setBarrier(false); final BigInteger value = BigInteger.valueOf(10); fBuild.setCookie(new FlowCookie(value)); fBuild.setCookieMask(new FlowCookie(value)); fBuild.setHardTimeout(0); fBuild.setIdleTimeout(0); fBuild.setInstallHw(false); fBuild.setStrict(false); fBuild.setContainerName(null); fBuild.setFlags(new FlowModFlags(false, false, false, false, false)); fBuild.setId(new FlowId("12")); fBuild.setTableId(checkTableId(tableId)); fBuild.setOutGroup(2L); fBuild.setOutPort(value); fBuild.setKey(key); fBuild.setPriority(2); fBuild.setFlowName(flowName); return fBuild; }
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 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; }
@Override public Future<RpcResult<Void>> testFlow(TestFlowInput input) { AddFlowInputBuilder flow = new AddFlowInputBuilder(); flow.setPriority(2); flow.setMatch(createMatchBld().build()); flow.setInstructions(createDecNwTtlInstructionsBld().build()); flow.setBarrier(Boolean.FALSE); BigInteger value = BigInteger.valueOf(10L); flow.setCookie(new FlowCookie(value)); flow.setCookieMask(new FlowCookie(value)); flow.setHardTimeout(0); flow.setIdleTimeout(0); flow.setInstallHw(false); flow.setStrict(false); flow.setContainerName(null); flow.setFlags(new FlowModFlags(false, false, false, false, true)); flow.setTableId((short) 0); flow.setFlowName("NiciraFLOW"); // Construct the flow instance id final InstanceIdentifier<Node> flowInstanceId = InstanceIdentifier .builder(Nodes.class) // File under nodes .child(Node.class, new NodeKey(new NodeId("openflow:1"))).build(); // A particular node identified by nodeKey flow.setNode(new NodeRef(flowInstanceId)); pushFlowViaRpc(flow.build()); return Futures.immediateFuture(RpcResultBuilder.<Void>status(true).build()); }
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 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; }
static Flow createFlow() { FlowBuilder flowBuilder = new FlowBuilder(); flowBuilder.setMatch(new MatchBuilder().build()); flowBuilder.setInstructions(createSendToControllerInstructions().build()); flowBuilder.setPriority(0); FlowKey key = new FlowKey(new FlowId(DEFAULT_FLOW_ID)); flowBuilder.setBarrier(Boolean.FALSE); flowBuilder.setBufferId(OFConstants.OFP_NO_BUFFER); BigInteger value = BigInteger.valueOf(10L); flowBuilder.setCookie(new FlowCookie(value)); flowBuilder.setCookieMask(new FlowCookie(value)); flowBuilder.setHardTimeout(0); flowBuilder.setIdleTimeout(0); flowBuilder.setInstallHw(false); flowBuilder.setStrict(false); flowBuilder.setContainerName(null); flowBuilder.setFlags(new FlowModFlags(false, false, false, false, true)); flowBuilder.setId(new FlowId("12")); flowBuilder.setTableId(TABLE_ID); flowBuilder.setKey(key); flowBuilder.setFlowName(LLDP_PUNT_WHOLE_PACKET_FLOW); return flowBuilder.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(); }
/** * @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; }
public static Instructions gotoTableInstructions(short tableId) { return new InstructionsBuilder().setInstruction( ImmutableList.of(new InstructionBuilder().setOrder(0) .setInstruction(gotoTableIns(tableId)) .build())).build(); }
/** * @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 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(); }
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; }