Rreq

Namespace: inet::aodv

class Rreq

Represents an AODV Route Request

Usage diagram

Inheritance diagram

Extends

Name

Type

Description

AodvControlPacket

class

Base packet for AODV Control Packets

Fields

Name

Type

Description

id

int

mutable

bool

complete

bool

correct

bool

properlyRepresented

bool

chunkLength

b

rawBin

string[]

rawHex

string[]

regionTags

SharingRegionTagSet::TagBaseRegionTag[]

packetType

AodvControlPacketType

packet type, stored in one byte

joinFlag

bool

Join flag; reserved for multicast.

repairFlag

bool

Repair flag; reserved for multicast.

gratuitousRREPFlag

bool

Gratuitous RREP flag; indicates whether a gratuitous RREP should be unicast to the node specified in the Destination IP Address field

destOnlyFlag

bool

Destination only flag; indicates only the destination may respond to this RREQ

unknownSeqNumFlag

bool

Unknown sequence number; indicates the destination sequence number is unknown

reserved

uint16_t

Sent as 0; ignored on reception.

hopCount

unsigned int

The number of hops from the Originator IP Address to the node handling the request.

rreqId

uint32_t

A sequence number uniquely identifying the particular RREQ when taken in conjunction with the originating node’s IP address.

destAddr

L3Address

The IP address of the destination for which a route is desired.

destSeqNum

uint32_t

The latest sequence number received in the past by the originator for any route towards the destination.

originatorAddr

L3Address

The IP address of the node which originated the Route Request.

originatorSeqNum

uint32_t

The current sequence number to be used in the route entry pointing towards the originator of the route request.

Properties

Name

Value

Description

beforeChange

handleChange()

descriptor

readonly

existingClass

packetData

Source code

//
// Represents an AODV Route Request
//
class Rreq extends AodvControlPacket
{
    // chunkLength = B(24) or B(48)
    // packetType = RREQ or RREQ_IPv6
    bool joinFlag;    // Join flag; reserved for multicast.
    bool repairFlag;    // Repair flag; reserved for multicast.
    bool gratuitousRREPFlag;    // Gratuitous RREP flag; indicates whether a gratuitous RREP should be unicast to the node specified in the Destination IP Address field
    bool destOnlyFlag;    // Destination only flag; indicates only the destination may respond to this RREQ
    bool unknownSeqNumFlag;    // Unknown sequence number; indicates the destination sequence number is unknown
    uint16_t reserved = 0;    // Sent as 0; ignored on reception.
    unsigned int hopCount;    // The number of hops from the Originator IP Address to the node handling the request.
    uint32_t rreqId;    // A sequence number uniquely identifying the particular RREQ when taken in conjunction with the originating node's IP address.
    L3Address destAddr;    // The IP address of the destination for which a route is desired.
    uint32_t destSeqNum;    // The latest sequence number received in the past by the originator for any route towards the destination.
    L3Address originatorAddr;    // The IP address of the node which originated the Route Request.
    uint32_t originatorSeqNum;    // The current sequence number to be used in the route entry pointing towards the originator of the route request.
}

File: src/inet/routing/aodv/AodvControlPackets.msg