OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
LogicalInterface Class Reference

#include <logical_interface.h>

Inheritance diagram for LogicalInterface:
Collaboration diagram for LogicalInterface:

Public Types

enum  Type { VLAN }
 
- Public Types inherited from Interface
enum  Type {
  INVALID, PHYSICAL, REMOTE_PHYSICAL, LOGICAL,
  VM_INTERFACE, INET, PACKET
}
 
enum  Trace {
  ADD, DEL, ACTIVATED, DEACTIVATED,
  FLOATING_IP_CHANGE, SERVICE_CHANGE
}
 
enum  MirrorDirection { MIRROR_RX_TX, MIRROR_RX, MIRROR_TX, UNKNOWN }
 
enum  Transport {
  TRANSPORT_INVALID, TRANSPORT_VIRTUAL, TRANSPORT_ETHERNET, TRANSPORT_SOCKET,
  TRANSPORT_PMD
}
 
- Public Types inherited from AgentDBEntry
typedef boost::intrusive_ptr
< AgentDBEntry
AgentDBEntyRef
 
- Public Types inherited from DBEntryBase
typedef DBTableBase::ListenerId ListenerId
 
typedef std::unique_ptr
< DBRequestKey
KeyPtr
 

Public Member Functions

 LogicalInterface (const boost::uuids::uuid &uuid, const std::string &name, const boost::uuids::uuid &logical_router_uuid)
 
virtual ~LogicalInterface ()
 
virtual bool CmpInterface (const DBEntry &rhs) const
 
virtual std::string ToString () const
 
virtual bool Delete (const DBRequest *req)
 
virtual void GetOsParams (Agent *agent)
 
virtual bool OnChange (const InterfaceTable *table, const LogicalInterfaceData *data)
 
const std::string & display_name () const
 
const std::string & phy_dev_display_name () const
 
const std::string & phy_intf_display_name () const
 
Interfacephysical_interface () const
 
VmInterfacevm_interface () const
 
PhysicalDevicephysical_device () const
 
- Public Member Functions inherited from Interface
 Interface (Type type, const boost::uuids::uuid &uuid, const std::string &name, VrfEntry *vrf, bool os_oper_state, const boost::uuids::uuid &logical_router_uuid)
 
virtual ~Interface ()
 
virtual KeyPtr GetDBRequestKey () const =0
 
virtual void SetKey (const DBRequestKey *key)
 
virtual void Add ()
 
virtual void SendTrace (const AgentDBTable *table, Trace event) const
 
void SetPciIndex (Agent *agent, size_t index)
 
bool IsLess (const DBEntry &rhs) const
 
uint32_t vrf_id () const
 
uint32_t GetRefCount () const
 
bool DBEntrySandesh (Sandesh *sresp, std::string &name) const
 
bool IsTunnelEnabled () const
 
Type type () const
 
const boost::uuids::uuidGetUuid () const
 
const std::string & name () const
 
VrfEntryvrf () const
 
bool ipv4_active () const
 
bool ipv6_active () const
 
bool is_hc_active () const
 
bool metadata_ip_active () const
 
bool metadata_l2_active () const
 
bool ip_active (Address::Family family) const
 
bool l2_active () const
 
const uint32_t id () const
 
bool dhcp_enabled () const
 
bool dhcp_enabled_v6 () const
 
bool dns_enabled () const
 
uint32_t label () const
 
uint32_t l2_label () const
 
bool IsL2LabelValid (uint32_t label) const
 
uint32_t os_index () const
 
const MacAddressmac () const
 
bool os_oper_state () const
 
bool admin_state () const
 
void set_test_oper_state (bool val)
 
void set_flow_key_nh (const NextHop *nh)
 
const NextHopflow_key_nh () const
 
Interface::Transport transport () const
 
bool IsUveActive () const
 
const AgentQosConfigqos_config () const
 
void UpdateOperStateOfSubIntf (const InterfaceTable *table)
 
