public interface IFlowCacheService extends IService
public interface APIs to Big Switch Flow-Cache Service. Flow-Cache maintains the network-level flows that are currently deployed in the underlying network. The flow cache can be queried using various filters by using the corresponding APIs.
Modifier and Type | Interface and Description |
---|---|
static class |
IFlowCacheService.FCQueryEvType
The flow cache query event type indicating the event that triggered the
query.
|
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
FLOWCACHE_APP_INSTANCE_NAME |
static java.lang.String |
FLOWCACHE_APP_NAME |
Modifier and Type | Method and Description |
---|---|
boolean |
addFlow(MessageContext cntx,
OFMatchWithSwDpid ofm,
java.lang.Long cookie,
SwitchPort swPort,
short priority,
byte action)
Add a flow to the flow-cache - called when a flow-mod is about to be
written to a set of switches.
|
boolean |
addFlow(java.lang.String appInstName,
OFMatchWithSwDpid ofm,
java.lang.Long cookie,
long srcSwDpid,
short inPort,
short priority,
byte action)
Add a flow to the flow-cache - called when a flow-mod is about to be
written to a set of switches.
|
void |
deactivateFlowCacheBySwitch(long switchDpid)
Deactivates all flows in the flow cache for which the source switch
matches the given switchDpid.
|
void |
deleteAllFlowsAtASourceSwitch(IOFSwitch sw)
Delete all flow from the specified switch
|
void |
deleteFlowCacheBySwitch(long switchDpid)
Deletes all flows in the flow cache for which the source switch
matches the given switchDpid.
|
boolean |
moveFlowToDifferentApplInstName(OFMatchReconcile ofMRc)
Move the specified flow from its current application instance to a
different application instance.
|
void |
querySwitchFlowTable(long swDpid)
Post a request to update flowcache from a switch.
|
void |
submitFlowCacheQuery(FCQueryObj query)
Submit a flow cache query with query parameters specified in FCQueryObj
object.
|
static final java.lang.String FLOWCACHE_APP_NAME
static final java.lang.String FLOWCACHE_APP_INSTANCE_NAME
void submitFlowCacheQuery(FCQueryObj query)
The queried flows are returned via the flowQueryRespHandler() callback that the caller must implement. The caller can match the query with the response using unique callerOpaqueData which remains unchanged in the request and response callback.
query
- the flow cache query object as inputcom.bigswitch.floodlight.flowcache#flowQueryRespHandler
void deactivateFlowCacheBySwitch(long switchDpid)
switchDpid
- Data-path identifier of the source switchvoid deleteFlowCacheBySwitch(long switchDpid)
switchDpid
- Data-path identifier of the source switchboolean addFlow(java.lang.String appInstName, OFMatchWithSwDpid ofm, java.lang.Long cookie, long srcSwDpid, short inPort, short priority, byte action)
appInstName
- Application instance nameofm
- openflow match objectcookie
- openflow-mod cookiesrcSwDpid
- source switch dpidinPort
- input portpriority
- openflow match priorityaction
- action taken on the matched packets (PERMIT or DENY)boolean addFlow(MessageContext cntx, OFMatchWithSwDpid ofm, java.lang.Long cookie, SwitchPort swPort, short priority, byte action)
cntx
- the cntxofm
- the ofmcookie
- the cookieswPort
- the sw portpriority
- the priorityaction
- the actionboolean moveFlowToDifferentApplInstName(OFMatchReconcile ofMRc)
Note that, if the flow was not found in the current application instance then the flow is not moved to the new application instance.
ofMRc
- the object containing the flow match and new application
instance name.void deleteAllFlowsAtASourceSwitch(IOFSwitch sw)
sw
- void querySwitchFlowTable(long swDpid)
swDpid
-