OpenSDN source code
InterfaceTable Class Reference

#include <interface.h>

Inheritance diagram for InterfaceTable:
Collaboration diagram for InterfaceTable:

Classes

struct  DhcpSnoopEntry
 

Public Types

typedef std::map< const std::string, DhcpSnoopEntryDhcpSnoopMap
 
typedef std::map< const std::string, DhcpSnoopEntry >::iterator DhcpSnoopIterator
 
typedef std::map< boost::uuids::uuid, int > VmiToVmiTypeMap
 
typedef boost::function< void(VmInterface *, const VnEntry *, const IpAddress &, bool)> UpdateFloatingIpFn
 
- Public Types inherited from DBTable
typedef boost::intrusive_ptr< DBTableWalkDBTableWalkRef
 
typedef boost::function< bool(DBTablePartBase *, DBEntryBase *)> WalkFn
 
typedef boost::function< void(DBTableWalkRef, DBTableBase *)> WalkCompleteFn
 
- Public Types inherited from DBTableBase
typedef boost::function< void(DBTablePartBase *, DBEntryBase *)> ChangeCallback
 
typedef int ListenerId
 

Public Member Functions

 InterfaceTable (DB *db, const std::string &name)
 
virtual ~InterfaceTable ()
 
void Init (OperDB *oper)
 
void RegisterDBClients (IFMapDependencyManager *dep)
 
std::unique_ptr< DBEntryAllocEntry (const DBRequestKey *k) const
 
size_t Hash (const DBEntry *entry) const
 
size_t Hash (const DBRequestKey *key) const
 
virtual AgentSandeshPtr GetAgentSandesh (const AgentSandeshArguments *args, const std::string &context)
 
DBEntryOperDBAdd (const DBRequest *req)
 
bool OperDBOnChange (DBEntry *entry, const DBRequest *req)
 
bool OperDBDelete (DBEntry *entry, const DBRequest *req)
 
bool OperDBResync (DBEntry *entry, const DBRequest *req)
 
bool ProcessConfig (IFMapNode *node, DBRequest &req, const boost::uuids::uuid &u)
 
bool InterfaceCommonProcessConfig (IFMapNode *node, DBRequest &req, const boost::uuids::uuid &u)
 
bool LogicalInterfaceProcessConfig (IFMapNode *node, DBRequest &req, const boost::uuids::uuid &u)
 
bool PhysicalInterfaceProcessConfig (IFMapNode *node, DBRequest &req, const boost::uuids::uuid &u)
 
bool VmiProcessConfig (IFMapNode *node, DBRequest &req, const boost::uuids::uuid &u)
 
bool VmiIFNodeToReq (IFMapNode *node, DBRequest &req, const boost::uuids::uuid &u)
 
bool VmiIFNodeToUuid (IFMapNode *node, boost::uuids::uuid &u)
 
bool LogicalInterfaceIFNodeToUuid (IFMapNode *node, boost::uuids::uuid &u)
 
bool PhysicalInterfaceIFNodeToReq (IFMapNode *node, DBRequest &req, const boost::uuids::uuid &u)
 
bool LogicalInterfaceIFNodeToReq (IFMapNode *node, DBRequest &req, const boost::uuids::uuid &u)
 
bool RemotePhysicalInterfaceIFNodeToReq (IFMapNode *node, DBRequest &req, const boost::uuids::uuid &u)
 
bool IFNodeToReq (IFMapNode *node, DBRequest &req, const boost::uuids::uuid &u)
 
bool IFNodeToUuid (IFMapNode *node, boost::uuids::uuid &u)
 
void GlobalVrouterConfigChanged ()
 
InterfaceConstRef FindVmi (const boost::uuids::uuid &u)
 
VrfEntryFindVrfRef (const std::string &name) const
 
VnEntryFindVnRef (const boost::uuids::uuid &uuid) const
 
VmEntryFindVmRef (const boost::uuids::uuid &uuid) const
 
MirrorEntryFindMirrorRef (const std::string &name) const
 
void FreeInterfaceId (size_t index)
 
const InterfaceFindInterface (size_t index) const
 
InterfaceFindInterface (size_t index)
 
