use of org.openkilda.model.FlowEndpoint in project open-kilda by telstra.
the class FlowCommandFactory method buildInstallEgressFlow.
/**
* Generate install egress flow command.
*
* @param flowPath flow path with segments to be used for building of install rules.
* @param inputPortNo the number of input port.
* @param encapsulationResources the encapsulation resources.
* @param multiTable use multi table.
* @return install egress flow command
*/
public InstallEgressFlow buildInstallEgressFlow(FlowPath flowPath, int inputPortNo, EncapsulationResources encapsulationResources, boolean multiTable) {
Flow flow = flowPath.getFlow();
FlowEndpoint ingressEndpoint = FlowSideAdapter.makeIngressAdapter(flow, flowPath).getEndpoint();
FlowEndpoint egressEndpoint = FlowSideAdapter.makeEgressAdapter(flow, flowPath).getEndpoint();
return new InstallEgressFlow(transactionIdGenerator.generate(), flow.getFlowId(), flowPath.getCookie().getValue(), egressEndpoint.getSwitchId(), inputPortNo, egressEndpoint.getPortNumber(), encapsulationResources.getTransitEncapsulationId(), encapsulationResources.getEncapsulationType(), egressEndpoint.getOuterVlanId(), egressEndpoint.getInnerVlanId(), getOutputVlanType(flow, flowPath), multiTable, ingressEndpoint, null);
}
use of org.openkilda.model.FlowEndpoint in project open-kilda by telstra.
the class RecordHandler method makeFlowSegmentWrappedCommand.
private FlowSegmentWrapperCommand makeFlowSegmentWrappedCommand(InstallOneSwitchMirrorFlow request, MessageContext messageContext, FlowSegmentResponseFactory responseFactory) {
FlowEndpoint endpoint = new FlowEndpoint(request.getSwitchId(), request.getInputPort(), request.getInputVlanId(), request.getInputInnerVlanId(), request.isEnableLldp(), request.isEnableArp());
FlowEndpoint egressEndpoint = new FlowEndpoint(request.getSwitchId(), request.getOutputPort(), request.getOutputVlanId(), request.getOutputInnerVlanId());
MeterConfig meterConfig = makeMeterConfig(request.getMeterId(), request.getBandwidth());
OneSwitchMirrorFlowInstallCommand command = new OneSwitchMirrorFlowInstallCommand(messageContext, EMPTY_COMMAND_ID, makeSegmentMetadata(request), endpoint, meterConfig, egressEndpoint, new RulesContext(), request.getMirrorConfig());
return new FlowSegmentWrapperCommand(command, responseFactory);
}
use of org.openkilda.model.FlowEndpoint in project open-kilda by telstra.
the class RecordHandler method makeFlowSegmentWrappedCommand.
private FlowSegmentWrapperCommand makeFlowSegmentWrappedCommand(InstallIngressMirrorFlow request, MessageContext messageContext, FlowSegmentResponseFactory responseFactory) {
FlowEndpoint endpoint = new FlowEndpoint(request.getSwitchId(), request.getInputPort(), request.getInputVlanId(), request.getInputInnerVlanId(), request.isEnableLldp(), request.isEnableArp());
MeterConfig meterConfig = makeMeterConfig(request.getMeterId(), request.getBandwidth());
IngressMirrorFlowSegmentInstallCommand command = new IngressMirrorFlowSegmentInstallCommand(messageContext, EMPTY_COMMAND_ID, makeSegmentMetadata(request), endpoint, meterConfig, request.getEgressSwitchId(), request.getOutputPort(), makeTransitEncapsulation(request), new RulesContext(), request.getMirrorConfig());
return new FlowSegmentWrapperCommand(command, responseFactory);
}
use of org.openkilda.model.FlowEndpoint in project open-kilda by telstra.
the class RecordHandler method makeFlowSegmentWrappedCommand.
private FlowSegmentWrapperCommand makeFlowSegmentWrappedCommand(InstallEgressMirrorFlow request, MessageContext messageContext, FlowSegmentResponseFactory responseFactory) {
FlowEndpoint endpoint = new FlowEndpoint(request.getSwitchId(), request.getOutputPort(), request.getOutputVlanId(), request.getOutputInnerVlanId());
EgressMirrorFlowSegmentInstallCommand command = new EgressMirrorFlowSegmentInstallCommand(messageContext, EMPTY_COMMAND_ID, makeSegmentMetadata(request), endpoint, request.getIngressEndpoint(), request.getInputPort(), makeTransitEncapsulation(request), request.getMirrorConfig());
return new FlowSegmentWrapperCommand(command, responseFactory);
}
use of org.openkilda.model.FlowEndpoint in project open-kilda by telstra.
the class RecordHandler method makeFlowSegmentWrappedCommand.
private FlowSegmentWrapperCommand makeFlowSegmentWrappedCommand(InstallIngressFlow request, MessageContext messageContext, FlowSegmentResponseFactory responseFactory) {
FlowEndpoint endpoint = new FlowEndpoint(request.getSwitchId(), request.getInputPort(), request.getInputVlanId(), request.getInputInnerVlanId(), request.isEnableLldp(), request.isEnableArp());
MeterConfig meterConfig = makeMeterConfig(request.getMeterId(), request.getBandwidth());
IngressFlowSegmentInstallCommand command = new IngressFlowSegmentInstallCommand(messageContext, EMPTY_COMMAND_ID, makeSegmentMetadata(request), endpoint, meterConfig, request.getEgressSwitchId(), request.getOutputPort(), makeTransitEncapsulation(request), new RulesContext(), request.getMirrorConfig());
return new FlowSegmentWrapperCommand(command, responseFactory);
}
Aggregations