INET Framework for OMNeT++/OMNEST
inet::DhcpMessage Class Reference

Class generated from inet/applications/dhcp/DhcpMessage.msg:96 by opp_msgtool. More...

#include <DhcpMessage_m.h>

Inheritance diagram for inet::DhcpMessage:
inet::FieldsChunk inet::Chunk inet::IPrintableObject inet::IRegionTaggedObject

Public Member Functions

 DhcpMessage ()
 
 DhcpMessage (const DhcpMessage &other)
 
virtual ~DhcpMessage ()
 
DhcpMessageoperator= (const DhcpMessage &other)
 
virtual DhcpMessagedup () const override
 
virtual void parsimPack (omnetpp::cCommBuffer *b) const override
 
virtual void parsimUnpack (omnetpp::cCommBuffer *b) override
 
virtual DhcpOpcode getOp () const
 
virtual void setOp (DhcpOpcode op)
 
virtual int getHtype () const
 
virtual void setHtype (int htype)
 
virtual int getHlen () const
 
virtual void setHlen (int hlen)
 
virtual int getHops () const
 
virtual void setHops (int hops)
 
virtual unsigned int getXid () const
 
virtual void setXid (unsigned int xid)
 
virtual int getSecs () const
 
virtual void setSecs (int secs)
 
virtual bool getBroadcast () const
 
virtual void setBroadcast (bool broadcast)
 
virtual uint16_t getReserved () const
 
virtual void setReserved (uint16_t reserved)
 
virtual const Ipv4AddressgetCiaddr () const
 
virtual Ipv4AddressgetCiaddrForUpdate ()
 
virtual void setCiaddr (const Ipv4Address &ciaddr)
 
virtual const Ipv4AddressgetYiaddr () const
 
virtual Ipv4AddressgetYiaddrForUpdate ()
 
virtual void setYiaddr (const Ipv4Address &yiaddr)
 
virtual const Ipv4AddressgetGiaddr () const
 
virtual Ipv4AddressgetGiaddrForUpdate ()
 
virtual void setGiaddr (const Ipv4Address &giaddr)
 
virtual const MacAddressgetChaddr () const
 
virtual MacAddressgetChaddrForUpdate ()
 
virtual void setChaddr (const MacAddress &chaddr)
 
virtual const char * getSname () const
 
virtual void setSname (const char *sname)
 
virtual const char * getFile () const
 
virtual void setFile (const char *file)
 
virtual const DhcpOptionsgetOptions () const
 
virtual DhcpOptionsgetOptionsForUpdate ()
 
virtual void setOptions (const DhcpOptions &options)
 
- Public Member Functions inherited from inet::FieldsChunk
 FieldsChunk ()
 
 FieldsChunk (const FieldsChunk &other)
 
virtual ~FieldsChunk ()
 
virtual void parsimPack (cCommBuffer *buffer) const override
 
virtual void parsimUnpack (cCommBuffer *buffer) override
 
virtual void handleChange () override
 
virtual ChunkType getChunkType () const override
 Returns the type of this chunk as an enum member. More...
 
virtual bool containsSameData (const Chunk &other) const override
 Returns true if the two chunks represent the same binary data. More...
 
virtual b getChunkLength () const override
 Returns the length of data represented by this chunk. More...
 
virtual void setChunkLength (b chunkLength)
 
virtual void addChunkLength (b chunkLength)
 
virtual std::ostream & printFieldsToStream (std::ostream &stream, int level, int evFlags=0) const override
 Prints an optinally formatted human readable string representation of the feilds of this chunk to the given stream. More...
 
- Public Member Functions inherited from inet::Chunk
 Chunk ()
 
 Chunk (const Chunk &other)
 
virtual const Ptr< ChunkdupShared () const
 Returns a mutable copy of this chunk in a shared pointer. More...
 
virtual void forEachChild (cVisitor *v) override
 
virtual bool isMutable () const
 
virtual bool isImmutable () const
 
virtual void markImmutable ()
 
void markMutableIfExclusivelyOwned ()
 
virtual bool isComplete () const
 
virtual bool isIncomplete () const
 
virtual void markIncomplete ()
 
virtual bool isCorrect () const
 
virtual bool isIncorrect () const
 
virtual void markIncorrect ()
 
virtual bool isProperlyRepresented () const
 