const InterfaceFindInterfaceFromMetadataIp (const Ip4Address &ip) const
 Finds an interface (Interface) to which a given IPv4 address belongs to. More...
 
const InterfaceFindInterfaceFromMetadataIp (const Ip6Address &ip) const
 Finds an interface (Interface) to which a given IPv6 address belongs to. More...
 
virtual bool FindVmUuidFromMetadataIp (const IpAddress &ip, std::string *vm_ip, std::string *vm_uuid, std::string *vm_project_uuid)
 Finds information about a virtual machine connected to a given vm interface with a specified link local IP address (both v4 and v6) More...
 
void LinkVmPortToMetaDataIp (const Interface *intf, const Ip6Address &addr)
 Creates a link between a given interface (Interface) and a given IPv6 address. More...
 
const Ip4Address GetDhcpSnoopEntry (const std::string &ifname)
 
void DeleteDhcpSnoopEntry (const std::string &ifname)
 
void AddDhcpSnoopEntry (const std::string &ifname, const Ip4Address &addr)
 
void AuditDhcpSnoopTable ()
 
void DhcpSnoopSetConfigSeen (const std::string &ifname)
 
void set_update_floatingip_cb (UpdateFloatingIpFn fn)
 
const UpdateFloatingIpFnupdate_floatingip_cb () const
 
void AddVmiToVmiType (const boost::uuids::uuid &u, int type)
 
int GetVmiToVmiType (const boost::uuids::uuid &u)
 
void DelVmiToVmiType (const boost::uuids::uuid &u)
 
void UpdatePhysicalDeviceVnEntry (const boost::uuids::uuid &vmi, boost::uuids::uuid &dev, boost::uuids::uuid &vn, IFMapNode *vn_node)
 
void DelPhysicalDeviceVnEntry (const boost::uuids::uuid &vmi)
 
Agentagent () const
 
OperDBoperdb () const
 
uint32_t vmi_count () const
 
void incr_vmi_count ()
 
void decr_vmi_count ()
 
uint32_t li_count () const
 
void incr_li_count ()
 
void decr_li_count ()
 
uint32_t active_vmi_count () const
 
void incr_active_vmi_count ()
 
void decr_active_vmi_count ()
 
uint32_t vmi_ifnode_to_req () const
 
uint32_t li_ifnode_to_req () const
 
uint32_t pi_ifnode_to_req () const
 
virtual void Clear ()
 
void CreateVhost ()
 
void CreateVhostReq ()
 
- Public Member Functions inherited from AgentOperDBTable
 AgentOperDBTable (DB *db, const std::string &name)
 
 AgentOperDBTable (DB *db, const std::string &name, bool del_on_zero_refcount)
 
virtual ~AgentOperDBTable ()
 
virtual void ConfigEventHandler (IFMapNode *node, DBEntry *entry)
 
- Public Member Functions inherited from AgentDBTable
 AgentDBTable (DB *db, const std::string &name)
 
 AgentDBTable (DB *db, const std::string &name, bool del_on_zero_refcount)
 
virtual ~AgentDBTable ()
 
virtual int PartitionCount () const
 
virtual void Input (DBTablePartition *root, DBClient *client, DBRequest *req)
 
virtual DBEntryCfgAdd (DBRequest *req)
 
virtual bool IFLinkToReq (IFMapLink *link, IFMapNode *node, const std::string &peer_name, IFMapNode *peer, DBRequest &req)
 
virtual DBTablePartitionAllocPartition (int index)
 
virtual void OnZeroRefcount (AgentDBEntry *e)
 
virtual void NotifyEntry (DBEntryBase *entry)
 
void Notify (DBTablePartBase *partition, DBEntryBase *entry)
 
DBTableBase::ListenerId GetRefListenerId () const
 
AgentDBEntryFindActiveEntry (const DBEntry *key)
 
AgentDBEntryFindActiveEntryNoLock (const DBEntry *key)
 
AgentDBEntryFindActiveEntry (const DBRequestKey *key)
 
AgentDBEntryFindActiveEntryNoLock (const DBRequestKey *key)
 
AgentDBEntryFind (const DBEntry *key, bool ret_del)
 