bool NeedDefaultOsOperStateDisabled (Agent *agent) const
 
boost::optional
< InterfaceOsParams::IfGuid
os_guid () const
 
const boost::uuids::uuidlogical_router_uuid () const
 
void set_logical_router_uuid (const boost::uuids::uuid &logical_router_uuid)
 
InterfaceOsParams get_os_params ()
 
- Public Member Functions inherited from AgentOperDBEntry
 AgentOperDBEntry ()
 
virtual ~AgentOperDBEntry ()
 
IFMapNodeifmap_node () const
 
void SetIFMapNodeState (IFMapDependencyManager::IFMapNodePtr sref)
 
- Public Member Functions inherited from AgentDBEntry
 AgentDBEntry ()
 
virtual ~AgentDBEntry ()
 
void SetRefState () const
 
void ClearRefState () const
 
bool IsActive () const
 
DBStateGetAgentDBEntryState (int listener_id)
 
const DBStateGetAgentDBEntryState (int listener_id) const
 
virtual void AllocateResources (ResourceManager *resource_manager)
 
virtual void FreeResources (ResourceManager *resource_manager)
 
virtual void PostAdd ()
 
- Public Member Functions inherited from DBEntry
 DBEntry ()
 
virtual ~DBEntry ()
 
bool operator< (const DBEntry &rhs) const
 
- Public Member Functions inherited from DBEntryBase
 DBEntryBase ()
 
virtual ~DBEntryBase ()
 
virtual bool IsMoreSpecific (const std::string &match) const
 
virtual bool IsLessSpecific (const std::string &match) const
 
void SetState (DBTableBase *tbl_base, ListenerId listener, DBState *state)
 
void ClearState (DBTableBase *tbl_base, ListenerId listener)
 
DBStateGetState (DBTableBase *tbl_base, ListenerId listener) const
 
const DBStateGetState (const DBTableBase *tbl_base, ListenerId listener) const
 
bool is_state_empty (DBTablePartBase *tpart)
 
bool is_state_empty_unlocked (DBTablePartBase *tpart)
 
void Delete ()
 
void MarkDelete ()
 
void ClearDelete ()
 
bool IsDeleted () const
 
void set_onlist ()
 
void clear_onlist ()
 
bool is_onlist ()
 
void SetOnRemoveQ ()
 
bool IsOnRemoveQ ()
 
void ClearOnRemoveQ ()
 
void set_last_change_at (uint64_t time)
 
void set_last_change_at_to_now ()
 
const uint64_t last_change_at () const
 
const std::string last_change_at_str () const
 
void set_last_update_at (uint64_t time)
 
void set_last_update_at_to_now ()
 
const uint64_t last_update_at () const
 
DBTablePartBaseget_table_partition () const
 
void set_table_partition (DBTablePartBase *tpart)
 
DBTableBaseget_table () const
 
void Notify ()
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (LogicalInterface)
 

Private Attributes

std::string display_name_
 
InterfaceRef physical_interface_
 
InterfaceRef vm_interface_
 
boost::uuids::uuid vm_uuid_
 
PhysicalDeviceRef physical_device_
 
std::string phy_dev_display_name_
 
std::string phy_intf_display_name_
 
boost::uuids::uuid vn_uuid_
 

Friends

class InterfaceTable
 

Additional Inherited Members

- Public Attributes inherited from DBEntryBase
boost::intrusive::list_member_hook chg_list_
 
- Static Public Attributes inherited from Interface
static const uint32_t kInvalidIndex = 0xFFFFFFFF
 
- Protected Member Functions inherited from Interface
void SetItfSandeshData (ItfSandeshData &data) const
 
virtual void ObtainOsSpecificParams (const std::string &name, Agent *agent)
 
- Protected Attributes inherited from Interface
Type type_
 
boost::uuids::uuid uuid_
 
VrfEntryRef vrf_
 
