/** * Create a new MD-SAL output action that transmits packets to the * specified port. * * @param port The URI that specifies the output port. * @return An {@link OutputActionCase} instance. */ public static OutputActionCase newOutputActionCase(Uri port) { OutputAction out = new OutputActionBuilder(). setOutputNodeConnector(port). setMaxLength(OUTPUT_MAX_LEN). build(); return new OutputActionCaseBuilder(). setOutputAction(out). build(); }
private static OutputActionCase _toAction(final Output sourceAction) { return new OutputActionCaseBuilder() .setOutputAction( new OutputActionBuilder().setOutputNodeConnector(MDFlowMapping.toUri(sourceAction.getPort())).build() ).build(); }
public static Action outputAction(NodeConnectorId id) { return new OutputActionCaseBuilder() .setOutputAction(new OutputActionBuilder() .setOutputNodeConnector(new Uri(id.getValue())) .build()) .build(); }
private static List<Action> createNonAppyOutputAction() { List<Action> actionList = new ArrayList<Action>(); ActionBuilder ab = new ActionBuilder(); OutputActionBuilder output = new OutputActionBuilder(); Uri value = new Uri(OutputPortValues.CONTROLLER.toString()); output.setOutputNodeConnector(value); //output.setMaxLength(null); output.setMaxLength(66000); ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build()); actionList.add(ab.build()); return actionList; }
public static Action outputAction(NodeConnectorId id) { return new OutputActionCaseBuilder() .setOutputAction(new OutputActionBuilder() .setOutputNodeConnector(new Uri(id.getValue())) .build()) .build(); }
public static Action createActionPktIn(final int pktLength, final int order) { OutputActionBuilder output = new OutputActionBuilder(); output.setMaxLength(new Integer(0xffff)); Uri controllerPort = new Uri(OutputPortValues.CONTROLLER.toString()); output.setOutputNodeConnector(controllerPort); ActionBuilder ab = createActionBuilder(order); ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build()); return ab.build(); }
public static Action outputAction(NodeConnectorId id) { return new OutputActionCaseBuilder() .setOutputAction(new OutputActionBuilder().setOutputNodeConnector(new Uri(id.getValue())).build()).build(); }
private List<Action> createAnyOutputAction() { List<Action> actions = new ArrayList<Action>(); ActionBuilder ab = new ActionBuilder(); OutputActionBuilder output = new OutputActionBuilder(); output.setMaxLength(30); Uri value = new Uri(OutputPortValues.ANY.toString()); output.setOutputNodeConnector(value); ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build()); ab.setKey(new ActionKey(0)); actions.add(ab.build()); return actions; }
public static Action createActionOutPort(final String portUri, final int order) { OutputActionBuilder output = new OutputActionBuilder(); Uri value = new Uri(portUri); output.setOutputNodeConnector(value); ActionBuilder ab = createActionBuilder(order); ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build()); return ab.build(); }
private List<Action> createInportOutputAction() { List<Action> actions = new ArrayList<Action>(); ActionBuilder ab = new ActionBuilder(); OutputActionBuilder output = new OutputActionBuilder(); output.setMaxLength(30); Uri value = new Uri(OutputPortValues.INPORT.toString()); output.setOutputNodeConnector(value); ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build()); ab.setKey(new ActionKey(0)); actions.add(ab.build()); return actions; }
private List<Action> createDecNwTtlAction() { DecNwTtlBuilder nwttl = new DecNwTtlBuilder(); ActionBuilder action = new ActionBuilder(); action.setAction(new DecNwTtlCaseBuilder().setDecNwTtl(nwttl.build()).build()); List<Action> actions = new ArrayList<Action>(); ActionBuilder ab = new ActionBuilder(); OutputActionBuilder output = new OutputActionBuilder(); // output.setMaxLength(30); Uri value = new Uri("2"); output.setOutputNodeConnector(value); ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build()); ab.setKey(new ActionKey(0)); ab.setOrder(0); actions.add(ab.build()); actions.add(action.build()); return actions; }
private List<Action> createControllerAction() { List<Action> actions = new ArrayList<Action>(); ActionBuilder ab = new ActionBuilder(); OutputActionBuilder output = new OutputActionBuilder(); output.setMaxLength(30); Uri value = new Uri(OutputPortValues.CONTROLLER.toString()); output.setOutputNodeConnector(value); ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build()); ab.setKey(new ActionKey(0)); actions.add(ab.build()); return actions; }
/** * Create Output Port Instruction * * @param ib Map InstructionBuilder without any instructions * @param dpidLong Long the datapath ID of a switch/node * @param port Long representing a port on a switch/node * @return ib InstructionBuilder Map with instructions */ public static InstructionBuilder createOutputPortInstructions(InstructionBuilder ib, Long dpidLong, Long port) { NodeConnectorId ncid = new NodeConnectorId("openflow:" + dpidLong + ":" + port); LOG.debug("createOutputPortInstructions() Node Connector ID is - Type=openflow: DPID={} inPort={} ", dpidLong, port); List<Action> actionList = new ArrayList<>(); ActionBuilder ab = new ActionBuilder(); OutputActionBuilder oab = new OutputActionBuilder(); oab.setOutputNodeConnector(ncid); ab.setAction(new OutputActionCaseBuilder().setOutputAction(oab.build()).build()); ab.setOrder(0); ab.setKey(new ActionKey(0)); actionList.add(ab.build()); // Create an Apply Action ApplyActionsBuilder aab = new ApplyActionsBuilder(); aab.setAction(actionList); ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build()); return ib; }
private List<Action> createLocalOutputAction() { List<Action> actions = new ArrayList<Action>(); ActionBuilder ab = new ActionBuilder(); OutputActionBuilder output = new OutputActionBuilder(); output.setMaxLength(30); Uri value = new Uri(OutputPortValues.LOCAL.toString()); output.setOutputNodeConnector(value); ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build()); ab.setKey(new ActionKey(0)); actions.add(ab.build()); return actions; }
/** * Create Output Port Instruction * * @param ib Map InstructionBuilder without any instructions * @param dpidLong Long the datapath ID of a switch/node * @param port Long representing a port on a switch/node * @return ib InstructionBuilder Map with instructions */ public static InstructionBuilder createOutputPortInstructions(InstructionBuilder ib, Long dpidLong, Long port) { NodeConnectorId ncid = new NodeConnectorId("openflow:" + dpidLong + ":" + port); logger.debug("createOutputPortInstructions() Node Connector ID is - Type=openflow: DPID={} inPort={} ", dpidLong, port); List<Action> actionList = Lists.newArrayList(); ActionBuilder ab = new ActionBuilder(); OutputActionBuilder oab = new OutputActionBuilder(); oab.setOutputNodeConnector(ncid); ab.setAction(new OutputActionCaseBuilder().setOutputAction(oab.build()).build()); ab.setOrder(0); ab.setKey(new ActionKey(0)); actionList.add(ab.build()); // Create an Apply Action ApplyActionsBuilder aab = new ApplyActionsBuilder(); aab.setAction(actionList); ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build()); return ib; }
private List<Action> creatTableOutputAction() { List<Action> actions = new ArrayList<Action>(); ActionBuilder ab = new ActionBuilder(); OutputActionBuilder output = new OutputActionBuilder(); output.setMaxLength(30); Uri value = new Uri(OutputPortValues.TABLE.toString()); output.setOutputNodeConnector(value); ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build()); ab.setKey(new ActionKey(0)); actions.add(ab.build()); return actions; }
/** * Create NORMAL Reserved Port Instruction (packet_in) * * @param ib Map InstructionBuilder without any instructions * @return ib Map InstructionBuilder with instructions */ public static InstructionBuilder createNormalInstructions(InstructionBuilder ib) { List<Action> actionList = Lists.newArrayList(); ActionBuilder ab = new ActionBuilder(); OutputActionBuilder output = new OutputActionBuilder(); Uri value = new Uri("NORMAL"); output.setOutputNodeConnector(value); ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build()); ab.setOrder(0); ab.setKey(new ActionKey(0)); actionList.add(ab.build()); // Create an Apply Action ApplyActionsBuilder aab = new ApplyActionsBuilder(); aab.setAction(actionList); // Wrap our Apply Action in an Instruction ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build()); return ib; }
private List<Action> createAllOutputAction() { List<Action> actions = new ArrayList<Action>(); ActionBuilder ab = new ActionBuilder(); OutputActionBuilder output = new OutputActionBuilder(); output.setMaxLength(30); Uri value = new Uri(OutputPortValues.ALL.toString()); output.setOutputNodeConnector(value); ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build()); ab.setKey(new ActionKey(0)); actions.add(ab.build()); return actions; }
/** * Create LOCAL Reserved Port Instruction * * @param ib Map InstructionBuilder without any instructions * @param dpidLong Long the datapath ID of a switch/node * @return ib Map InstructionBuilder with instructions */ public static InstructionBuilder createLocalInstructions(InstructionBuilder ib, long dpidLong) { List<Action> actionList = new ArrayList<>(); ActionBuilder ab = new ActionBuilder(); OutputActionBuilder output = new OutputActionBuilder(); output.setOutputNodeConnector(new NodeConnectorId("openflow:" + dpidLong + ":" + OutputPortValues.LOCAL.toString())); ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build()); ab.setOrder(0); ab.setKey(new ActionKey(0)); actionList.add(ab.build()); // Create an Apply Action ApplyActionsBuilder aab = new ApplyActionsBuilder(); aab.setAction(actionList); // Wrap our Apply Action in an Instruction ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build()); return ib; }
private List<Action> createFloodOutputAction() { List<Action> actions = new ArrayList<Action>(); ActionBuilder ab = new ActionBuilder(); OutputActionBuilder output = new OutputActionBuilder(); output.setMaxLength(30); Uri value = new Uri(OutputPortValues.FLOOD.toString()); output.setOutputNodeConnector(value); ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build()); ab.setKey(new ActionKey(0)); actions.add(ab.build()); return actions; }