AgentDBEntryFind (const DBRequestKey *key, bool ret_del)
 
virtual bool CanNotify (IFMapNode *dbe)
 
virtual void Process (DBRequest &req)
 
void set_agent (Agent *agent)
 
Agentagent () const
 
void Flush ()
 
void reset_flush_walk_ref ()
 
SandeshTraceBufferPtr GetOperDBTraceBuf () const
 
- Public Member Functions inherited from DBTable
 DBTable (DB *db, const std::string &name)
 
virtual ~DBTable ()
 
void Init ()
 
void NotifyAllEntries ()
 
DBEntryFind (const DBEntry *entry)
 
const DBEntryFind (const DBEntry *entry) const
 
DBEntryFind (const DBRequestKey *key, int id=-1)
 
const DBEntryFind (const DBRequestKey *key, int id=-1) const
 
DBEntryFindNoLock (const DBEntry *entry)
 
DBEntryFindNoLock (const DBRequestKey *key)
 
virtual DBTablePartBaseGetTablePartition (const DBRequestKey *key)
 
virtual const DBTablePartBaseGetTablePartition (const DBRequestKey *key) const
 
virtual DBTablePartBaseGetTablePartition (const DBEntryBase *entry)
 
virtual const DBTablePartBaseGetTablePartition (const DBEntryBase *entry) const
 
virtual DBTablePartBaseGetTablePartition (const int index)
 
virtual const DBTablePartBaseGetTablePartition (const int index) const
 
virtual void Change (DBEntryBase *entry)
 
virtual size_t Size () const
 
DBTableWalkRef AllocWalker (WalkFn walk_fn, WalkCompleteFn walk_complete)
 
void ReleaseWalker (DBTableWalkRef &walk)
 
void WalkTable (DBTableWalkRef walk)
 
void WalkAgain (DBTableWalkRef walk)
 
void SetWalkIterationToYield (int count)
 
int GetWalkIterationToYield ()
 
void SetWalkTaskId (int task_id)
 
int GetWalkerTaskId ()
 
- Public Member Functions inherited from DBTableBase
 DBTableBase (DB *db, const std::string &name)
 
virtual ~DBTableBase ()
 
bool Enqueue (DBRequest *req)
 
void EnqueueRemove (DBEntryBase *db_entry)
 
virtual void AddRemoveCallback (const DBEntryBase *entry, bool add) const
 
ListenerId Register (ChangeCallback callback, const std::string &name="unspecified")
 
void Unregister (ListenerId listener)
 
void RunNotify (DBTablePartBase *tpart, DBEntryBase *entry)
 
void AddToDBStateCount (ListenerId listener, int count)
 
uint64_t GetDBStateCount (ListenerId listener)
 
bool empty () const
 
virtual void RetryDelete ()
 
virtual bool MayDelete () const
 
DBdatabase ()
 
const DBdatabase () const
 
const std::string & name () const
 
bool HasListeners () const
 
size_t GetListenerCount () const
 
void FillListeners (std::vector< ShowTableListener > *listeners) const
 
uint64_t enqueue_count () const
 
void incr_enqueue_count ()
 
void reset_enqueue_count ()
 
uint64_t input_count () const
 
void incr_input_count ()
 
void reset_input_count ()
 
uint64_t notify_count () const
 
void incr_notify_count ()
 
void reset_notify_count ()
 
bool HasWalkers () const
 
uint64_t walker_count () const
 
void incr_walker_count ()
 
uint64_t decr_walker_count ()
 
uint64_t walk_request_count () const
 
uint64_t walk_complete_count () const
 
uint64_t walk_cancel_count () const
 
uint64_t walk_again_count () const
 
uint64_t walk_count () const
 
void incr_walk_request_count ()
 
void incr_walk_complete_count ()
 
void incr_walk_cancel_count ()
 
void incr_walk_again_count ()
 
void incr_walk_count ()
 

Static Public Member Functions

static DBTableBaseCreateTable (DB *db, const std::string &name)
 
static InterfaceTableGetInstance ()
 
- Static Public Member Functions inherited from DBTable
static void DBStateClear (DBTable *table, ListenerId id)
 

Private Member Functions

