OpenSDN source code
InterfaceKSyncEntry Class Reference

#include <interface_ksync.h>

Inheritance diagram for InterfaceKSyncEntry:
Collaboration diagram for InterfaceKSyncEntry:

Public Member Functions

 InterfaceKSyncEntry (InterfaceKSyncObject *obj, const InterfaceKSyncEntry *entry, uint32_t index)
 
 InterfaceKSyncEntry (InterfaceKSyncObject *obj, const Interface *intf)
 
virtual ~InterfaceKSyncEntry ()
 
const MacAddressmac () const
 
const MacAddresssmac () const
 
uint32_t interface_id () const
 
const string & interface_name () const
 
bool has_service_vlan () const
 
bool no_arp () const
 
PhysicalInterface::EncapType encap_type () const
 
KSyncDBObjectGetObject () const
 
virtual bool Sync (DBEntry *e)
 
virtual bool IsLess (const KSyncEntry &rhs) const
 
virtual std::string ToString () const
 
virtual int AddMsg (char *buf, int buf_len)
 
virtual int ChangeMsg (char *buf, int buf_len)
 
virtual int DeleteMsg (char *buf, int buf_len)
 
virtual KSyncEntryUnresolvedReference ()
 
void FillObjectLog (sandesh_op::type op, KSyncIntfInfo &info) const
 
bool drop_new_flows () const
 
bool dhcp_enable () const
 
bool dhcp_enable_v6 () const
 
bool layer3_forwarding () const
 
bool bridging () const
 
bool pbb_interface () const
 
const MacAddresspbb_mac () const
 
int MsgLen ()
 
bool KSyncEntrySandesh (Sandesh *resp)
 
- Public Member Functions inherited from KSyncNetlinkDBEntry
 KSyncNetlinkDBEntry ()
 
 KSyncNetlinkDBEntry (uint32_t index)
 
virtual ~KSyncNetlinkDBEntry ()
 
bool Add ()
 
bool Change ()
 
bool Delete ()
 
- Public Member Functions inherited from KSyncDBEntry
 KSyncDBEntry ()
 
 KSyncDBEntry (uint32_t index)
 
virtual ~KSyncDBEntry ()
 
void SetDBEntry (DBEntry *db_entry)
 
DBEntryGetDBEntry ()
 
- Public Member Functions inherited from KSyncEntry
std::string StateString () const
 
std::string AckOperationString (KSyncEvent ack_event) const
 
std::string EventString (KSyncEvent event) const
 
 KSyncEntry ()
 
 KSyncEntry (uint32_t index)
 
virtual ~KSyncEntry ()
 
void Reset ()
 
void Reset (uint32_t index)
 
bool operator< (const KSyncEntry &rhs) const
 
virtual bool ShouldReEvalBackReference () const
 
bool IsResolved ()
 
bool IsInSync () const
 
virtual bool IsDataResolved ()
 
virtual void Response ()
 
virtual bool AllowDeleteStateComp ()
 
virtual void ErrorHandler (int err, uint32_t seqno, KSyncEvent event) const
 
virtual std::string VrouterError (uint32_t error) const
 
virtual bool pre_alloc_rx_buffer () const
 
virtual uint32_t GetTableIndex () const
 
virtual void StaleTimerExpired ()
 
size_t GetIndex () const
 
KSyncState GetState () const
 
bool del_add_pending () const
 
uint32_t GetRefCount () const
 
bool Seen () const
 
bool stale () const
 
void SetSeen ()
 
bool IsDeleted ()
 
bool IsActive ()
 
void set_del_add_pending (bool pending)
 
void RecordTransition (KSyncState from, KSyncState to, KSyncEvent event)
 
- Public Member Functions inherited from DBState
virtual ~DBState ()
 

Static Public Attributes

static const int kDefaultInterfaceMsgSize = KSYNC_DEFAULT_MSG_SIZE
 