virtual bool isImproperlyRepresented () const
 
virtual void markImproperlyRepresented ()
 
virtual void moveIterator (Iterator &iterator, b length) const
 
virtual void seekIterator (Iterator &iterator, b position) const
 
virtual bool canInsertAtFront (const Ptr< const Chunk > &chunk) const
 Returns true if this chunk is capable of representing the result. More...
 
virtual bool canInsertAtBack (const Ptr< const Chunk > &chunk) const
 Returns true if this chunk is capable of representing the result. More...
 
virtual bool canInsertAt (const Ptr< const Chunk > &chunk, b offset) const
 Returns true if this chunk is capable of representing the result. More...
 
void insertAtFront (const Ptr< const Chunk > &chunk)
 Inserts the provided chunk at the beginning of this chunk. More...
 
void insertAtBack (const Ptr< const Chunk > &chunk)
 Inserts the provided chunk at the end of this chunk. More...
 
void insertAt (const Ptr< const Chunk > &chunk, b offset)
 Inserts the provided chunk into this chunk. More...
 
virtual bool canRemoveAtFront (b length) const
 Returns true if this chunk is capable of representing the result. More...
 
virtual bool canRemoveAtBack (b length) const
 Returns true if this chunk is capable of representing the result. More...
 
virtual bool canRemoveAt (b offset, b length) const
 Returns true if this chunk is capable of representing the result. More...
 
void removeAtFront (b length)
 Removes the requested part from the beginning of this chunk. More...
 
void removeAtBack (b length)
 Removes the requested part from the end of this chunk. More...
 
void removeAt (b offset, b length)
 Removes the requested part from this chunk. More...
 
int getChunkId () const
 Returns the sequentially assigned id. More...
 
virtual bool isEmpty () const
 Returns true if this chunk contains no data. More...
 
const Ptr< Chunksimplify () const
 Returns the simplified representation of this chunk eliminating all potential redundancies. More...
 
const Ptr< Chunkpeek (const Iterator &iterator, b length=unspecifiedLength, int flags=0) const
 Returns the designated part of the data represented by this chunk in its default representation. More...
 
template<typename T >
bool has (const Iterator &iterator, b length=unspecifiedLength) const
 Returns whether if the designated part of the data is available in the requested representation. More...
 
template<typename T >
const Ptr< Tpeek (const Iterator &iterator, b length=unspecifiedLength, int flags=0) const
 Returns the designated part of the data represented by this chunk in the requested representation. More...
 
virtual SharingRegionTagSetgetRegionTags () override
 Returns all region tags. More...
 
int getNumTags () const
 Returns the number of chunk tags. More...
 
const Ptr< const TagBasegetTag (int index) const
 Returns the chunk tag at the given index. More...
 
void clearTags (b offset=b(0), b length=b(-1))
 Clears the set of chunk tags in the given region. More...
 
void copyTags (const Chunk &source, b sourceOffset=b(0), b offset=b(0), b length=b(-1))
 Copies the set of chunk tags from the source region to the provided region. More...
 
template<typename T >
const Ptr< const TfindTag (b offset=b(0), b length=b(-1)) const
 Returns the chunk tag for the provided type and range, or returns nullptr if no such chunk tag is found. More...
 
template<typename T >
const Ptr< const TgetTag (b offset=b(0), b length=b(-1)) const
 Returns the chunk tag for the provided type and range, or throws an exception if no such chunk tag is found. More...
 
template<typename T >
void mapAllTags (b offset, b length, std::function< void(b, b, const Ptr< const T > &)> f) const
 Maps all tags in the provided range to to the function. More...
 
template<typename T >
void mapAllTagsForUpdate (b offset, b length, std::function< void(b, b, const Ptr< T > &)> f)
 Maps all tags in the provided range to to the function. More...
 
template<typename T >
std::vector< SharingRegionTagSet::RegionTag< const T > > getAllTags (b offset=b(0), b length=b(-1)) const
 Returns all chunk tags for the provided type and range in a detached vector of region tags. More...
 
template<typename T >
std::vector< SharingRegionTagSet::RegionTag< T > > getAllTagsForUpdate (b offset=b(0), b length=b(-1))
 Returns all chunk tags for the provided type and range in a detached vector of region tags. More...
 