bool L2VmInterfaceWalk (DBTablePartBase *partition, DBEntryBase *entry)
 
void VmInterfaceWalkDone (DBTable::DBTableWalkRef walk_ref, DBTableBase *partition)
 
 DISALLOW_COPY_AND_ASSIGN (InterfaceTable)
 

Private Attributes

OperDBoperdb_
 
Agentagent_
 
DBTable::DBTableWalkRef global_config_change_walk_ref_
 
IndexVector< Interface * > index_table_
 
std::mutex dhcp_snoop_mutex_
 
DhcpSnoopMap dhcp_snoop_map_
 
UpdateFloatingIpFn update_floatingip_cb_
 
VmiToVmiTypeMap vmi_to_vmitype_map_
 
VmiToPhysicalDeviceVnTree vmi_to_physical_device_vn_tree_
 
uint32_t vmi_count_
 
uint32_t li_count_
 
uint32_t active_vmi_count_
 
uint32_t vmi_ifnode_to_req_
 
uint32_t li_ifnode_to_req_
 
uint32_t pi_ifnode_to_req_
 

Static Private Attributes

static InterfaceTableinterface_table_
 

Additional Inherited Members

- Static Public Attributes inherited from AgentDBTable
static const int kPartitionCount = 1
 
- Static Public Attributes inherited from DBTable
static const int kIterationToYield = 256
 
- Static Public Attributes inherited from DBTableBase
static const int kInvalidId = -1
 
- Protected Member Functions inherited from AgentOperDBTable
void UpdateIfMapNode (AgentOperDBEntry *entry, IFMapNode *node)
 
virtual DBEntryAdd (const DBRequest *req)
 
virtual bool OnChange (DBEntry *entry, const DBRequest *req)
 
virtual bool Resync (DBEntry *entry, const DBRequest *req)
 
virtual bool Delete (DBEntry *entry, const DBRequest *req)
 

Detailed Description

Definition at line 303 of file interface.h.

Member Typedef Documentation

◆ DhcpSnoopIterator

typedef std::map<const std::string, DhcpSnoopEntry>::iterator InterfaceTable::DhcpSnoopIterator

Definition at line 315 of file interface.h.

◆ DhcpSnoopMap

typedef std::map<const std::string, DhcpSnoopEntry> InterfaceTable::DhcpSnoopMap

Definition at line 314 of file interface.h.

◆ UpdateFloatingIpFn

typedef boost::function<void(VmInterface *, const VnEntry *, const IpAddress &, bool)> InterfaceTable::UpdateFloatingIpFn

Definition at line 327 of file interface.h.

◆ VmiToVmiTypeMap

Definition at line 321 of file interface.h.

Constructor & Destructor Documentation

◆ InterfaceTable()

InterfaceTable::InterfaceTable ( DB db,
const std::string &  name 
)

Definition at line 58 of file interface.cc.

Here is the call graph for this function:

◆ ~InterfaceTable()

virtual InterfaceTable::~InterfaceTable ( )
inlinevirtual

Definition at line 330 of file interface.h.

Member Function Documentation

◆ active_vmi_count()

uint32_t InterfaceTable::active_vmi_count ( ) const
inline

Definition at line 460 of file interface.h.

◆ AddDhcpSnoopEntry()

void InterfaceTable::AddDhcpSnoopEntry ( const std::string &  ifname,
const Ip4Address addr 
)

Definition at line 749 of file interface.cc.

◆ AddVmiToVmiType()

void InterfaceTable::AddVmiToVmiType ( const boost::uuids::uuid u,
int  type 
)

Definition at line 1518 of file interface.cc.

◆ agent()

Agent* InterfaceTable::agent ( ) const
inline

Definition at line 449 of file interface.h.

◆ AllocEntry()

std::unique_ptr< DBEntry > InterfaceTable::AllocEntry ( const DBRequestKey k) const
virtual

Implements DBTable.

Definition at line 156 of file interface.cc.

Here is the call graph for this function:

◆ AuditDhcpSnoopTable()

void InterfaceTable::AuditDhcpSnoopTable ( )

Definition at line 771 of file interface.cc.

◆ Clear()

void InterfaceTable::Clear ( )
virtual