- Static Public Attributes inherited from KSyncEntry
static const size_t kInvalidIndex = 0xFFFFFFFF
 
static const int kDefaultMsgSize = 512
 

Private Member Functions

int Encode (sandesh_op::type op, char *buf, int buf_len)
 
void SetKsyncItfSandeshData (KSyncItfSandeshData *data) const
 
 DISALLOW_COPY_AND_ASSIGN (InterfaceKSyncEntry)
 

Private Attributes

string analyzer_name_
 
bool drop_new_flows_
 
bool dhcp_enable_
 
bool dhcp_enable_v6_
 
uint32_t fd_
 
uint32_t flow_key_nh_id_
 
bool has_service_vlan_
 
uint32_t interface_id_
 
string interface_name_
 
uint32_t ip_
 
Ip6Address primary_ip6_
 
bool hc_active_
 
bool ipv4_active_
 
bool layer3_forwarding_
 
InterfaceKSyncObjectksync_obj_
 
bool l2_active_
 
bool metadata_l2_active_
 
bool metadata_ip_active_
 
bool bridging_
 
VmInterface::ProxyArpMode proxy_arp_mode_
 
MacAddress mac_
 
MacAddress smac_
 
Interface::MirrorDirection mirror_direction_
 
int network_id_
 
size_t os_index_
 
KSyncEntryPtr parent_
 
bool policy_enabled_
 
InetInterface::SubType sub_type_
 
VmInterface::DeviceType vmi_device_type_
 
VmInterface::VmiType vmi_type_
 
VmInterface::HbsIntfType hbs_intf_type_
 
Interface::Type type_
 
uint16_t rx_vlan_id_
 
uint16_t tx_vlan_id_
 
uint32_t vrf_id_
 
uint32_t multicast_vrf_id_
 
bool persistent_
 
PhysicalInterface::SubType subtype_
 
KSyncEntryPtr xconnect_
 
bool no_arp_
 
PhysicalInterface::EncapType encap_type_
 
std::string display_name_
 
Interface::Transport transport_
 
bool flood_unknown_unicast_
 
VmInterface::FatFlowList fat_flow_list_
 
VmInterface::FatFlowExcludeList fat_flow_exclude_list_
 
std::set< MacAddressaap_mac_list_
 
KSyncEntryPtr qos_config_
 
bool learning_enabled_
 
uint32_t isid_
 
uint32_t pbb_cmac_vrf_
 
MacAddress pbb_mac_
 
bool etree_leaf_
 
bool pbb_interface_
 
uint8_t vhostuser_mode_
 
bool igmp_enable_
 
bool mac_ip_learning_enable_
 
boost::optional< InterfaceOsParams::IfGuidos_guid_
 
std::vector< KSyncEntryPtrxconnect_list_
 

Friends

class InterfaceKSyncObject
 

Additional Inherited Members

- Public Types inherited from KSyncDBEntry
typedef std::list< DBEntry * > DupEntryList
 
- Public Types inherited from KSyncEntry
enum  KSyncState {
  INIT , TEMP , ADD_DEFER , CHANGE_DEFER ,
  IN_SYNC , SYNC_WAIT , NEED_SYNC , DEL_DEFER_SYNC ,
  DEL_DEFER_REF , DEL_DEFER_DEL_ACK , DEL_ACK_WAIT , RENEW_WAIT ,
  FREE_WAIT
}
 
enum  KSyncEvent {
  ADD_CHANGE_REQ , ADD_ACK , CHANGE_ACK , DEL_REQ ,
  DEL_ADD_REQ , DEL_ACK , RE_EVAL , INT_PTR_REL ,
  INVALID
}
 
typedef boost::intrusive_ptr< KSyncEntryKSyncEntryPtr
 
- Static Public Member Functions inherited from KSyncEntry
static std::string VrouterErrorToString (uint32_t error)
 
- Protected Member Functions inherited from KSyncEntry
void SetIndex (size_t index)
 
