OpenSDN source code
|
#include <flow_mgmt.h>
Classes | |
struct | FlowEntryRefCmp |
Public Types | |
typedef boost::shared_ptr < FlowMgmtRequest > | FlowMgmtRequestPtr |
typedef WorkQueue < FlowMgmtRequestPtr > | FlowMgmtQueue |
typedef std::map< FlowEntryPtr, FlowEntryInfo, FlowEntryRefCmp > | FlowEntryTree |
Static Public Member Functions | |
static void | InitLogQueue (Agent *agent) |
static void | ShutdownLogQueue () |
static void | LogFlowUnlocked (FlowEntry *flow, const std::string &op) |
static bool | LogHandler (FlowMgmtRequestPtr req) |
static bool | ProcessEvent (FlowMgmtRequest *req, FlowMgmtKey *key, FlowMgmtTree *tree) |
Private Member Functions | |
void | AddFlow (FlowEntryPtr &flow) |
void | DeleteFlow (FlowEntryPtr &flow, const RevFlowDepParams &p) |
void | UpdateFlowStats (FlowEntryPtr &flow, uint32_t bytes, uint32_t packets, uint32_t oflow_bytes, const boost::uuids::uuid &u) |
void | AddFlowMgmtKey (FlowEntry *flow, FlowEntryInfo *info, FlowMgmtKey *key, FlowMgmtKey *old_key) |
void | DeleteFlowMgmtKey (FlowEntry *flow, FlowEntryInfo *info, FlowMgmtKey *key, FlowMgmtKeyNode *node) |
FlowEntryInfo * | FindFlowEntryInfo (const FlowEntryPtr &flow) |
FlowEntryInfo * | LocateFlowEntryInfo (FlowEntryPtr &flow) |
void | DeleteFlowEntryInfo (FlowEntryPtr &flow) |
void | MakeFlowMgmtKeyTree (FlowEntry *flow, FlowMgmtKeyTree *tree) |
void | SetAceSandeshData (const AclDBEntry *acl, AclFlowCountResp &data, const std::string &ace_id) |
void | SetAclFlowSandeshData (const AclDBEntry *acl, AclFlowResp &data, const int last_count) |
void | ControllerNotify (uint8_t index) |
DISALLOW_COPY_AND_ASSIGN (FlowMgmtManager) | |
Static Private Attributes | |
static FlowMgmtQueue * | log_queue_ |
Definition at line 238 of file flow_mgmt.h.
typedef std::map<FlowEntryPtr, FlowEntryInfo, FlowEntryRefCmp> FlowMgmtManager::FlowEntryTree |
Definition at line 256 of file flow_mgmt.h.
Definition at line 241 of file flow_mgmt.h.
typedef boost::shared_ptr<FlowMgmtRequest> FlowMgmtManager::FlowMgmtRequestPtr |
Definition at line 240 of file flow_mgmt.h.
FlowMgmtManager::FlowMgmtManager | ( | Agent * | agent, |
uint16_t | table_index | ||
) |
|
inlinevirtual |
Definition at line 259 of file flow_mgmt.h.
void FlowMgmtManager::AddDBEntryEvent | ( | const DBEntry * | entry, |
uint32_t | gen_id | ||
) |
void FlowMgmtManager::AddEvent | ( | FlowEntry * | low | ) |
|
private |
|
private |
|
inline |
Definition at line 283 of file flow_mgmt.h.
void FlowMgmtManager::BgpAsAServiceHealthCheckNotify | ( | const boost::uuids::uuid & | vm_uuid, |
uint32_t | source_port, | ||
const boost::uuids::uuid & | hc_uuid, | ||
bool | add | ||
) |
void FlowMgmtManager::BgpAsAServiceNotify | ( | const boost::uuids::uuid & | vm_uuid, |
uint32_t | source_port | ||
) |
bool FlowMgmtManager::BgpAsAServiceRequestHandler | ( | FlowMgmtRequest * | req | ) |
void FlowMgmtManager::ChangeDBEntryEvent | ( | const DBEntry * | entry, |
uint32_t | gen_id | ||
) |
|
private |
bool FlowMgmtManager::DbClientHandler | ( | const DBEntry * | entry | ) |
void FlowMgmtManager::DBEntryEvent | ( | FlowEvent::Event | event, |
FlowMgmtKey * | key, | ||
FlowEntry * | flow | ||
) |
bool FlowMgmtManager::DBRequestHandler | ( | FlowMgmtRequestPtr | req | ) |
Definition at line 463 of file flow_mgmt.cc.
bool FlowMgmtManager::DBRequestHandler | ( | FlowMgmtRequest * | req, |
const DBEntry * | entry | ||
) |
void FlowMgmtManager::DeleteDBEntryEvent | ( | const DBEntry * | entry, |
uint32_t | gen_id | ||
) |
void FlowMgmtManager::DeleteEvent | ( | FlowEntry * | flow, |
const RevFlowDepParams & | params | ||
) |
|
private |
|
private |
Definition at line 740 of file flow_mgmt.cc.
|
private |
|
inline |
|
private |
void FlowMgmtManager::DummyEvent | ( | ) |
void FlowMgmtManager::EnqueueFlowEvent | ( | FlowEvent * | event | ) |
void FlowMgmtManager::EnqueueUveAddEvent | ( | const FlowEntry * | flow | ) | const |
void FlowMgmtManager::EnqueueUveDeleteEvent | ( | const FlowEntry * | flow | ) | const |
BgpAsAServiceFlowMgmtKey * FlowMgmtManager::FindBgpAsAServiceInfo | ( | FlowEntry * | flow, |
BgpAsAServiceFlowMgmtKey & | key | ||
) |
|
private |
Definition at line 710 of file flow_mgmt.cc.
|
inline |
Definition at line 306 of file flow_mgmt.h.
size_t FlowMgmtManager::FlowDBQueueLength | ( | ) |
void FlowMgmtManager::FlowStatsUpdateEvent | ( | FlowEntry * | flow, |
uint32_t | bytes, | ||
uint32_t | packets, | ||
uint32_t | oflow_bytes, | ||
const boost::uuids::uuid & | u | ||
) |
void FlowMgmtManager::FlowUpdateQueueDisable | ( | bool | val | ) |
size_t FlowMgmtManager::FlowUpdateQueueLength | ( | ) |
void FlowMgmtManager::FreeDBEntryEvent | ( | FlowEvent::Event | event, |
FlowMgmtKey * | key, | ||
uint32_t | gen_id | ||
) |
bool FlowMgmtManager::HasVrfFlows | ( | uint32_t | vrf | ) |
void FlowMgmtManager::Init | ( | ) |
|
static |
void FlowMgmtManager::InterfaceFlowCount | ( | const Interface * | itf, |
uint64_t * | created, | ||
uint64_t * | aged, | ||
uint32_t * | active_flows | ||
) |
|
inline |
Definition at line 325 of file flow_mgmt.h.
|
private |
|
inline |
Definition at line 311 of file flow_mgmt.h.
|
static |
|
static |
|
private |
void FlowMgmtManager::NonOperEntryEvent | ( | FlowEvent::Event | event, |
FlowEntry * | flow | ||
) |
|
static |
|
inline |
Definition at line 310 of file flow_mgmt.h.
bool FlowMgmtManager::RequestHandler | ( | FlowMgmtRequestPtr | req | ) |
void FlowMgmtManager::RetryVrfDelete | ( | uint32_t | vrf_id | ) |
void FlowMgmtManager::RetryVrfDeleteEvent | ( | const VrfEntry * | vrf | ) |
void FlowMgmtManager::RouteNHChangeEvent | ( | const DBEntry * | entry, |
uint32_t | gen_id | ||
) |
|
private |
|
private |
void FlowMgmtManager::Shutdown | ( | ) |
|
static |
|
inline |
Definition at line 284 of file flow_mgmt.h.
|
private |
void FlowMgmtManager::VnFlowCounters | ( | const VnEntry * | vn, |
uint32_t * | ingress_flow_count, | ||
uint32_t * | egress_flow_count | ||
) |
|
private |
Definition at line 361 of file flow_mgmt.h.
|
private |
Definition at line 359 of file flow_mgmt.h.
|
private |
Definition at line 369 of file flow_mgmt.h.
|
private |
Definition at line 366 of file flow_mgmt.h.
|
private |
Definition at line 372 of file flow_mgmt.h.
|
private |
Definition at line 370 of file flow_mgmt.h.
|
private |
Definition at line 362 of file flow_mgmt.h.
|
private |
Definition at line 364 of file flow_mgmt.h.
|
private |
Definition at line 365 of file flow_mgmt.h.
|
staticprivate |
Definition at line 373 of file flow_mgmt.h.
|
private |
Definition at line 368 of file flow_mgmt.h.
|
private |
Definition at line 371 of file flow_mgmt.h.
|
private |
Definition at line 360 of file flow_mgmt.h.
|
private |
Definition at line 363 of file flow_mgmt.h.
|
private |
Definition at line 367 of file flow_mgmt.h.