Reimplemented from AgentDBTable.

Definition at line 412 of file interface.cc.

Here is the call graph for this function:

◆ CreateTable()

DBTableBase * InterfaceTable::CreateTable ( DB db,
const std::string &  name 
)
static

Definition at line 316 of file interface.cc.

Here is the call graph for this function:

◆ CreateVhost()

void InterfaceTable::CreateVhost ( )

Definition at line 425 of file interface.cc.

Here is the call graph for this function:

◆ CreateVhostReq()

void InterfaceTable::CreateVhostReq ( )

Definition at line 452 of file interface.cc.

Here is the call graph for this function:

◆ decr_active_vmi_count()

void InterfaceTable::decr_active_vmi_count ( )
inline

Definition at line 462 of file interface.h.

◆ decr_li_count()

void InterfaceTable::decr_li_count ( )
inline

Definition at line 458 of file interface.h.

◆ decr_vmi_count()

void InterfaceTable::decr_vmi_count ( )
inline

Definition at line 454 of file interface.h.

◆ DeleteDhcpSnoopEntry()

void InterfaceTable::DeleteDhcpSnoopEntry ( const std::string &  ifname)

Definition at line 726 of file interface.cc.

◆ DelPhysicalDeviceVnEntry()

void InterfaceTable::DelPhysicalDeviceVnEntry ( const boost::uuids::uuid vmi)

Definition at line 82 of file vm_interface_utils.cc.

Here is the call graph for this function:

◆ DelVmiToVmiType()

void InterfaceTable::DelVmiToVmiType ( const boost::uuids::uuid u)

Definition at line 1529 of file interface.cc.

◆ DhcpSnoopSetConfigSeen()

void InterfaceTable::DhcpSnoopSetConfigSeen ( const std::string &  ifname)

Definition at line 738 of file interface.cc.

◆ DISALLOW_COPY_AND_ASSIGN()

InterfaceTable::DISALLOW_COPY_AND_ASSIGN ( InterfaceTable  )
private

◆ FindInterface() [1/2]

Interface * InterfaceTable::FindInterface ( size_t  index)

Definition at line 330 of file interface.cc.

Here is the call graph for this function:

◆ FindInterface() [2/2]

const Interface * InterfaceTable::FindInterface ( size_t  index) const

Definition at line 322 of file interface.cc.

Here is the call graph for this function:

◆ FindInterfaceFromMetadataIp() [1/2]

const Interface * InterfaceTable::FindInterfaceFromMetadataIp ( const Ip4Address ip) const

Finds an interface (Interface) to which a given IPv4 address belongs to.

Parameters
ipis the given IPv4 for which interface is looked
Returns
pointer to the found interface or NULL

Definition at line 370 of file interface.cc.

Here is the call graph for this function:

◆ FindInterfaceFromMetadataIp() [2/2]

const Interface * InterfaceTable::FindInterfaceFromMetadataIp ( const Ip6Address ip) const

Finds an interface (Interface) to which a given IPv6 address belongs to.

Parameters
ipis the given IPv6 for which interface is looked
Returns
pointer to the found interface or NULL

Definition at line 376 of file interface.cc.

Here is the call graph for this function:

◆ FindMirrorRef()

MirrorEntry * InterfaceTable::FindMirrorRef ( const std::string &  name) const

Definition at line 310 of file interface.cc.

Here is the call graph for this function:

◆ FindVmi()

InterfaceConstRef InterfaceTable::FindVmi ( const boost::uuids::uuid u)

Definition at line 418 of file interface.cc.

Here is the call graph for this function:

◆ FindVmRef()

VmEntry * InterfaceTable::FindVmRef ( const boost::uuids::uuid uuid) const

Definition at line 300 of file interface.cc.

Here is the call graph for this function:

◆ FindVmUuidFromMetadataIp()

bool InterfaceTable::FindVmUuidFromMetadataIp ( const IpAddress ip,
std::string *  vm_ip,
std::string *  vm_uuid,
std::string *  vm_project_uuid 
)
virtual

Finds information about a virtual machine connected to a given vm interface with a specified link local IP address (both v4 and v6)

