Classes | Public Member Functions | Static Public Member Functions | Private Member Functions

ns3::ArpCache Class Reference

An ARP cache. More...

#include <arp-cache.h>

Inheritance diagram for ns3::ArpCache:
Inheritance graph
[legend]
Collaboration diagram for ns3::ArpCache:
Collaboration graph
[legend]

List of all members.

Classes

class  Entry
 A record that that holds information about an ArpCache entry. More...

Public Member Functions

void SetDevice (Ptr< NetDevice > device, Ptr< Ipv4Interface > interface)
Ptr< NetDeviceGetDevice (void) const
Ptr< Ipv4InterfaceGetInterface (void) const
ArpCache::EntryLookup (Ipv4Address destination)
 Do lookup in the ARP chache against an IP address.
ArpCache::EntryAdd (Ipv4Address to)
 Add an Ipv4Address to this ARP cache.
void Flush (void)
 Clear the ArpCache of all entries.

Static Public Member Functions

static TypeId GetTypeId (void)
 This method returns the TypeId associated to ns3::ArpCache.

Private Member Functions

virtual void DoDispose (void)

Detailed Description

An ARP cache.

A cached lookup table for translating layer 3 addresses to layer 2. This implementation does lookups from IPv4 to a MAC address


Member Function Documentation

virtual void ns3::ArpCache::DoDispose ( void   )  [private, virtual]

This method is called by Object::Dispose or by the object's destructor, whichever comes first.

Subclasses are expected to implement their real destruction code in an overriden version of this method and chain up to their parent's implementation once they are done. i.e., for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose method.

Reimplemented from ns3::Object.

Ptr<NetDevice> ns3::ArpCache::GetDevice ( void   )  const
Returns:
The NetDevice that this ARP cache is associated with
Ptr<Ipv4Interface> ns3::ArpCache::GetInterface ( void   )  const
Returns:
the Ipv4Interface that this ARP cache is associated with
static TypeId ns3::ArpCache::GetTypeId ( void   )  [static]

This method returns the TypeId associated to ns3::ArpCache.

This object is accessible through the following paths with Config::Set and Config::Connect:

  • /NodeList/[i]/$ns3ArpL3Protocol/CacheList/[i]

Attributes defined for this type:

  • AliveTimeout: When this timeout expires, the matching cache entry needs refreshing
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: 120000000000ns
    • Flags: construct write read
  • DeadTimeout: When this timeout expires, a new attempt to resolve the matching entry is made
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: 100000000000ns
    • Flags: construct write read
  • WaitReplyTimeout: When this timeout expires, the matching cache entry is marked dead
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: 1000000000ns
    • Flags: construct write read
  • PendingQueueSize: The size of the queue for packets pending an arp reply.

No TraceSources defined for this type.

Reimplemented from ns3::Object.

ArpCache::Entry* ns3::ArpCache::Lookup ( Ipv4Address  destination  ) 

Do lookup in the ARP chache against an IP address.

Parameters:
destination The destination IPv4 address to lookup the MAC address of
Returns:
An ArpCache::Entry with info about layer 2
void ns3::ArpCache::SetDevice ( Ptr< NetDevice device,
Ptr< Ipv4Interface interface 
)
Parameters:
device The hardware NetDevice associated with this ARP chache
interface the Ipv4Interface associated with this ARP chache

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