public class SfcFlowRuleInstallerImpl extends Object implements SfcFlowRuleInstallerService
| Modifier and Type | Field and Description |
|---|---|
protected org.onosproject.core.ApplicationId |
appId |
protected org.onosproject.net.device.DeviceService |
deviceService |
protected org.onosproject.net.driver.DriverService |
driverService |
protected FlowClassifierService |
flowClassifierService |
protected org.onosproject.net.flowobjective.FlowObjectiveService |
flowObjectiveService |
protected org.onosproject.net.host.HostService |
hostService |
protected PortPairGroupService |
portPairGroupService |
protected PortPairService |
portPairService |
protected TenantNetworkService |
tenantNetworkService |
protected VirtualPortService |
virtualPortService |
protected VtnRscService |
vtnRscService |
| Constructor and Description |
|---|
SfcFlowRuleInstallerImpl()
Default constructor.
|
SfcFlowRuleInstallerImpl(org.onosproject.core.ApplicationId appId)
Explicit constructor.
|
| Modifier and Type | Method and Description |
|---|---|
org.onosproject.net.DeviceId |
getControllerId(org.onosproject.net.Device device,
Iterable<org.onosproject.net.Device> devices)
Get the ControllerId from the device .
|
String |
getControllerIpOfSwitch(org.onosproject.net.Device device)
Get the ControllerIp from the device .
|
org.onosproject.net.ConnectPoint |
installFlowClassifier(PortChain portChain,
org.onosproject.net.NshServicePathId nshSpiId)
Install flow classifier.
|
org.onosproject.net.ConnectPoint |
installLoadBalancedFlowRules(PortChain portChain,
FiveTuple fiveTuple,
org.onosproject.net.NshServicePathId nshSpiId)
Install load balanced flow rules.
|
org.onosproject.net.ConnectPoint |
installSfcClassifierRules(PortChain portChain,
PortPair portPair,
org.onosproject.net.NshServicePathId nshSpiId,
FiveTuple fiveTuple,
org.onosproject.net.flowobjective.Objective.Operation type) |
void |
installSfcEncapOutputRule(PortPair portPair,
org.onosproject.net.NshServicePathId nshSpiId,
org.onosproject.net.flowobjective.Objective.Operation type) |
void |
installSfcEndRule(PortPair portPair,
org.onosproject.net.NshServicePathId nshSpiId,
org.onosproject.net.flowobjective.Objective.Operation type) |
org.onosproject.net.ConnectPoint |
installSfcFlowRules(PortChain portChain,
FiveTuple fiveTuple,
org.onosproject.net.NshServicePathId nshSpiId,
org.onosproject.net.flowobjective.Objective.Operation type) |
void |
installSfcForwardRule(PortPair portPair,
PortPair nextPortPair,
org.onosproject.net.NshServicePathId nshSpiId,
org.onosproject.net.flowobjective.Objective.Operation type) |
void |
installSfcTunnelReceiveRule(org.onosproject.net.DeviceId deviceId,
org.onosproject.net.NshServicePathId nshSpiId,
org.onosproject.net.flowobjective.Objective.Operation type) |
void |
installSfcTunnelSendRule(org.onosproject.net.DeviceId deviceId,
org.onosproject.net.NshServicePathId nshSpiId,
org.onosproject.net.flowobjective.Objective.Operation type) |
org.onosproject.net.flow.TrafficSelector.Builder |
packClassifierSelector(FlowClassifier flowClassifier,
FiveTuple fiveTuple)
Pack Traffic selector.
|
org.onosproject.net.flow.TrafficTreatment.Builder |
packClassifierTreatment(org.onosproject.net.DeviceId deviceId,
VirtualPort virtualPort,
org.onosproject.net.PortNumber port,
org.onosproject.net.NshServicePathId nshSpi,
FlowClassifier flowClassifier)
Pack traffic treatment.
|
void |
sendSfcRule(org.onosproject.net.flow.TrafficSelector.Builder selector,
org.onosproject.net.flow.TrafficTreatment.Builder treatment,
org.onosproject.net.DeviceId deviceId,
org.onosproject.net.flowobjective.Objective.Operation type,
int priority)
Send service-function-forwarder to OVS.
|
org.onosproject.net.ConnectPoint |
unInstallFlowClassifier(PortChain portChain,
org.onosproject.net.NshServicePathId nshSpiId)
Uninstall flow classifier.
|
org.onosproject.net.ConnectPoint |
unInstallLoadBalancedClassifierRules(PortChain portChain,
FiveTuple fiveTuple,
org.onosproject.net.NshServicePathId nshSpiId)
Uninstall load balanced classifier rules.
|
org.onosproject.net.ConnectPoint |
unInstallLoadBalancedFlowRules(PortChain portChain,
FiveTuple fiveTuple,
org.onosproject.net.NshServicePathId nshSpiId)
Uninstall load balanced flow rules.
|
protected VirtualPortService virtualPortService
protected VtnRscService vtnRscService
protected PortPairService portPairService
protected PortPairGroupService portPairGroupService
protected FlowClassifierService flowClassifierService
protected org.onosproject.net.driver.DriverService driverService
protected org.onosproject.net.device.DeviceService deviceService
protected org.onosproject.net.host.HostService hostService
protected TenantNetworkService tenantNetworkService
protected org.onosproject.net.flowobjective.FlowObjectiveService flowObjectiveService
protected org.onosproject.core.ApplicationId appId
public SfcFlowRuleInstallerImpl()
public SfcFlowRuleInstallerImpl(org.onosproject.core.ApplicationId appId)
appId - application id.public org.onosproject.net.ConnectPoint installFlowClassifier(PortChain portChain, org.onosproject.net.NshServicePathId nshSpiId)
SfcFlowRuleInstallerServiceinstallFlowClassifier in interface SfcFlowRuleInstallerServiceportChain - port-chainnshSpiId - service path index identifierpublic org.onosproject.net.ConnectPoint unInstallFlowClassifier(PortChain portChain, org.onosproject.net.NshServicePathId nshSpiId)
SfcFlowRuleInstallerServiceunInstallFlowClassifier in interface SfcFlowRuleInstallerServiceportChain - port-chainnshSpiId - service path index identifierpublic org.onosproject.net.ConnectPoint installLoadBalancedFlowRules(PortChain portChain, FiveTuple fiveTuple, org.onosproject.net.NshServicePathId nshSpiId)
SfcFlowRuleInstallerServiceinstallLoadBalancedFlowRules in interface SfcFlowRuleInstallerServiceportChain - port-chainfiveTuple - five tuple packet informationnshSpiId - service path index identifierpublic org.onosproject.net.ConnectPoint unInstallLoadBalancedFlowRules(PortChain portChain, FiveTuple fiveTuple, org.onosproject.net.NshServicePathId nshSpiId)
SfcFlowRuleInstallerServiceunInstallLoadBalancedFlowRules in interface SfcFlowRuleInstallerServiceportChain - port-chainfiveTuple - five tuple packet informationnshSpiId - service path index identifierpublic org.onosproject.net.ConnectPoint unInstallLoadBalancedClassifierRules(PortChain portChain, FiveTuple fiveTuple, org.onosproject.net.NshServicePathId nshSpiId)
SfcFlowRuleInstallerServiceunInstallLoadBalancedClassifierRules in interface SfcFlowRuleInstallerServiceportChain - port-chainfiveTuple - five tuple packet informationnshSpiId - service path index identifierpublic org.onosproject.net.ConnectPoint installSfcFlowRules(PortChain portChain, FiveTuple fiveTuple, org.onosproject.net.NshServicePathId nshSpiId, org.onosproject.net.flowobjective.Objective.Operation type)
public void installSfcTunnelReceiveRule(org.onosproject.net.DeviceId deviceId,
org.onosproject.net.NshServicePathId nshSpiId,
org.onosproject.net.flowobjective.Objective.Operation type)
public void installSfcTunnelSendRule(org.onosproject.net.DeviceId deviceId,
org.onosproject.net.NshServicePathId nshSpiId,
org.onosproject.net.flowobjective.Objective.Operation type)
public void installSfcEndRule(PortPair portPair, org.onosproject.net.NshServicePathId nshSpiId, org.onosproject.net.flowobjective.Objective.Operation type)
public void installSfcForwardRule(PortPair portPair, PortPair nextPortPair, org.onosproject.net.NshServicePathId nshSpiId, org.onosproject.net.flowobjective.Objective.Operation type)
public void installSfcEncapOutputRule(PortPair portPair, org.onosproject.net.NshServicePathId nshSpiId, org.onosproject.net.flowobjective.Objective.Operation type)
public org.onosproject.net.ConnectPoint installSfcClassifierRules(PortChain portChain, PortPair portPair, org.onosproject.net.NshServicePathId nshSpiId, FiveTuple fiveTuple, org.onosproject.net.flowobjective.Objective.Operation type)
public org.onosproject.net.flow.TrafficSelector.Builder packClassifierSelector(FlowClassifier flowClassifier, FiveTuple fiveTuple)
flowClassifier - flow-classifierfiveTuple - five tuple info for the packetpublic org.onosproject.net.flow.TrafficTreatment.Builder packClassifierTreatment(org.onosproject.net.DeviceId deviceId,
VirtualPort virtualPort,
org.onosproject.net.PortNumber port,
org.onosproject.net.NshServicePathId nshSpi,
FlowClassifier flowClassifier)
deviceId - device idvirtualPort - virtual portport - port numbernshSpi - nsh spiflowClassifier - flow-classifierpublic org.onosproject.net.DeviceId getControllerId(org.onosproject.net.Device device,
Iterable<org.onosproject.net.Device> devices)
device - Devicedevices - Devicespublic String getControllerIpOfSwitch(org.onosproject.net.Device device)
device - Devicepublic void sendSfcRule(org.onosproject.net.flow.TrafficSelector.Builder selector,
org.onosproject.net.flow.TrafficTreatment.Builder treatment,
org.onosproject.net.DeviceId deviceId,
org.onosproject.net.flowobjective.Objective.Operation type,
int priority)
selector - traffic selectortreatment - traffic treatmentdeviceId - device idtype - operation typepriority - priority of classifier