void SetState (KSyncState state)
 

Detailed Description

Definition at line 36 of file interface_ksync.h.

Constructor & Destructor Documentation

◆ InterfaceKSyncEntry() [1/2]

InterfaceKSyncEntry::InterfaceKSyncEntry ( InterfaceKSyncObject obj,
const InterfaceKSyncEntry entry,
uint32_t  index 
)

Definition at line 45 of file interface_ksync.cc.

◆ InterfaceKSyncEntry() [2/2]

InterfaceKSyncEntry::InterfaceKSyncEntry ( InterfaceKSyncObject obj,
const Interface intf 
)

Definition at line 101 of file interface_ksync.cc.

Here is the call graph for this function:

◆ ~InterfaceKSyncEntry()

InterfaceKSyncEntry::~InterfaceKSyncEntry ( )
virtual

Definition at line 206 of file interface_ksync.cc.

Member Function Documentation

◆ AddMsg()

int InterfaceKSyncEntry::AddMsg ( char *  buf,
int  buf_len 
)
virtual

Implements KSyncNetlinkDBEntry.

Definition at line 1175 of file interface_ksync.cc.

Here is the call graph for this function:

◆ bridging()

bool InterfaceKSyncEntry::bridging ( ) const
inline

Definition at line 75 of file interface_ksync.h.

◆ ChangeMsg()

int InterfaceKSyncEntry::ChangeMsg ( char *  buf,
int  buf_len 
)
virtual

Implements KSyncNetlinkDBEntry.

Definition at line 1190 of file interface_ksync.cc.

Here is the call graph for this function:

◆ DeleteMsg()

int InterfaceKSyncEntry::DeleteMsg ( char *  buf,
int  buf_len 
)
virtual

Implements KSyncNetlinkDBEntry.

Definition at line 1183 of file interface_ksync.cc.

Here is the call graph for this function:

◆ dhcp_enable()

bool InterfaceKSyncEntry::dhcp_enable ( ) const
inline

Definition at line 72 of file interface_ksync.h.

◆ dhcp_enable_v6()

bool InterfaceKSyncEntry::dhcp_enable_v6 ( ) const
inline

Definition at line 73 of file interface_ksync.h.

◆ DISALLOW_COPY_AND_ASSIGN()

InterfaceKSyncEntry::DISALLOW_COPY_AND_ASSIGN ( InterfaceKSyncEntry  )
private

◆ drop_new_flows()

bool InterfaceKSyncEntry::drop_new_flows ( ) const
inline

Definition at line 71 of file interface_ksync.h.

◆ encap_type()

PhysicalInterface::EncapType InterfaceKSyncEntry::encap_type ( ) const
inline

Definition at line 60 of file interface_ksync.h.

◆ Encode()

int InterfaceKSyncEntry::Encode ( sandesh_op::type  op,
char *  buf,
int  buf_len 
)
private

Definition at line 687 of file interface_ksync.cc.

Here is the call graph for this function:

◆ FillObjectLog()

void InterfaceKSyncEntry::FillObjectLog ( sandesh_op::type  op,
KSyncIntfInfo &  info 
) const

Definition at line 1132 of file interface_ksync.cc.

◆ GetObject()

KSyncDBObject * InterfaceKSyncEntry::GetObject ( ) const
virtual

Implements KSyncEntry.

Definition at line 209 of file interface_ksync.cc.

◆ has_service_vlan()

bool InterfaceKSyncEntry::has_service_vlan ( ) const
inline

Definition at line 58 of file interface_ksync.h.

◆ interface_id()

uint32_t InterfaceKSyncEntry::interface_id ( ) const
inline

Definition at line 56 of file interface_ksync.h.

◆ interface_name()

const string& InterfaceKSyncEntry::interface_name ( ) const
inline

Definition at line 57 of file interface_ksync.h.

◆ IsLess()