template<typename T >
const Ptr< TaddTag (b offset=b(0), b length=b(-1))
 Returns a newly added chunk tag for the provided type and range, or throws an exception if such a chunk tag is already present. More...
 
template<typename T >
const Ptr< TaddTagIfAbsent (b offset=b(0), b length=b(-1))
 Returns a newly added chunk tag for the provided type and range if absent, or returns the chunk tag that is already present. More...
 
template<typename T >
std::vector< SharingRegionTagSet::RegionTag< T > > addTagsWhereAbsent (b offset=b(0), b length=b(-1))
 Returns the newly added chunk tags for the provided type and range where the tag is absent. More...
 
template<typename T >
const Ptr< TremoveTag (b offset, b length)
 Removes the chunk tag for the provided type and range, or throws an exception if no such chunk tag is found. More...
 
template<typename T >
const Ptr< TremoveTagIfPresent (b offset, b length)
 Removes the chunk tag for the provided type and range if present, or returns nullptr if no such chunk tag is found. More...
 
template<typename T >
std::vector< SharingRegionTagSet::RegionTag< T > > removeTagsWherePresent (b offset, b length)
 Removes and returns all chunk tags for the provided type and range. More...
 
virtual std::ostream & printToStream (std::ostream &stream, int level, int evFlags=0) const override
 Prints an optinally formatted human readable string representation of the data present in this chunk to the given stream. More...
 
virtual std::string str () const override
 Returns a human readable string representation of the data present in this chunk. More...
 
- Public Member Functions inherited from inet::IPrintableObject
virtual ~IPrintableObject ()
 
virtual std::string printToString () const
 
virtual std::string printToString (int level, int evFlags=0) const
 
virtual std::string getInfoStringRepresentation (int evFlags=0) const
 
virtual std::string getDetailStringRepresentation (int evFlags=0) const
 
virtual std::string getDebugStringRepresentation (int evFlags=0) const
 
virtual std::string getTraceStringRepresentation (int evFlags=0) const
 
virtual std::string getCompleteStringRepresentation (int evFlags=0) const
 

Protected Member Functions

bool operator== (const DhcpMessage &)=delete
 
- Protected Member Functions inherited from inet::FieldsChunk
const std::vector< uint8_t > * getSerializedBytes () const
 
void setSerializedBytes (const std::vector< uint8_t > *bytes) const
 
virtual const Ptr< ChunkpeekUnchecked (PeekPredicate predicate, PeekConverter converter, const Iterator &iterator, b length, int flags) const override
 
- Protected Member Functions inherited from inet::Chunk
int getBinDumpNumLines () const
 
int getHexDumpNumLines () const
 
const char * getBinDumpLine (int index)
 
const char * getHexDumpLine (int index)
 
const SharingRegionTagSet::RegionTag< TagBase > & _getTag (int index) const
 
void checkMutable () const
 
virtual void doInsertAtFront (const Ptr< const Chunk > &chunk)
 
virtual void doInsertAtBack (const Ptr< const Chunk > &chunk)
 
virtual void doInsertAt (const Ptr< const Chunk > &chunk, b offset)
 
virtual void doRemoveAtFront (b length)
 
virtual void doRemoveAtBack (b length)
 
virtual void doRemoveAt (b offset, b length)
 
template<typename T >
const Ptr< TpeekConverted (const Iterator &iterator, b length, int flags) const
 
template<typename T >
const Ptr< TcheckPeekResult (const Ptr< T > &chunk, int flags) const
 

Protected Attributes

DhcpOpcode op = static_cast<inet::DhcpOpcode>(-1)
 
int htype = 0
 
int hlen = 0
 
int hops = 0
 
unsigned int xid = 0
 
int secs = 0
 
bool broadcast = false
 
uint16_t reserved = 0
 
Ipv4Address ciaddr
 
Ipv4Address yiaddr
 
Ipv4Address giaddr
 
MacAddress chaddr
 
::omnetpp::opp_string sname
 
::omnetpp::opp_string file
 
DhcpOptions options
 
- Protected Attributes inherited from inet::FieldsChunk
b chunkLength
 
const std::vector< uint8_t > * serializedBytes
 The serialized representation of this chunk or nullptr if not available. More...
 
- Protected Attributes inherited from inet::Chunk
int id
 The id is automatically assigned sequentially during construction. More...
 
int flags
 The boolean chunk flags are merged into a single integer. More...
 
