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

#include <icmpv6_proto.h>

Collaboration diagram for Icmpv6PathPreferenceState:

Public Types

typedef std::map< uint32_t,
InterfaceIcmpv6PathPreferenceInfo
WaitForTrafficIntfMap
 
typedef std::set< uint32_t > NDTransmittedIntfMap
 

Public Member Functions

 Icmpv6PathPreferenceState (Icmpv6VrfState *vrf_state, uint32_t vrf_id, IpAddress vm_ip_addr, uint8_t plen)
 
 ~Icmpv6PathPreferenceState ()
 
bool SendNeighborSolicit ()
 
bool SendNeighborSolicit (WaitForTrafficIntfMap &wait_for_traffic_map, NDTransmittedIntfMap &nd_transmitted_map)
 
void SendNeighborSolicitForAllIntf (const AgentRoute *route)
 
void StartTimer ()
 
void HandleNA (uint32_t itf)
 
Icmpv6VrfStatevrf_state ()
 
const IpAddressip () const
 
MacAddress mac (void) const
 
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 kTimeoutMultiplier = 5
 
static const uint32_t kNSTryCount = 9
 

Private Attributes

Icmpv6VrfStatevrf_state_
 
Timerns_req_timer_
 
uint32_t vrf_id_
 
IpAddress vm_ip_
 
MacAddress mac_
 
uint8_t plen_
 
IpAddress svc_ip_
 
WaitForTrafficIntfMap l3_wait_for_traffic_map_
 
WaitForTrafficIntfMap evpn_wait_for_traffic_map_
 
tbb::atomic< int > refcount_
 

Friends

void intrusive_ptr_add_ref (Icmpv6PathPreferenceState *ps)
 
void intrusive_ptr_release (Icmpv6PathPreferenceState *ps)
 

Detailed Description

Definition at line 263 of file icmpv6_proto.h.

Member Typedef Documentation

Definition at line 274 of file icmpv6_proto.h.

Constructor & Destructor Documentation

Icmpv6PathPreferenceState::Icmpv6PathPreferenceState ( Icmpv6VrfState vrf_state,
uint32_t  vrf_id,
IpAddress  vm_ip_addr,
uint8_t  plen 
)

Definition at line 453 of file icmpv6_proto.cc.

Icmpv6PathPreferenceState::~Icmpv6PathPreferenceState ( )

Definition at line 461 of file icmpv6_proto.cc.

Here is the call graph for this function:

Member Function Documentation

void Icmpv6PathPreferenceState::HandleNA ( uint32_t  itf)

Definition at line 377 of file icmpv6_proto.cc.

bool Icmpv6PathPreferenceState::IntfPresentInEvpnMap ( uint32_t  id)
inline

Definition at line 303 of file icmpv6_proto.h.

bool Icmpv6PathPreferenceState::IntfPresentInIpMap ( uint32_t  id)
inline

Definition at line 295 of file icmpv6_proto.h.

uint32_t Icmpv6PathPreferenceState::IntfRetryCountInEvpnMap ( uint32_t  id)
inline

Definition at line 315 of file icmpv6_proto.h.

uint32_t Icmpv6PathPreferenceState::IntfRetryCountInIpMap ( uint32_t  id)
inline

Definition at line 311 of file icmpv6_proto.h.

const IpAddress& Icmpv6PathPreferenceState::ip ( ) const
inline

Definition at line 289 of file icmpv6_proto.h.

MacAddress Icmpv6PathPreferenceState::mac ( void  ) const
inline

Definition at line 293 of file icmpv6_proto.h.

bool Icmpv6PathPreferenceState::SendNeighborSolicit ( )

Definition at line 533 of file icmpv6_proto.cc.

bool Icmpv6PathPreferenceState::SendNeighborSolicit ( WaitForTrafficIntfMap wait_for_traffic_map,
NDTransmittedIntfMap nd_transmitted_map 
)

Definition at line 469 of file icmpv6_proto.cc.

Here is the call graph for this function:

void Icmpv6PathPreferenceState::SendNeighborSolicitForAllIntf ( const AgentRoute route)

Definition at line 587 of file icmpv6_proto.cc.

Here is the call graph for this function:

void Icmpv6PathPreferenceState::StartTimer ( )

Definition at line 551 of file icmpv6_proto.cc.

Here is the call graph for this function:

Icmpv6VrfState* Icmpv6PathPreferenceState::vrf_state ( )
inline

Definition at line 285 of file icmpv6_proto.h.

Friends And Related Function Documentation

void intrusive_ptr_add_ref ( Icmpv6PathPreferenceState ps)
friend

Definition at line 440 of file icmpv6_proto.cc.

void intrusive_ptr_release ( Icmpv6PathPreferenceState ps)
friend

Definition at line 444 of file icmpv6_proto.cc.

Member Data Documentation

WaitForTrafficIntfMap Icmpv6PathPreferenceState::evpn_wait_for_traffic_map_
private

Definition at line 330 of file icmpv6_proto.h.

const uint32_t Icmpv6PathPreferenceState::kMaxRetry = 30 * 5
static

Definition at line 265 of file icmpv6_proto.h.

const uint32_t Icmpv6PathPreferenceState::kNSTryCount = 9
static

Definition at line 271 of file icmpv6_proto.h.

const uint32_t Icmpv6PathPreferenceState::kTimeout = 2000
static

Definition at line 267 of file icmpv6_proto.h.

const uint32_t Icmpv6PathPreferenceState::kTimeoutMultiplier = 5
static

Definition at line 269 of file icmpv6_proto.h.

WaitForTrafficIntfMap Icmpv6PathPreferenceState::l3_wait_for_traffic_map_
private

Definition at line 329 of file icmpv6_proto.h.

MacAddress Icmpv6PathPreferenceState::mac_
private

Definition at line 326 of file icmpv6_proto.h.

Timer* Icmpv6PathPreferenceState::ns_req_timer_
private

Definition at line 323 of file icmpv6_proto.h.

uint8_t Icmpv6PathPreferenceState::plen_
private

Definition at line 327 of file icmpv6_proto.h.

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

Definition at line 331 of file icmpv6_proto.h.

IpAddress Icmpv6PathPreferenceState::svc_ip_
private

Definition at line 328 of file icmpv6_proto.h.

IpAddress Icmpv6PathPreferenceState::vm_ip_
private

Definition at line 325 of file icmpv6_proto.h.

uint32_t Icmpv6PathPreferenceState::vrf_id_
private

Definition at line 324 of file icmpv6_proto.h.

Icmpv6VrfState* Icmpv6PathPreferenceState::vrf_state_
private

Definition at line 322 of file icmpv6_proto.h.


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