INET Framework for OMNeT++/OMNEST
|
#include <ARP.h>
Classes | |
class | ARPCacheEntry |
Public Types | |
typedef std::map< IPv4Address, ARPCacheEntry * > | ARPCache |
typedef std::vector< cMessage * > | MsgPtrVector |
Public Member Functions | |
ARP () | |
virtual | ~ARP () |
virtual int | numInitStages () const override |
virtual MACAddress | resolveL3Address (const L3Address &address, const InterfaceEntry *ie) override |
IARP implementation. More... | |
virtual L3Address | getL3AddressFor (const MACAddress &addr) const override |
Returns the Layer 3 address for the given MAC address. More... | |
Public Member Functions inherited from inet::IARP | |
virtual | ~IARP () |
Public Member Functions inherited from inet::ILifecycle | |
virtual | ~ILifecycle () |
Protected Member Functions | |
MACAddress | mapMulticastAddress (IPv4Address addr) |
virtual void | initialize (int stage) override |
virtual void | handleMessage (cMessage *msg) override |
virtual void | handleMessageWhenDown (cMessage *msg) |
virtual bool | handleOperationStage (LifecycleOperation *operation, int stage, IDoneCallback *doneCallback) override |
Perform one stage of a lifecycle operation. More... | |
virtual void | finish () override |
virtual bool | isNodeUp () |
virtual void | stop () |
virtual void | start () |
virtual void | flush () |
virtual void | sendPacketToNIC (cMessage *msg, const InterfaceEntry *ie, const MACAddress &macAddress, int etherType) |
virtual void | initiateARPResolution (ARPCacheEntry *entry) |
virtual void | sendARPRequest (const InterfaceEntry *ie, IPv4Address ipAddress) |
virtual void | requestTimedOut (cMessage *selfmsg) |
virtual bool | addressRecognized (IPv4Address destAddr, InterfaceEntry *ie) |
virtual void | processARPPacket (ARPPacket *arp) |
virtual void | updateARPCache (ARPCacheEntry *entry, const MACAddress &macAddress) |
virtual void | dumpARPPacket (ARPPacket *arp) |
virtual void | refreshDisplay () const override |
Protected Attributes | |
simtime_t | retryTimeout |
int | retryCount = 0 |
simtime_t | cacheTimeout |
bool | respondToProxyARP = false |
bool | isUp = false |
long | numResolutions = 0 |
long | numFailedResolutions = 0 |
long | numRequestsSent = 0 |
long | numRepliesSent = 0 |
ARPCache | arpCache |
cGate * | netwOutGate = nullptr |
IInterfaceTable * | ift = nullptr |
IIPv4RoutingTable * | rt = nullptr |
Static Protected Attributes | |
static simsignal_t | sentReqSignal = registerSignal("sentReq") |
static simsignal_t | sentReplySignal = registerSignal("sentReply") |
Additional Inherited Members | |
Static Public Attributes inherited from inet::IARP | |
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") |
ARP implementation.
typedef std::map<IPv4Address, ARPCacheEntry *> inet::ARP::ARPCache |
typedef std::vector<cMessage *> inet::ARP::MsgPtrVector |
|
virtual |
|
protectedvirtual |
Referenced by processARPPacket().
|
protectedvirtual |
Referenced by processARPPacket().
|
protectedvirtual |
Referenced by stop().
|
overridevirtual |
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.
Implements inet::IARP.
|
overrideprotectedvirtual |
|
protectedvirtual |
Referenced by handleMessage().
|
overrideprotectedvirtual |
Perform one stage of a lifecycle operation.
Processing may be done entirely within this method, or may be a longer process that involves nonzero simulation time or several events, and is triggered by this method call.
Return value: true = "done"; false = "not yet done, will invoke doneCallback when done"
Implements inet::ILifecycle.
|
overrideprotectedvirtual |
|
protectedvirtual |
Referenced by resolveL3Address().
|
protectedvirtual |
Referenced by initialize().
|
protected |
|
inlineoverridevirtual |
|
protectedvirtual |
Referenced by handleMessage().
|
overrideprotectedvirtual |
|
protectedvirtual |
Referenced by handleMessage().
|
overridevirtual |
IARP implementation.
Implements inet::IARP.
|
protectedvirtual |
Referenced by initiateARPResolution(), and requestTimedOut().
|
protectedvirtual |
Referenced by processARPPacket(), and sendARPRequest().
|
protectedvirtual |
Referenced by handleOperationStage().
|
protectedvirtual |
Referenced by handleOperationStage().
|
protectedvirtual |
Referenced by processARPPacket().
|
protected |
Referenced by flush(), getL3AddressFor(), initialize(), processARPPacket(), refreshDisplay(), requestTimedOut(), resolveL3Address(), start(), and ~ARP().
|
protected |
Referenced by getL3AddressFor(), initialize(), and resolveL3Address().
|
protected |
Referenced by initialize(), and processARPPacket().
|
protected |
Referenced by handleMessage(), initialize(), start(), and stop().
|
protected |
Referenced by initialize(), and sendPacketToNIC().
|
protected |
Referenced by initialize(), refreshDisplay(), and requestTimedOut().
|
protected |
Referenced by initialize(), processARPPacket(), and refreshDisplay().
|
protected |
Referenced by initialize(), refreshDisplay(), and sendARPRequest().
|
protected |
Referenced by initialize(), and initiateARPResolution().
|
protected |
Referenced by addressRecognized(), and initialize().
|
protected |
Referenced by initialize(), and requestTimedOut().
|
protected |
Referenced by initialize(), initiateARPResolution(), and requestTimedOut().
|
protected |
Referenced by addressRecognized(), and initialize().
|
staticprotected |
Referenced by processARPPacket().
|
staticprotected |
Referenced by sendARPRequest().