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

#include <arp_proto.h>

Collaboration diagram for ArpPathPreferenceState:

Public Types

typedef std::map< uint32_t,
InterfaceArpPathPreferenceInfo
WaitForTrafficIntfMap
 
typedef std::pair< uint32_t,
InterfaceArpPathPreferenceInfo
WaitForTrafficIntfPair
 
typedef std::set< uint32_t > ArpTransmittedIntfMap
 

Public Member Functions

 ArpPathPreferenceState (ArpVrfState *state, uint32_t vrf_id, const IpAddress &vm_ip, uint8_t plen)
 
 ~ArpPathPreferenceState ()
 
bool SendArpRequest ()
 
bool SendArpRequest (WaitForTrafficIntfMap &wait_for_traffic_map, ArpTransmittedIntfMap &arp_transmitted_intf_map)
 
void SendArpRequestForAllIntf (const AgentRoute *route)
 
void StartTimer ()
 
ArpVrfStatevrf_state ()
 
const IpAddressip () const
 
uint8_t plen () const
 
void set_mac (MacAddress mac)
 
MacAddress mac (void) const
 
uint32_t vrf_id () const
 
void HandleArpReply (Ip4Address sip, uint32_t itf)
 
bool IntfPresentInIpMap (uint32_t id)
 
bool IntfPresentInEvpnMap (uint32_t id)
 
uint32_t IntfRetryCountInIpMap (uint32_t id)
 
uint32_t IntfRetryCountInEvpnMap (uint32_t id)
 

Static Public Attributes

static const uint32_t kMaxRetry = 30 * 5
 
static const uint32_t kTimeout = 2000
 
static const uint32_t kArpTryCount = 9
 

Private Member Functions

uint32_t GetRetryCount (uint32_t id, WaitForTrafficIntfMap &imap)
 

Private Attributes

ArpVrfStatevrf_state_
 
Timerarp_req_timer_
 
uint32_t vrf_id_
 
IpAddress vm_ip_
 
uint8_t plen_
 
MacAddress mac_
 
WaitForTrafficIntfMap l3_wait_for_traffic_map_
 
WaitForTrafficIntfMap evpn_wait_for_traffic_map_
 
tbb::atomic< int > refcount_
 

Friends

void intrusive_ptr_add_ref (ArpPathPreferenceState *aps)
 
void intrusive_ptr_release (ArpPathPreferenceState *aps)
 

Detailed Description

Definition at line 245 of file arp_proto.h.

Member Typedef Documentation

Definition at line 255 of file arp_proto.h.

Definition at line 252 of file arp_proto.h.

Definition at line 254 of file arp_proto.h.

Constructor & Destructor Documentation

ArpPathPreferenceState::ArpPathPreferenceState ( ArpVrfState state,
uint32_t  vrf_id,
const IpAddress vm_ip,
uint8_t  plen 
)

Definition at line 129 of file arp_proto.cc.

ArpPathPreferenceState::~ArpPathPreferenceState ( )

Definition at line 138 of file arp_proto.cc.

Here is the call graph for this function:

Member Function Documentation

uint32_t ArpPathPreferenceState::GetRetryCount ( uint32_t  id,
WaitForTrafficIntfMap imap 
)
inlineprivate

Definition at line 304 of file arp_proto.h.

void ArpPathPreferenceState::HandleArpReply ( Ip4Address  sip,
uint32_t  itf 
)

Definition at line 935 of file arp_proto.cc.

bool ArpPathPreferenceState::IntfPresentInEvpnMap ( uint32_t  id)
inline

Definition at line 287 of file arp_proto.h.

bool ArpPathPreferenceState::IntfPresentInIpMap ( uint32_t  id)
inline

Definition at line 279 of file arp_proto.h.

uint32_t ArpPathPreferenceState::IntfRetryCountInEvpnMap ( uint32_t  id)
inline

Definition at line 299 of file arp_proto.h.

Here is the call graph for this function:

uint32_t ArpPathPreferenceState::IntfRetryCountInIpMap ( uint32_t  id)
inline

Definition at line 295 of file arp_proto.h.

Here is the call graph for this function:

const IpAddress& ArpPathPreferenceState::ip ( ) const
inline

Definition at line 271 of file arp_proto.h.

MacAddress ArpPathPreferenceState::mac ( void  ) const
inline

Definition at line 274 of file arp_proto.h.

uint8_t ArpPathPreferenceState::plen ( ) const
inline

Definition at line 272 of file arp_proto.h.

bool ArpPathPreferenceState::SendArpRequest ( )

Definition at line 233 of file arp_proto.cc.

bool ArpPathPreferenceState::SendArpRequest ( WaitForTrafficIntfMap wait_for_traffic_map,
ArpTransmittedIntfMap arp_transmitted_intf_map 
)

Definition at line 159 of file arp_proto.cc.

Here is the call graph for this function:

void ArpPathPreferenceState::SendArpRequestForAllIntf ( const AgentRoute route)

Definition at line 254 of file arp_proto.cc.

Here is the call graph for this function:

void ArpPathPreferenceState::set_mac ( MacAddress  mac)
inline

Definition at line 273 of file arp_proto.h.

Here is the call graph for this function:

void ArpPathPreferenceState::StartTimer ( )

Definition at line 146 of file arp_proto.cc.

Here is the call graph for this function:

uint32_t ArpPathPreferenceState::vrf_id ( ) const
inline

Definition at line 275 of file arp_proto.h.

ArpVrfState* ArpPathPreferenceState::vrf_state ( )
inline

Definition at line 267 of file arp_proto.h.

Friends And Related Function Documentation

void intrusive_ptr_add_ref ( ArpPathPreferenceState aps)
friend

Definition at line 116 of file arp_proto.cc.

void intrusive_ptr_release ( ArpPathPreferenceState aps)
friend

Definition at line 120 of file arp_proto.cc.

Member Data Documentation

Timer* ArpPathPreferenceState::arp_req_timer_
private

Definition at line 314 of file arp_proto.h.

WaitForTrafficIntfMap ArpPathPreferenceState::evpn_wait_for_traffic_map_
private

Definition at line 320 of file arp_proto.h.

const uint32_t ArpPathPreferenceState::kArpTryCount = 9
static

Definition at line 250 of file arp_proto.h.

const uint32_t ArpPathPreferenceState::kMaxRetry = 30 * 5
static

Definition at line 247 of file arp_proto.h.

const uint32_t ArpPathPreferenceState::kTimeout = 2000
static

Definition at line 249 of file arp_proto.h.

WaitForTrafficIntfMap ArpPathPreferenceState::l3_wait_for_traffic_map_
private

Definition at line 319 of file arp_proto.h.

MacAddress ArpPathPreferenceState::mac_
private

Definition at line 318 of file arp_proto.h.

uint8_t ArpPathPreferenceState::plen_
private

Definition at line 317 of file arp_proto.h.

tbb::atomic<int> ArpPathPreferenceState::refcount_
private

Definition at line 321 of file arp_proto.h.

IpAddress ArpPathPreferenceState::vm_ip_
private

Definition at line 316 of file arp_proto.h.

uint32_t ArpPathPreferenceState::vrf_id_
private

Definition at line 315 of file arp_proto.h.

ArpVrfState* ArpPathPreferenceState::vrf_state_
private

Definition at line 313 of file arp_proto.h.


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