public final class FlowCache extends Object implements VTNDataFlow
FlowCache describes a set of cached attributes for a data flow.
Note that this class is not synchronized.
| Constructor and Description |
|---|
FlowCache(VtnDataFlow vdf)
Construct a new instance.
|
| Modifier and Type | Method and Description |
|---|---|
VtnDataFlow |
getDataFlow()
Return a
VtnDataFlow instance associated with the target data
flow. |
DataFlowSource |
getDataFlowSource()
Return the source L2 host of the data flow.
|
org.apache.commons.lang3.tuple.Pair<L2Host,L2Host> |
getEdgeHosts()
Get two
L2Host instances which represents host information
matched by edge flow entries. |
List<org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.Action> |
getEgressActions()
Return a list of MD-SAL flow actions configured in the egress flow entry
of the data flow.
|
VtnFlowEntry |
getEgressFlow()
Return the egress flow entry of the data flow.
|
VirtualNodePath |
getEgressPath()
Return the path to the virtual node which maps the egress flow.
|
List<VtnFlowEntry> |
getFlowEntries()
Return a list of flow entries sorted in order of order value.
|
Set<SalNode> |
getFlowNodes()
Return a set of switches related to this data flow.
|
Set<SalPort> |
getFlowPorts()
Return a set of switch ports related to this data flow.
|
VtnFlowEntry |
getIngressFlow()
Return the ingress flow entry of the data flow.
|
String |
getIngressMatchKey()
Return a string which represents the condition configured in the ingress
flow entry.
|
VirtualNodePath |
getIngressPath()
Return the path to the virtual node which maps the ingress flow.
|
VtnDataFlowKey |
getKey()
Return the key assocaited with the VTN data flow in the MD-SAL
datastore.
|
List<PhysicalRoute> |
getPhysicalRoute(InventoryReader inv)
Return a list of
PhysicalRoute instances which indicates the
physical route of the data flow. |
L2Host |
getSourceHost()
Return the source L2 host of the data flow.
|
SourceHostFlowsKey |
getSourceHostFlowsKey()
Return the source L2 host of this data flow.
|
List<VirtualRoute> |
getVirtualRoute()
Return a list of
VirtualRoute instances which indicates the
virtual route of the data flow. |
DataFlowInfoBuilder |
toDataFlowInfoBuilder(InventoryReader inv,
DataFlowMode mode)
Return a
DataFlowInfoBuilder that contains information about
the data flow. |
public FlowCache(VtnDataFlow vdf)
vdf - A VtnDataFlow instance.
Specifying null results in undefined behavior.public VtnDataFlow getDataFlow()
VtnDataFlow instance associated with the target data
flow.VtnDataFlow instance.public List<VtnFlowEntry> getFlowEntries()
Note that this method returns unmodifiable list.
VtnFlowEntry instances.public VtnFlowEntry getIngressFlow()
VtnFlowEntry instance in the flow entry list.
null if the data flow has no flow entry.public VtnFlowEntry getEgressFlow()
VtnFlowEntry instance in the flow entry list.
null if the data flow has no flow entry.public L2Host getSourceHost()
L2Host instance if found.
null if not found.public DataFlowSource getDataFlowSource()
DataFlowSource instance if found.
null if not found.public org.apache.commons.lang3.tuple.Pair<L2Host,L2Host> getEdgeHosts()
L2Host instances which represents host information
matched by edge flow entries.public List<VirtualRoute> getVirtualRoute()
VirtualRoute instances which indicates the
virtual route of the data flow.
Note that this method returns unmodifiable list.
VirtualRoute instances.public VirtualNodePath getIngressPath() throws VTNException
null if not found.VTNException - An error occurred.public VirtualNodePath getEgressPath() throws VTNException
null if not found.VTNException - An error occurred.public List<PhysicalRoute> getPhysicalRoute(InventoryReader inv)
PhysicalRoute instances which indicates the
physical route of the data flow.
Note that this method returns unmodifiable list.
inv - An InventoryReader instance.PhysicalRoute instances.
null if no physical route is configured.public List<org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.Action> getEgressActions()
Action instances.public DataFlowInfoBuilder toDataFlowInfoBuilder(InventoryReader inv, DataFlowMode mode) throws VTNException
DataFlowInfoBuilder that contains information about
the data flow.
Note that this method does not set flow statistics.
inv - An InventoryReader instance.mode - A DataFlowMode instance which determines fields
to copy.DataFlowInfoBuilder instance.VTNException - An error occurred.public VtnDataFlowKey getKey()
getKey in interface VTNDataFlowVtnDataFlowKey instance.public String getIngressMatchKey() throws VTNException
getIngressMatchKey in interface VTNDataFlowVTNException - An error occurred.public Set<SalNode> getFlowNodes()
Note that this method returns a read-only set.
getFlowNodes in interface VTNDataFlowSalNode instances.public Set<SalPort> getFlowPorts()
Note that this method returns a read-only set.
getFlowPorts in interface VTNDataFlowSalPort instances.public SourceHostFlowsKey getSourceHostFlowsKey()
getSourceHostFlowsKey in interface VTNDataFlowSourceHostFlowsKey instance which specifies the
source L2 host. null if the source L2 host could not
be determined.Copyright © 2018 OpenDaylight. All rights reserved.