SharingRegionTagSet regionTags
 The set of region tags attached to the data represented by this chunk. More...
 
const typedef Ptr< Chunk >(* PeekConverter )(const Ptr< Chunk > &chunk, const Chunk::Iterator &iterator, b length, int flags)
 

Private Member Functions

void copy (const DhcpMessage &other)
 

Additional Inherited Members

- Public Types inherited from inet::Chunk
enum  ChunkType {
  CT_EMPTY, CT_BITCOUNT, CT_BITS, CT_BYTECOUNT,
  CT_BYTES, CT_SLICE, CT_ENCRYPTED, CT_CPACKET,
  CT_SEQUENCE, CT_FIELDS
}
 This enum is used to avoid std::dynamic_cast and dynamicPtrCast. More...
 
enum  PeekFlag {
  PF_ALLOW_NULLPTR = (1 << 0), PF_ALLOW_EMPTY = (1 << 1), PF_ALLOW_INCOMPLETE = (1 << 2), PF_ALLOW_INCORRECT = (1 << 3),
  PF_ALLOW_IMPROPERLY_REPRESENTED = (1 << 4), PF_ALLOW_SERIALIZATION = (1 << 5), PF_ALLOW_ALL = -1
}
 This enum specifies bitmasks for the flags argument of various peek functions. More...
 
- Public Types inherited from inet::IPrintableObject
enum  PrintLevel {
  PRINT_LEVEL_TRACE, PRINT_LEVEL_DEBUG, PRINT_LEVEL_DETAIL, PRINT_LEVEL_INFO,
  PRINT_LEVEL_COMPLETE = INT_MIN
}
 
enum  PrintFlag { PRINT_FLAG_FORMATTED = (1 << 0), PRINT_FLAG_MULTILINE = (1 << 1) }
 
- Static Public Member Functions inherited from inet::Chunk
static void serialize (MemoryOutputStream &stream, const Ptr< const Chunk > &chunk, b offset=b(0), b length=b(-1))
 Serializes a chunk into the given stream. More...
 
static const Ptr< Chunkdeserialize (MemoryInputStream &stream, const std::type_info &typeInfo)
 Deserializes a chunk from the given stream. More...
 
- Static Public Attributes inherited from inet::Chunk
static const b unspecifiedLength = b(-std::numeric_limits<int64_t>::max())
 
static bool enableImplicitChunkSerialization = false
 Peeking some part into a chunk that requires automatic serialization will throw an exception when implicit chunk serialization is disabled. More...
 
static int nextId = 0
 
- Protected Types inherited from inet::Chunk
enum  ChunkFlag { CF_IMMUTABLE = (1 << 0), CF_INCOMPLETE = (1 << 1), CF_INCORRECT = (1 << 2), CF_IMPROPERLY_REPRESENTED = (1 << 3) }
 This enum specifies bitmasks for the flags field of Chunk. More...
 
typedef bool(* PeekPredicate) (const Ptr< Chunk > &)
 
- Static Protected Member Functions inherited from inet::FieldsChunk
static const Ptr< ChunkconvertChunk (const std::type_info &typeInfo, const Ptr< Chunk > &chunk, b offset, b length, int flags)
 
- Static Protected Member Functions inherited from inet::Chunk
static const Ptr< ChunkconvertChunk (const std::type_info &typeInfo, const Ptr< Chunk > &chunk, b offset, b length, int flags)
 Creates a new chunk of the given type that represents the designated part of the provided chunk. More...
 

Detailed Description

Class generated from inet/applications/dhcp/DhcpMessage.msg:96 by opp_msgtool.