bool InterfaceKSyncEntry::IsLess ( const KSyncEntry rhs) const
virtual

Implements KSyncEntry.

Definition at line 213 of file interface_ksync.cc.

◆ KSyncEntrySandesh()

bool InterfaceKSyncEntry::KSyncEntrySandesh ( Sandesh resp)

Definition at line 1426 of file interface_ksync.cc.

Here is the call graph for this function:

◆ layer3_forwarding()

bool InterfaceKSyncEntry::layer3_forwarding ( ) const
inline

Definition at line 74 of file interface_ksync.h.

◆ mac()

const MacAddress& InterfaceKSyncEntry::mac ( void  ) const
inline

Definition at line 45 of file interface_ksync.h.

Here is the call graph for this function:

◆ MsgLen()

int InterfaceKSyncEntry::MsgLen ( )
inlinevirtual

Reimplemented from KSyncNetlinkDBEntry.

Definition at line 79 of file interface_ksync.h.

◆ no_arp()

bool InterfaceKSyncEntry::no_arp ( ) const
inline

Definition at line 59 of file interface_ksync.h.

◆ pbb_interface()

bool InterfaceKSyncEntry::pbb_interface ( ) const
inline

Definition at line 76 of file interface_ksync.h.

◆ pbb_mac()

const MacAddress& InterfaceKSyncEntry::pbb_mac ( ) const
inline

Definition at line 77 of file interface_ksync.h.

◆ SetKsyncItfSandeshData()

void InterfaceKSyncEntry::SetKsyncItfSandeshData ( KSyncItfSandeshData *  data) const
private

Definition at line 1284 of file interface_ksync.cc.

Here is the call graph for this function:

◆ smac()

const MacAddress& InterfaceKSyncEntry::smac ( ) const
inline

Definition at line 54 of file interface_ksync.h.

◆ Sync()

bool InterfaceKSyncEntry::Sync ( DBEntry e)
virtual

Implements KSyncDBEntry.

Definition at line 234 of file interface_ksync.cc.

◆ ToString()

std::string InterfaceKSyncEntry::ToString ( ) const
virtual

Implements KSyncEntry.

Definition at line 223 of file interface_ksync.cc.

Here is the call graph for this function:

◆ UnresolvedReference()

KSyncEntry * InterfaceKSyncEntry::UnresolvedReference ( )
virtual

Implements KSyncEntry.

Definition at line 632 of file interface_ksync.cc.

Here is the call graph for this function:

Friends And Related Function Documentation

◆ InterfaceKSyncObject

friend class InterfaceKSyncObject
friend

Definition at line 83 of file interface_ksync.h.

Member Data Documentation

◆ aap_mac_list_

std::set<MacAddress> InterfaceKSyncEntry::aap_mac_list_
private

Definition at line 133 of file interface_ksync.h.

◆ analyzer_name_

string InterfaceKSyncEntry::analyzer_name_
private

Definition at line 87 of file interface_ksync.h.

◆ bridging_

bool InterfaceKSyncEntry::bridging_
private

Definition at line 105 of file interface_ksync.h.

◆ dhcp_enable_

bool InterfaceKSyncEntry::dhcp_enable_
private

Definition at line 89 of file interface_ksync.h.

◆ dhcp_enable_v6_

bool InterfaceKSyncEntry::dhcp_enable_v6_
private

Definition at line 90 of file interface_ksync.h.

◆ display_name_

std::string InterfaceKSyncEntry::display_name_
private

Definition at line 128 of file interface_ksync.h.

◆ drop_new_flows_

bool InterfaceKSyncEntry::drop_new_flows_
private

Definition at line 88 of file interface_ksync.h.

◆ encap_type_

PhysicalInterface::EncapType InterfaceKSyncEntry::encap_type_
private

Definition at line 127 of file interface_ksync.h.

◆ etree_leaf_

bool InterfaceKSyncEntry::etree_leaf_
private