uint32_t label_
 
uint32_t l2_label_
 
bool ipv4_active_
 
bool ipv6_active_
 
bool is_hc_active_
 
bool metadata_ip_active_
 
bool metadata_l2_active_
 
bool l2_active_
 
size_t id_
 
bool dhcp_enabled_
 
bool dhcp_enabled_v6_
 
bool dns_enabled_
 
bool admin_state_
 
bool test_oper_state_
 
NextHopConstRef flow_key_nh_
 
Transport transport_
 
AgentQosConfigConstRef qos_config_
 
struct InterfaceOsParams os_params_
 
boost::uuids::uuid logical_router_uuid_
 

Detailed Description

Definition at line 19 of file logical_interface.h.

Member Enumeration Documentation

Enumerator
VLAN 

Definition at line 21 of file logical_interface.h.

Constructor & Destructor Documentation

LogicalInterface::LogicalInterface ( const boost::uuids::uuid uuid,
const std::string &  name,
const boost::uuids::uuid logical_router_uuid 
)
explicit

Definition at line 30 of file logical_interface.cc.

LogicalInterface::~LogicalInterface ( )
virtual

Definition at line 43 of file logical_interface.cc.

Member Function Documentation

bool LogicalInterface::CmpInterface ( const DBEntry rhs) const
virtual

Implements Interface.

Definition at line 54 of file logical_interface.cc.

bool LogicalInterface::Delete ( const DBRequest req)
virtual

Reimplemented from Interface.

Definition at line 130 of file logical_interface.cc.

LogicalInterface::DISALLOW_COPY_AND_ASSIGN ( LogicalInterface  )
private
const std::string& LogicalInterface::display_name ( ) const
inline

Definition at line 37 of file logical_interface.h.

void LogicalInterface::GetOsParams ( Agent agent)
virtual

Reimplemented from Interface.

Definition at line 134 of file logical_interface.cc.

Here is the call graph for this function:

bool LogicalInterface::OnChange ( const InterfaceTable table,
const LogicalInterfaceData data 
)
virtual

Definition at line 59 of file logical_interface.cc.

Here is the call graph for this function:

const std::string& LogicalInterface::phy_dev_display_name ( ) const
inline

Definition at line 38 of file logical_interface.h.

const std::string& LogicalInterface::phy_intf_display_name ( ) const
inline

Definition at line 39 of file logical_interface.h.

PhysicalDevice * LogicalInterface::physical_device ( ) const

Definition at line 46 of file logical_interface.cc.

Interface * LogicalInterface::physical_interface ( ) const

Definition at line 144 of file logical_interface.cc.

string LogicalInterface::ToString ( ) const
virtual

Implements DBEntryBase.

Definition at line 50 of file logical_interface.cc.

Here is the call graph for this function:

VmInterface * LogicalInterface::vm_interface ( ) const

Definition at line 140 of file logical_interface.cc.

Friends And Related Function Documentation

friend class InterfaceTable
friend

Definition at line 45 of file logical_interface.h.

Member Data Documentation

std::string LogicalInterface::display_name_
private

Definition at line 46 of file logical_interface.h.

std::string LogicalInterface::phy_dev_display_name_
private

Definition at line 51 of file logical_interface.h.

std::string LogicalInterface::phy_intf_display_name_
private

Definition at line 52 of file logical_interface.h.

PhysicalDeviceRef LogicalInterface::physical_device_
private

Definition at line 50 of file logical_interface.h.

InterfaceRef LogicalInterface::physical_interface_
private

Definition at line 47 of file logical_interface.h.

InterfaceRef LogicalInterface::vm_interface_
private

Definition at line 48 of file logical_interface.h.

boost::uuids::uuid LogicalInterface::vm_uuid_
private

Definition at line 49 of file logical_interface.h.

boost::uuids::uuid LogicalInterface::vn_uuid_
private

Definition at line 53 of file logical_interface.h.


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