//
// Represents a DHCP message. DHCP (Dynamic Host Configuration Protocol, RFC 2131)
// provides a framework for passing configuration information to hosts on a TCP/IP network.
//
// @see DhcpClient, DhcpServer
//
class DhcpMessage extends FieldsChunk
{
    DhcpOpcode op; // message op code / message type. 1 = BOOTREQUEST, 2 = BOOTREPLY
    int htype; // hardware address type, see Arp section in "Assigned Numbers" RFC; e.g., '1' = 10mb ethernet
    int hlen; // hardware address length (e.g.  '6' for 10mb ethernet)
    int hops; // client sets to zero, optionally used by relay agents when booting via a relay agent
    unsigned int xid; // transaction ID, a random number chosen by the client, used by the client and server to associate messages and responses between a client and a server
    int secs; // filled in by client, seconds elapsed since client began address acquisition or renewal process
    bool broadcast; // the broadcast bit in the flags field
    uint16_t reserved = 0; // MUST BE ZERO (reserved for future use)
    Ipv4Address ciaddr; // client IP address; only filled in if client is in BOUND, RENEW or REBINDING state and can respond to Arp requests
    Ipv4Address yiaddr; // 'your' (client) IP address
    Ipv4Address giaddr; // relay agent IP address, used in booting via a relay agent
    MacAddress chaddr; // client hardware address (MAC)
    string sname; // optional server host name
    string file; // boot file name (unused in the simulation)
    DhcpOptions options; // holds DHCP options
}

Constructor & Destructor Documentation

◆ DhcpMessage() [1/2]

inet::DhcpMessage::DhcpMessage ( )

◆ DhcpMessage() [2/2]

inet::DhcpMessage::DhcpMessage ( const DhcpMessage other)

◆ ~DhcpMessage()

virtual inet::DhcpMessage::~DhcpMessage ( )
virtual

Member Function Documentation

◆ copy()

void inet::DhcpMessage::copy ( const DhcpMessage other)
private

◆ dup()

virtual DhcpMessage* inet::DhcpMessage::dup ( ) const
inlineoverridevirtual
364 {return new DhcpMessage(*this);}

◆ getBroadcast()

virtual bool inet::DhcpMessage::getBroadcast ( ) const
virtual

◆ getChaddr()

virtual const MacAddress& inet::DhcpMessage::getChaddr ( ) const
virtual

◆ getChaddrForUpdate()

virtual MacAddress& inet::DhcpMessage::getChaddrForUpdate ( )
inlinevirtual
405 { handleChange();return const_cast<MacAddress&>(const_cast<DhcpMessage*>(this)->getChaddr());}

◆ getCiaddr()

virtual const Ipv4Address& inet::DhcpMessage::getCiaddr ( ) const
virtual

◆ getCiaddrForUpdate()

virtual Ipv4Address& inet::DhcpMessage::getCiaddrForUpdate ( )
inlinevirtual
393 { handleChange();return const_cast<Ipv4Address&>(const_cast<DhcpMessage*>(this)->getCiaddr());}

◆ getFile()

virtual const char* inet::DhcpMessage::getFile ( ) const
virtual

◆ getGiaddr()

virtual const Ipv4Address& inet::DhcpMessage::getGiaddr ( ) const
virtual

◆ getGiaddrForUpdate()

virtual Ipv4Address& inet::DhcpMessage::getGiaddrForUpdate ( )
inlinevirtual
401 { handleChange();return const_cast<Ipv4Address&>(const_cast<DhcpMessage*>(this)->getGiaddr());}

◆ getHlen()

virtual int inet::DhcpMessage::getHlen ( ) const
virtual

◆ getHops()

virtual int inet::DhcpMessage::getHops ( ) const
virtual

◆ getHtype()

virtual int inet::DhcpMessage::getHtype ( ) const
virtual

◆ getOp()

virtual DhcpOpcode inet::DhcpMessage::getOp ( ) const
virtual

◆ getOptions()

virtual const DhcpOptions& inet::DhcpMessage::getOptions ( ) const
virtual

◆ getOptionsForUpdate()

virtual DhcpOptions& inet::DhcpMessage::getOptionsForUpdate ( )
inlinevirtual
415 { handleChange();return const_cast<DhcpOptions&>(const_cast<DhcpMessage*>(this)->getOptions());}

◆ getReserved()

virtual uint16_t inet::DhcpMessage::getReserved ( ) const
virtual

◆ getSecs()

virtual int inet::DhcpMessage::getSecs ( ) const
virtual

◆ getSname()

virtual const char* inet::DhcpMessage::getSname ( ) const
virtual

◆ getXid()

virtual unsigned int inet::DhcpMessage::getXid ( ) const
virtual

◆ getYiaddr()

virtual const Ipv4Address& inet::DhcpMessage::getYiaddr ( ) const
virtual

◆ getYiaddrForUpdate()

virtual Ipv4Address& inet::DhcpMessage::getYiaddrForUpdate ( )
inlinevirtual
397 { handleChange();return const_cast<Ipv4Address&>(const_cast<DhcpMessage*>(this)->getYiaddr());}

