A record that that holds information about an ArpCache entry. More...
#include <arp-cache.h>
Public Member Functions | |
Entry (ArpCache *arp) | |
Constructor. More... | |
void | ClearRetries (void) |
Zero the counter of number of retries for an entry. More... | |
Ptr< Packet > | DequeuePending (void) |
Ipv4Address | GetIpv4Address (void) const |
Address | GetMacAddress (void) const |
uint32_t | GetRetries (void) const |
void | IncrementRetries (void) |
Increment the counter of number of retries for an entry. More... | |
bool | IsAlive (void) |
bool | IsDead (void) |
bool | IsExpired (void) const |
bool | IsWaitReply (void) |
void | MarkAlive (Address macAddress) |
void | MarkDead (void) |
Changes the state of this entry to dead. More... | |
void | MarkWaitReply (Ptr< Packet > waiting) |
void | SetIpv4Address (Ipv4Address destination) |
bool | UpdateWaitReply (Ptr< Packet > waiting) |
Private Types | |
enum | ArpCacheEntryState_e { ALIVE, WAIT_REPLY, DEAD } |
ARP cache entry states. More... | |
Private Member Functions | |
Time | GetTimeout (void) const |
Returns the entry timeout. More... | |
void | UpdateSeen (void) |
Update the entry when seeing a packet. More... | |
Private Attributes | |
ArpCache * | m_arp |
pointer to the ARP cache owning the entry More... | |
Ipv4Address | m_ipv4Address |
entry's IP address More... | |
Time | m_lastSeen |
last moment a packet from that address has been seen More... | |
Address | m_macAddress |
entry's MAC address More... | |
std::list< Ptr< Packet > > | m_pending |
list of pending packets for the entry's IP More... | |
uint32_t | m_retries |
rerty counter More... | |
ArpCacheEntryState_e | m_state |
state of the entry More... | |
A record that that holds information about an ArpCache entry.
Definition at line 160 of file arp-cache.h.
|
private |
ns3::ArpCache::Entry::Entry | ( | ArpCache * | arp | ) |
Constructor.
arp | The ArpCache this entry belongs to |
Definition at line 270 of file arp-cache.cc.
References NS_LOG_FUNCTION.
void ns3::ArpCache::Entry::ClearRetries | ( | void | ) |
Zero the counter of number of retries for an entry.
Definition at line 430 of file arp-cache.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::ArpCache::HandleWaitReplyTimeout().
Definition at line 396 of file arp-cache.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::ArpCache::HandleWaitReplyTimeout(), and ns3::ArpL3Protocol::Receive().
Ipv4Address ns3::ArpCache::Entry::GetIpv4Address | ( | void | ) | const |
Definition at line 354 of file arp-cache.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::ArpCache::HandleWaitReplyTimeout().
Address ns3::ArpCache::Entry::GetMacAddress | ( | void | ) | const |
Definition at line 347 of file arp-cache.cc.
References NS_ASSERT, and NS_LOG_FUNCTION.
Referenced by ns3::ArpL3Protocol::Lookup(), ns3::aodv::Neighbors::LookupMacAddress(), and ns3::dsr::RouteCache::LookupMacAddress().
uint32_t ns3::ArpCache::Entry::GetRetries | ( | void | ) | const |
Definition at line 417 of file arp-cache.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::ArpCache::HandleWaitReplyTimeout().
|
private |
Returns the entry timeout.
Definition at line 366 of file arp-cache.cc.
References ALIVE, DEAD, NS_ASSERT, NS_LOG_FUNCTION, and WAIT_REPLY.
void ns3::ArpCache::Entry::IncrementRetries | ( | void | ) |
Increment the counter of number of retries for an entry.
Definition at line 423 of file arp-cache.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::ArpCache::HandleWaitReplyTimeout().
bool ns3::ArpCache::Entry::IsAlive | ( | void | ) |
Definition at line 286 of file arp-cache.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::ArpL3Protocol::Lookup(), ns3::aodv::Neighbors::LookupMacAddress(), and ns3::dsr::RouteCache::LookupMacAddress().
bool ns3::ArpCache::Entry::IsDead | ( | void | ) |
Definition at line 280 of file arp-cache.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::ArpL3Protocol::Lookup().
bool ns3::ArpCache::Entry::IsExpired | ( | void | ) | const |
This function returns true if the time elapsed strictly exceeds the timeout value (i.e., is not less than or equal to the timeout).
Definition at line 383 of file arp-cache.cc.
References ns3::Time::GetSeconds(), ns3::Simulator::Now(), NS_LOG_DEBUG, NS_LOG_FUNCTION, and timeout.
Referenced by ns3::ArpL3Protocol::Lookup(), ns3::aodv::Neighbors::LookupMacAddress(), and ns3::dsr::RouteCache::LookupMacAddress().
bool ns3::ArpCache::Entry::IsWaitReply | ( | void | ) |
Definition at line 292 of file arp-cache.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::ArpCache::HandleWaitReplyTimeout(), ns3::ArpL3Protocol::Lookup(), and ns3::ArpL3Protocol::Receive().
void ns3::ArpCache::Entry::MarkAlive | ( | Address | macAddress | ) |
macAddress |
Definition at line 308 of file arp-cache.cc.
References NS_ASSERT, and NS_LOG_FUNCTION.
Referenced by ns3::EpcS1uUlTestCase::DoRun(), and ns3::ArpL3Protocol::Receive().
void ns3::ArpCache::Entry::MarkDead | ( | void | ) |
Changes the state of this entry to dead.
Definition at line 300 of file arp-cache.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::ArpCache::HandleWaitReplyTimeout().
waiting |
Definition at line 335 of file arp-cache.cc.
References NS_ASSERT, and NS_LOG_FUNCTION.
Referenced by ns3::EpcS1uUlTestCase::DoRun(), and ns3::ArpL3Protocol::Lookup().
void ns3::ArpCache::Entry::SetIpv4Address | ( | Ipv4Address | destination | ) |
destination | The Ipv4Address for this entry |
Definition at line 360 of file arp-cache.cc.
References NS_LOG_FUNCTION.
|
private |
Update the entry when seeing a packet.
Definition at line 411 of file arp-cache.cc.
References ns3::Simulator::Now(), and NS_LOG_FUNCTION.
waiting |
Definition at line 319 of file arp-cache.cc.
References NS_ASSERT, and NS_LOG_FUNCTION.
Referenced by ns3::ArpL3Protocol::Lookup().
|
private |
pointer to the ARP cache owning the entry
Definition at line 257 of file arp-cache.h.
|
private |
entry's IP address
Definition at line 261 of file arp-cache.h.
|
private |
last moment a packet from that address has been seen
Definition at line 259 of file arp-cache.h.
|
private |
entry's MAC address
Definition at line 260 of file arp-cache.h.
list of pending packets for the entry's IP
Definition at line 262 of file arp-cache.h.
|
private |
rerty counter
Definition at line 263 of file arp-cache.h.
|
private |
state of the entry
Definition at line 258 of file arp-cache.h.