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

#include <arp_entry.h>

Collaboration diagram for ArpEntry:

Public Types

enum  State { INITING = 0x01, RESOLVING = 0x02, ACTIVE = 0x04, RERESOLVING = 0x08 }
 

Public Member Functions

 ArpEntry (boost::asio::io_context &io, ArpHandler *handler, ArpKey &key, const VrfEntry *vrf, State state, const Interface *itf)
 
virtual ~ArpEntry ()
 
const ArpKeykey () const
 
State state () const
 
const MacAddressmac_address () const
 
const Interfaceget_interface () const
 
bool HandleArpRequest ()
 
void HandleArpReply (const MacAddress &)
 
bool RetryExpiry ()
 
bool AgingExpiry ()
 
void SendGratuitousArp ()
 
bool DeleteArpRoute ()
 
bool IsResolved ()
 
void Resync (bool policy, const VnListType &vnlist, const SecurityGroupList &sg, const TagList &tag)
 
int retry_count () const
 
void SetState (State state)
 

Private Member Functions

void StartTimer (uint32_t timeout, uint32_t mtype)
 
void SendArpRequest ()
 
void AddArpRoute (bool resolved)
 
void HandleDerivedArpRequest ()
 
bool IsDerived ()
 
 DISALLOW_COPY_AND_ASSIGN (ArpEntry)
 

Private Attributes

boost::asio::io_context & io_
 
ArpKey key_
 
const VrfEntrynh_vrf_
 
MacAddress mac_address_
 
State state_
 
int retry_count_
 
boost::intrusive_ptr< ArpHandlerhandler_
 
Timerarp_timer_
 
InterfaceConstRef interface_
 

Detailed Description

Definition at line 22 of file arp_entry.h.

Member Enumeration Documentation

Enumerator
INITING 
RESOLVING 
ACTIVE 
RERESOLVING 

Definition at line 24 of file arp_entry.h.

Constructor & Destructor Documentation

ArpEntry::ArpEntry ( boost::asio::io_context &  io,
ArpHandler handler,
ArpKey key,
const VrfEntry vrf,
State  state,
const Interface itf 
)

Definition at line 11 of file arp_entry.cc.

Here is the call graph for this function:

ArpEntry::~ArpEntry ( )
virtual

Definition at line 23 of file arp_entry.cc.

Here is the call graph for this function:

Member Function Documentation

void ArpEntry::AddArpRoute ( bool  resolved)
private

Definition at line 239 of file arp_entry.cc.

Here is the call graph for this function:

bool ArpEntry::AgingExpiry ( )

Definition at line 122 of file arp_entry.cc.

Here is the call graph for this function:

bool ArpEntry::DeleteArpRoute ( )

Definition at line 312 of file arp_entry.cc.

Here is the call graph for this function:

ArpEntry::DISALLOW_COPY_AND_ASSIGN ( ArpEntry  )
private
const Interface* ArpEntry::get_interface ( ) const
inline

Definition at line 39 of file arp_entry.h.

void ArpEntry::HandleArpReply ( const MacAddress mac)

Definition at line 68 of file arp_entry.cc.

Here is the call graph for this function:

bool ArpEntry::HandleArpRequest ( )

Definition at line 51 of file arp_entry.cc.

Here is the call graph for this function:

void ArpEntry::HandleDerivedArpRequest ( )
private

Definition at line 31 of file arp_entry.cc.

Here is the call graph for this function:

bool ArpEntry::IsDerived ( )
private

Definition at line 182 of file arp_entry.cc.

bool ArpEntry::IsResolved ( )

Definition at line 178 of file arp_entry.cc.

const ArpKey& ArpEntry::key ( ) const
inline

Definition at line 36 of file arp_entry.h.

const MacAddress& ArpEntry::mac_address ( ) const
inline

Definition at line 38 of file arp_entry.h.

void ArpEntry::Resync ( bool  policy,
const VnListType vnlist,
const SecurityGroupList sg,
const TagList tag 
)

Definition at line 341 of file arp_entry.cc.

Here is the call graph for this function:

int ArpEntry::retry_count ( ) const
inline

Definition at line 51 of file arp_entry.h.

bool ArpEntry::RetryExpiry ( )

Definition at line 90 of file arp_entry.cc.

Here is the call graph for this function:

void ArpEntry::SendArpRequest ( )
private

Definition at line 196 of file arp_entry.cc.

Here is the call graph for this function:

void ArpEntry::SendGratuitousArp ( )

Definition at line 137 of file arp_entry.cc.

Here is the call graph for this function:

void ArpEntry::SetState ( State  state)
inline

Definition at line 52 of file arp_entry.h.

Here is the call graph for this function:

void ArpEntry::StartTimer ( uint32_t  timeout,
uint32_t  mtype 
)
private

Definition at line 189 of file arp_entry.cc.

Here is the call graph for this function:

State ArpEntry::state ( ) const
inline

Definition at line 37 of file arp_entry.h.

Member Data Documentation

Timer* ArpEntry::arp_timer_
private

Definition at line 67 of file arp_entry.h.

boost::intrusive_ptr<ArpHandler> ArpEntry::handler_
private

Definition at line 66 of file arp_entry.h.

InterfaceConstRef ArpEntry::interface_
private

Definition at line 68 of file arp_entry.h.

boost::asio::io_context& ArpEntry::io_
private

Definition at line 60 of file arp_entry.h.

ArpKey ArpEntry::key_
private

Definition at line 61 of file arp_entry.h.

MacAddress ArpEntry::mac_address_
private

Definition at line 63 of file arp_entry.h.

const VrfEntry* ArpEntry::nh_vrf_
private

Definition at line 62 of file arp_entry.h.

int ArpEntry::retry_count_
private

Definition at line 65 of file arp_entry.h.

State ArpEntry::state_
private

Definition at line 64 of file arp_entry.h.


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