Parameters
ipis a given link local IP address for which a virtual machine is searched
vm_ipis a pointer to a string with a primary IP address of the vm interface associated with the virtual machine
vm_uuidis a pointer to a string with a UUID of the found virtual machine
vm_project_uuidis a pointer to a string with a project UUID of the found virtual machine
Returns
true if vm interface is found for the given IP address, otherwise returns false

Definition at line 338 of file interface.cc.

Here is the call graph for this function:

◆ FindVnRef()

VnEntry * InterfaceTable::FindVnRef ( const boost::uuids::uuid uuid) const

Definition at line 305 of file interface.cc.

Here is the call graph for this function:

◆ FindVrfRef()

VrfEntry * InterfaceTable::FindVrfRef ( const std::string &  name) const

Definition at line 294 of file interface.cc.

Here is the call graph for this function:

◆ FreeInterfaceId()

void InterfaceTable::FreeInterfaceId ( size_t  index)

Definition at line 163 of file interface.cc.

Here is the call graph for this function:

◆ GetAgentSandesh()

AgentSandeshPtr InterfaceTable::GetAgentSandesh ( const AgentSandeshArguments args,
const std::string &  context 
)
virtual

Reimplemented from AgentDBTable.

Definition at line 1441 of file interface.cc.

Here is the call graph for this function:

◆ GetDhcpSnoopEntry()

const Ip4Address InterfaceTable::GetDhcpSnoopEntry ( const std::string &  ifname)

Definition at line 716 of file interface.cc.

◆ GetInstance()

static InterfaceTable* InterfaceTable::GetInstance ( )
inlinestatic

Definition at line 448 of file interface.h.

◆ GetVmiToVmiType()

int InterfaceTable::GetVmiToVmiType ( const boost::uuids::uuid u)

Definition at line 1522 of file interface.cc.

◆ GlobalVrouterConfigChanged()

void InterfaceTable::GlobalVrouterConfigChanged ( )

Definition at line 408 of file interface.cc.

Here is the call graph for this function:

◆ Hash() [1/2]

size_t InterfaceTable::Hash ( const DBEntry entry) const
inlinevirtual

Reimplemented from DBTable.

Definition at line 338 of file interface.h.

◆ Hash() [2/2]

size_t InterfaceTable::Hash ( const DBRequestKey key) const
inlinevirtual

Reimplemented from DBTable.

Definition at line 339 of file interface.h.

◆ IFNodeToReq()

bool InterfaceTable::IFNodeToReq ( IFMapNode node,
DBRequest req,
const boost::uuids::uuid u 
)
virtual

Reimplemented from AgentDBTable.

Definition at line 89 of file interface.cc.

Here is the call graph for this function:

◆ IFNodeToUuid()

bool InterfaceTable::IFNodeToUuid ( IFMapNode node,
boost::uuids::uuid u 
)
virtual

Reimplemented from AgentDBTable.

Definition at line 77 of file interface.cc.

Here is the call graph for this function:

◆ incr_active_vmi_count()

void InterfaceTable::incr_active_vmi_count ( )
inline

Definition at line 461 of file interface.h.

◆ incr_li_count()

void InterfaceTable::incr_li_count ( )
inline

Definition at line 457 of file interface.h.

◆ incr_vmi_count()

void InterfaceTable::incr_vmi_count ( )
inline

Definition at line 453 of file interface.h.

◆ Init()

void InterfaceTable::Init ( OperDB oper)

Definition at line 69 of file interface.cc.

Here is the call graph for this function:

◆ InterfaceCommonProcessConfig()

bool InterfaceTable::InterfaceCommonProcessConfig ( IFMapNode node,
DBRequest req,
const boost::uuids::uuid u 
)

Definition at line 106 of file interface.cc.

Here is the call graph for this function:

◆ L2VmInterfaceWalk()

bool InterfaceTable::L2VmInterfaceWalk ( DBTablePartBase partition,
DBEntryBase entry 
)
private

Definition at line 382 of file interface.cc.

Here is the call graph for this function:

◆ li_count()

uint32_t InterfaceTable::li_count ( ) const
inline

Definition at line 456 of file interface.h.

◆ li_ifnode_to_req()

