INET Framework for OMNeT++/OMNEST
inet::IARP Class Referenceabstract

Represents an IPv4 ARP module. More...

#include <IARP.h>

Inheritance diagram for inet::IARP:
inet::ARP inet::GenericARP inet::GlobalARP

Classes

class  Notification
 Sent in ARP cache change notification signals. More...
 

Public Member Functions

virtual ~IARP ()
 
virtual L3Address getL3AddressFor (const MACAddress &) const =0
 Returns the Layer 3 address for the given MAC address. More...
 
virtual MACAddress resolveL3Address (const L3Address &address, const InterfaceEntry *ie)=0
 Tries to resolve the given network address to a MAC address. More...
 

Static Public Attributes

static const simsignal_t initiatedARPResolutionSignal = cComponent::registerSignal("initiatedARPResolution")
 Signals used to publish ARP state changes. More...
 
static const simsignal_t completedARPResolutionSignal = cComponent::registerSignal("completedARPResolution")
 
static const simsignal_t failedARPResolutionSignal = cComponent::registerSignal("failedARPResolution")
 

Detailed Description

Represents an IPv4 ARP module.

Constructor & Destructor Documentation

virtual inet::IARP::~IARP ( )
inlinevirtual
60 {}

Member Function Documentation

virtual L3Address inet::IARP::getL3AddressFor ( const MACAddress ) const
pure virtual

Returns the Layer 3 address for the given MAC address.

If it is not available (not in the cache, pending resolution, or already expired), UNSPECIFIED_ADDRESS is returned.

Implemented in inet::ARP, inet::GlobalARP, and inet::GenericARP.

virtual MACAddress inet::IARP::resolveL3Address ( const L3Address address,
const InterfaceEntry ie 
)
pure virtual

Tries to resolve the given network address to a MAC address.

If the MAC address is not yet resolved it returns an unspecified address and starts an address resolution procedure. A signal is emitted when the address resolution procedure terminates.

Implemented in inet::ARP, inet::GlobalARP, and inet::GenericARP.

Referenced by inet::WiseRoute::handleLowerPacket(), inet::WiseRoute::handleUpperPacket(), inet::IPv4::resolveNextHopMacAddress(), and inet::GenericNetworkProtocol::sendDatagramToOutput().

Member Data Documentation

const simsignal_t inet::IARP::completedARPResolutionSignal = cComponent::registerSignal("completedARPResolution")
static
const simsignal_t inet::IARP::failedARPResolutionSignal = cComponent::registerSignal("failedARPResolution")
static
const simsignal_t inet::IARP::initiatedARPResolutionSignal = cComponent::registerSignal("initiatedARPResolution")
static

Signals used to publish ARP state changes.

Referenced by inet::ARP::initiateARPResolution().


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