Definition at line 139 of file interface_ksync.h.

◆ fat_flow_exclude_list_

VmInterface::FatFlowExcludeList InterfaceKSyncEntry::fat_flow_exclude_list_
private

Definition at line 132 of file interface_ksync.h.

◆ fat_flow_list_

VmInterface::FatFlowList InterfaceKSyncEntry::fat_flow_list_
private

Definition at line 131 of file interface_ksync.h.

◆ fd_

uint32_t InterfaceKSyncEntry::fd_
private

Definition at line 91 of file interface_ksync.h.

◆ flood_unknown_unicast_

bool InterfaceKSyncEntry::flood_unknown_unicast_
private

Definition at line 130 of file interface_ksync.h.

◆ flow_key_nh_id_

uint32_t InterfaceKSyncEntry::flow_key_nh_id_
private

Definition at line 92 of file interface_ksync.h.

◆ has_service_vlan_

bool InterfaceKSyncEntry::has_service_vlan_
private

Definition at line 93 of file interface_ksync.h.

◆ hbs_intf_type_

VmInterface::HbsIntfType InterfaceKSyncEntry::hbs_intf_type_
private

Definition at line 117 of file interface_ksync.h.

◆ hc_active_

bool InterfaceKSyncEntry::hc_active_
private

Definition at line 98 of file interface_ksync.h.

◆ igmp_enable_

bool InterfaceKSyncEntry::igmp_enable_
private

Definition at line 142 of file interface_ksync.h.

◆ interface_id_

uint32_t InterfaceKSyncEntry::interface_id_
private

Definition at line 94 of file interface_ksync.h.

◆ interface_name_

string InterfaceKSyncEntry::interface_name_
private

Definition at line 95 of file interface_ksync.h.

◆ ip_

uint32_t InterfaceKSyncEntry::ip_
private

Definition at line 96 of file interface_ksync.h.

◆ ipv4_active_

bool InterfaceKSyncEntry::ipv4_active_
private

Definition at line 99 of file interface_ksync.h.

◆ isid_

uint32_t InterfaceKSyncEntry::isid_
private

Definition at line 136 of file interface_ksync.h.

◆ kDefaultInterfaceMsgSize

const int InterfaceKSyncEntry::kDefaultInterfaceMsgSize = KSYNC_DEFAULT_MSG_SIZE
static

Definition at line 38 of file interface_ksync.h.

◆ ksync_obj_

InterfaceKSyncObject* InterfaceKSyncEntry::ksync_obj_
private

Definition at line 101 of file interface_ksync.h.

◆ l2_active_

bool InterfaceKSyncEntry::l2_active_
private

Definition at line 102 of file interface_ksync.h.

◆ layer3_forwarding_

bool InterfaceKSyncEntry::layer3_forwarding_
private

Definition at line 100 of file interface_ksync.h.

◆ learning_enabled_

bool InterfaceKSyncEntry::learning_enabled_
private

Definition at line 135 of file interface_ksync.h.

◆ mac_

MacAddress InterfaceKSyncEntry::mac_
private

Definition at line 107 of file interface_ksync.h.

◆ mac_ip_learning_enable_

bool InterfaceKSyncEntry::mac_ip_learning_enable_
private

Definition at line 143 of file interface_ksync.h.

◆ metadata_ip_active_

bool InterfaceKSyncEntry::metadata_ip_active_
private

Definition at line 104 of file interface_ksync.h.

◆ metadata_l2_active_

bool InterfaceKSyncEntry::metadata_l2_active_
private

Definition at line 103 of file interface_ksync.h.

◆ mirror_direction_

Interface::MirrorDirection InterfaceKSyncEntry::mirror_direction_
private

Definition at line 109 of file interface_ksync.h.

◆ multicast_vrf_id_

uint32_t InterfaceKSyncEntry::multicast_vrf_id_
private

Definition at line 122 of file interface_ksync.h.