uint32_t InterfaceTable::li_ifnode_to_req ( ) const
inline

Definition at line 465 of file interface.h.

◆ LinkVmPortToMetaDataIp()

void InterfaceTable::LinkVmPortToMetaDataIp ( const Interface intf,
const Ip6Address addr 
)

Creates a link between a given interface (Interface) and a given IPv6 address.

Parameters
intfis a pointer to the interface for the new link
addris the IPv6 address for the new link

◆ LogicalInterfaceIFNodeToReq()

bool InterfaceTable::LogicalInterfaceIFNodeToReq ( IFMapNode node,
DBRequest req,
const boost::uuids::uuid u 
)

Definition at line 377 of file logical_interface.cc.

Here is the call graph for this function:

◆ LogicalInterfaceIFNodeToUuid()

bool InterfaceTable::LogicalInterfaceIFNodeToUuid ( IFMapNode node,
boost::uuids::uuid u 
)

Definition at line 342 of file logical_interface.cc.

Here is the call graph for this function:

◆ LogicalInterfaceProcessConfig()

bool InterfaceTable::LogicalInterfaceProcessConfig ( IFMapNode node,
DBRequest req,
const boost::uuids::uuid u 
)

Definition at line 354 of file logical_interface.cc.

Here is the call graph for this function:

◆ operdb()

OperDB* InterfaceTable::operdb ( ) const
inline

Definition at line 450 of file interface.h.

◆ OperDBAdd()

DBEntry * InterfaceTable::OperDBAdd ( const DBRequest req)
virtual

Implements AgentOperDBTable.

Definition at line 168 of file interface.cc.

Here is the call graph for this function:

◆ OperDBDelete()

bool InterfaceTable::OperDBDelete ( DBEntry entry,
const DBRequest req 
)
virtual

Implements AgentOperDBTable.

Definition at line 283 of file interface.cc.

Here is the call graph for this function:

◆ OperDBOnChange()

bool InterfaceTable::OperDBOnChange ( DBEntry entry,
const DBRequest req 
)
virtual

Implements AgentOperDBTable.

Definition at line 197 of file interface.cc.

Here is the call graph for this function:

◆ OperDBResync()

bool InterfaceTable::OperDBResync ( DBEntry entry,
const DBRequest req 
)
virtual

Reimplemented from AgentOperDBTable.

Definition at line 255 of file interface.cc.

Here is the call graph for this function:

◆ PhysicalInterfaceIFNodeToReq()

bool InterfaceTable::PhysicalInterfaceIFNodeToReq ( IFMapNode node,
DBRequest req,
const boost::uuids::uuid u 
)

Definition at line 242 of file physical_interface.cc.

Here is the call graph for this function:

◆ PhysicalInterfaceProcessConfig()

bool InterfaceTable::PhysicalInterfaceProcessConfig ( IFMapNode node,
DBRequest req,
const boost::uuids::uuid u 
)

Definition at line 277 of file physical_interface.cc.

Here is the call graph for this function:

◆ pi_ifnode_to_req()

uint32_t InterfaceTable::pi_ifnode_to_req ( ) const
inline

Definition at line 466 of file interface.h.

◆ ProcessConfig()

bool InterfaceTable::ProcessConfig ( IFMapNode node,
DBRequest req,
const boost::uuids::uuid u 
)
virtual

Reimplemented from AgentDBTable.

Definition at line 127 of file interface.cc.

Here is the call graph for this function:

◆ RegisterDBClients()

void InterfaceTable::RegisterDBClients ( IFMapDependencyManager dep)

Definition at line 74 of file interface.cc.

◆ RemotePhysicalInterfaceIFNodeToReq()

bool InterfaceTable::RemotePhysicalInterfaceIFNodeToReq ( IFMapNode node,
DBRequest req,
const boost::uuids::uuid u 
)

Definition at line 158 of file remote_physical_interface.cc.

Here is the call graph for this function:

◆ set_update_floatingip_cb()

void InterfaceTable::set_update_floatingip_cb ( UpdateFloatingIpFn  fn)

Definition at line 629 of file interface.cc.

◆ update_floatingip_cb()