◆ operator=()

DhcpMessage& inet::DhcpMessage::operator= ( const DhcpMessage other)

◆ operator==()

bool inet::DhcpMessage::operator== ( const DhcpMessage )
protecteddelete

◆ parsimPack()

virtual void inet::DhcpMessage::parsimPack ( omnetpp::cCommBuffer *  b) const
overridevirtual

Referenced by inet::doParsimPacking().

◆ parsimUnpack()

virtual void inet::DhcpMessage::parsimUnpack ( omnetpp::cCommBuffer *  b)
overridevirtual

Referenced by inet::doParsimUnpacking().

◆ setBroadcast()

virtual void inet::DhcpMessage::setBroadcast ( bool  broadcast)
virtual

◆ setChaddr()

virtual void inet::DhcpMessage::setChaddr ( const MacAddress chaddr)
virtual

◆ setCiaddr()

virtual void inet::DhcpMessage::setCiaddr ( const Ipv4Address ciaddr)
virtual

◆ setFile()

virtual void inet::DhcpMessage::setFile ( const char *  file)
virtual

◆ setGiaddr()

virtual void inet::DhcpMessage::setGiaddr ( const Ipv4Address giaddr)
virtual

◆ setHlen()

virtual void inet::DhcpMessage::setHlen ( int  hlen)
virtual

◆ setHops()

virtual void inet::DhcpMessage::setHops ( int  hops)
virtual

◆ setHtype()

virtual void inet::DhcpMessage::setHtype ( int  htype)
virtual

◆ setOp()

virtual void inet::DhcpMessage::setOp ( DhcpOpcode  op)
virtual

◆ setOptions()

virtual void inet::DhcpMessage::setOptions ( const DhcpOptions options)
virtual

◆ setReserved()

virtual void inet::DhcpMessage::setReserved ( uint16_t  reserved)
virtual

◆ setSecs()

virtual void inet::DhcpMessage::setSecs ( int  secs)
virtual

◆ setSname()

virtual void inet::DhcpMessage::setSname ( const char *  sname)
virtual

◆ setXid()

virtual void inet::DhcpMessage::setXid ( unsigned int  xid)
virtual

◆ setYiaddr()

virtual void inet::DhcpMessage::setYiaddr ( const Ipv4Address yiaddr)
virtual

Member Data Documentation

◆ broadcast

bool inet::DhcpMessage::broadcast = false
protected

◆ chaddr

MacAddress inet::DhcpMessage::chaddr
protected

◆ ciaddr

Ipv4Address inet::DhcpMessage::ciaddr
protected

◆ file

::omnetpp::opp_string inet::DhcpMessage::file
protected

◆ giaddr

Ipv4Address inet::DhcpMessage::giaddr
protected

◆ hlen

int inet::DhcpMessage::hlen = 0
protected

◆ hops

int inet::DhcpMessage::hops = 0
protected

◆ htype

int inet::DhcpMessage::htype = 0
protected

◆ op

DhcpOpcode inet::DhcpMessage::op = static_cast<inet::DhcpOpcode>(-1)
protected

◆ options

DhcpOptions inet::DhcpMessage::options
protected

◆ reserved

uint16_t inet::DhcpMessage::reserved = 0
protected

◆ secs

int inet::DhcpMessage::secs = 0
protected

◆ sname

::omnetpp::opp_string inet::DhcpMessage::sname
protected

◆ xid

unsigned int inet::DhcpMessage::xid = 0
protected

◆ yiaddr

Ipv4Address inet::DhcpMessage::yiaddr
protected

The documentation for this class was generated from the following file:
inet::FieldsChunk::handleChange
virtual void handleChange() override
Definition: FieldsChunk.cc:50
inet::DhcpMessage::getOptions
virtual const DhcpOptions & getOptions() const
inet::DhcpMessage::DhcpMessage
DhcpMessage()
inet::DhcpMessage::getYiaddr
virtual const Ipv4Address & getYiaddr() const
inet::DhcpMessage::getCiaddr
virtual const Ipv4Address & getCiaddr() const
inet::DhcpMessage::getGiaddr
virtual const Ipv4Address & getGiaddr() const
inet::DhcpMessage::getChaddr
virtual const MacAddress & getChaddr() const