◆ network_id_

int InterfaceKSyncEntry::network_id_
private

Definition at line 110 of file interface_ksync.h.

◆ no_arp_

bool InterfaceKSyncEntry::no_arp_
private

Definition at line 126 of file interface_ksync.h.

◆ os_guid_

boost::optional<InterfaceOsParams::IfGuid> InterfaceKSyncEntry::os_guid_
private

Definition at line 144 of file interface_ksync.h.

◆ os_index_

size_t InterfaceKSyncEntry::os_index_
private

Definition at line 111 of file interface_ksync.h.

◆ parent_

KSyncEntryPtr InterfaceKSyncEntry::parent_
private

Definition at line 112 of file interface_ksync.h.

◆ pbb_cmac_vrf_

uint32_t InterfaceKSyncEntry::pbb_cmac_vrf_
private

Definition at line 137 of file interface_ksync.h.

◆ pbb_interface_

bool InterfaceKSyncEntry::pbb_interface_
private

Definition at line 140 of file interface_ksync.h.

◆ pbb_mac_

MacAddress InterfaceKSyncEntry::pbb_mac_
private

Definition at line 138 of file interface_ksync.h.

◆ persistent_

bool InterfaceKSyncEntry::persistent_
private

Definition at line 123 of file interface_ksync.h.

◆ policy_enabled_

bool InterfaceKSyncEntry::policy_enabled_
private

Definition at line 113 of file interface_ksync.h.

◆ primary_ip6_

Ip6Address InterfaceKSyncEntry::primary_ip6_
private

Definition at line 97 of file interface_ksync.h.

◆ proxy_arp_mode_

VmInterface::ProxyArpMode InterfaceKSyncEntry::proxy_arp_mode_
private

Definition at line 106 of file interface_ksync.h.

◆ qos_config_

KSyncEntryPtr InterfaceKSyncEntry::qos_config_
private

Definition at line 134 of file interface_ksync.h.

◆ rx_vlan_id_

uint16_t InterfaceKSyncEntry::rx_vlan_id_
private

Definition at line 119 of file interface_ksync.h.

◆ smac_

MacAddress InterfaceKSyncEntry::smac_
private

Definition at line 108 of file interface_ksync.h.

◆ sub_type_

InetInterface::SubType InterfaceKSyncEntry::sub_type_
private

Definition at line 114 of file interface_ksync.h.

◆ subtype_

PhysicalInterface::SubType InterfaceKSyncEntry::subtype_
private

Definition at line 124 of file interface_ksync.h.

◆ transport_

Interface::Transport InterfaceKSyncEntry::transport_
private

Definition at line 129 of file interface_ksync.h.

◆ tx_vlan_id_

uint16_t InterfaceKSyncEntry::tx_vlan_id_
private

Definition at line 120 of file interface_ksync.h.

◆ type_

Interface::Type InterfaceKSyncEntry::type_
private

Definition at line 118 of file interface_ksync.h.

◆ vhostuser_mode_

uint8_t InterfaceKSyncEntry::vhostuser_mode_
private

Definition at line 141 of file interface_ksync.h.

◆ vmi_device_type_

VmInterface::DeviceType InterfaceKSyncEntry::vmi_device_type_
private

Definition at line 115 of file interface_ksync.h.

◆ vmi_type_

VmInterface::VmiType InterfaceKSyncEntry::vmi_type_
private

Definition at line 116 of file interface_ksync.h.

◆ vrf_id_

uint32_t InterfaceKSyncEntry::vrf_id_
private

Definition at line 121 of file interface_ksync.h.

◆ xconnect_

KSyncEntryPtr InterfaceKSyncEntry::xconnect_
private

Definition at line 125 of file interface_ksync.h.

◆ xconnect_list_

std::vector<KSyncEntryPtr> InterfaceKSyncEntry::xconnect_list_
private

Definition at line 145 of file interface_ksync.h.


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