const InterfaceTable::UpdateFloatingIpFn & InterfaceTable::update_floatingip_cb ( ) const

Definition at line 633 of file interface.cc.

◆ UpdatePhysicalDeviceVnEntry()

void InterfaceTable::UpdatePhysicalDeviceVnEntry ( const boost::uuids::uuid vmi,
boost::uuids::uuid dev,
boost::uuids::uuid vn,
IFMapNode vn_node 
)

Definition at line 60 of file vm_interface_utils.cc.

Here is the call graph for this function:

◆ vmi_count()

uint32_t InterfaceTable::vmi_count ( ) const
inline

Definition at line 452 of file interface.h.

◆ vmi_ifnode_to_req()

uint32_t InterfaceTable::vmi_ifnode_to_req ( ) const
inline

Definition at line 464 of file interface.h.

◆ VmiIFNodeToReq()

bool InterfaceTable::VmiIFNodeToReq ( IFMapNode node,
DBRequest req,
const boost::uuids::uuid u 
)

Definition at line 1976 of file vm_interface_config.cc.

Here is the call graph for this function:

◆ VmiIFNodeToUuid()

bool InterfaceTable::VmiIFNodeToUuid ( IFMapNode node,
boost::uuids::uuid u 
)

Definition at line 2004 of file vm_interface_config.cc.

Here is the call graph for this function:

◆ VmInterfaceWalkDone()

void InterfaceTable::VmInterfaceWalkDone ( DBTable::DBTableWalkRef  walk_ref,
DBTableBase partition 
)
private

Definition at line 404 of file interface.cc.

◆ VmiProcessConfig()

bool InterfaceTable::VmiProcessConfig ( IFMapNode node,
DBRequest req,
const boost::uuids::uuid u 
)

Definition at line 1675 of file vm_interface_config.cc.

Here is the call graph for this function:

Member Data Documentation

◆ active_vmi_count_

uint32_t InterfaceTable::active_vmi_count_
private

Definition at line 496 of file interface.h.

◆ agent_

Agent* InterfaceTable::agent_
private

Definition at line 480 of file interface.h.

◆ dhcp_snoop_map_

DhcpSnoopMap InterfaceTable::dhcp_snoop_map_
private

Definition at line 487 of file interface.h.

◆ dhcp_snoop_mutex_

std::mutex InterfaceTable::dhcp_snoop_mutex_
private

Definition at line 486 of file interface.h.

◆ global_config_change_walk_ref_

DBTable::DBTableWalkRef InterfaceTable::global_config_change_walk_ref_
private

Definition at line 481 of file interface.h.

◆ index_table_

IndexVector<Interface *> InterfaceTable::index_table_
private

Definition at line 482 of file interface.h.

◆ interface_table_

InterfaceTable * InterfaceTable::interface_table_
staticprivate

Definition at line 478 of file interface.h.

◆ li_count_

uint32_t InterfaceTable::li_count_
private

Definition at line 494 of file interface.h.

◆ li_ifnode_to_req_

uint32_t InterfaceTable::li_ifnode_to_req_
private

Definition at line 498 of file interface.h.

◆ operdb_

OperDB* InterfaceTable::operdb_
private

Definition at line 479 of file interface.h.

◆ pi_ifnode_to_req_

uint32_t InterfaceTable::pi_ifnode_to_req_
private

Definition at line 499 of file interface.h.

◆ update_floatingip_cb_

UpdateFloatingIpFn InterfaceTable::update_floatingip_cb_
private

Definition at line 488 of file interface.h.

◆ vmi_count_

uint32_t InterfaceTable::vmi_count_
private

Definition at line 493 of file interface.h.

◆ vmi_ifnode_to_req_

uint32_t InterfaceTable::vmi_ifnode_to_req_
private

Definition at line 497 of file interface.h.

◆ vmi_to_physical_device_vn_tree_

VmiToPhysicalDeviceVnTree InterfaceTable::vmi_to_physical_device_vn_tree_
private

Definition at line 491 of file interface.h.

◆ vmi_to_vmitype_map_

VmiToVmiTypeMap InterfaceTable::vmi_to_vmitype_map_
private

Definition at line 489 of file interface.h.


The documentation for this class was generated from the following files: