Doxygen introspection did not find any typical Config paths. More...
#include <dsr-options.h>
Public Member Functions | |
DsrOptionRreq () | |
Constructor. More... | |
virtual | ~DsrOptionRreq () |
Destructor. More... | |
virtual TypeId | GetInstanceTypeId () const |
Get the instance type ID. More... | |
virtual uint8_t | GetOptionNumber () const |
Get the option number. More... | |
virtual uint8_t | Process (Ptr< Packet > packet, Ptr< Packet > dsrP, Ipv4Address ipv4Address, Ipv4Address source, Ipv4Header const &ipv4Header, uint8_t protocol, bool &isPromisc, Ipv4Address promiscSource) |
Process method. More... | |
![]() | |
DsrOptions () | |
Constructor. More... | |
virtual | ~DsrOptions () |
Destructor. More... | |
bool | CheckDuplicates (Ipv4Address ipv4Address, std::vector< Ipv4Address > &vec) |
Check if the route already contains the node ip address. More... | |
bool | ContainAddressAfter (Ipv4Address ipv4Address, Ipv4Address destAddress, std::vector< Ipv4Address > &nodeList) |
Search for the ipv4 address in the node list. More... | |
std::vector< Ipv4Address > | CutRoute (Ipv4Address ipv4Address, std::vector< Ipv4Address > &nodeList) |
Cut the route from ipv4Address to the end of the route vector. More... | |
uint32_t | GetIDfromIP (Ipv4Address address) |
Get the node id with Ipv4Address. More... | |
Ptr< Node > | GetNode () const |
Get the node. More... | |
Ptr< Node > | GetNodeWithAddress (Ipv4Address ipv4Address) |
Get the node object with Ipv4Address. More... | |
bool | IfDuplicates (std::vector< Ipv4Address > &vec, std::vector< Ipv4Address > &vec2) |
Check if the two vectors contain duplicate or not. More... | |
void | PrintVector (std::vector< Ipv4Address > &vec) |
Print out the elements in the route vector. More... | |
void | RemoveDuplicates (std::vector< Ipv4Address > &vec) |
Remove the duplicates from the route. More... | |
bool | ReverseRoutes (std::vector< Ipv4Address > &vec) |
Reverse the routes. More... | |
Ipv4Address | ReverseSearchNextHop (Ipv4Address ipv4Address, std::vector< Ipv4Address > &vec) |
Reverse search for the next hop in the route. More... | |
Ipv4Address | ReverseSearchNextTwoHop (Ipv4Address ipv4Address, std::vector< Ipv4Address > &vec) |
Reverse search for the next two hop in the route. More... | |
void | ScheduleReply (Ptr< Packet > &packet, std::vector< Ipv4Address > &nodeList, Ipv4Address &source, Ipv4Address &destination) |
Schedule the intermediate node route request broadcast. More... | |
Ipv4Address | SearchNextHop (Ipv4Address ipv4Address, std::vector< Ipv4Address > &vec) |
Search for the next hop in the route. More... | |
void | SetNode (Ptr< Node > node) |
Set the node. More... | |
virtual Ptr< Ipv4Route > | SetRoute (Ipv4Address nextHop, Ipv4Address srcAddress) |
Set the route to use for data packets, used by the option headers when sending data/control packets. More... | |
![]() | |
Object () | |
virtual | ~Object () |
void | AggregateObject (Ptr< Object > other) |
void | Dispose (void) |
Run the DoDispose methods of this object and all the objects aggregated to it. More... | |
AggregateIterator | GetAggregateIterator (void) const |
template<typename T > | |
Ptr< T > | GetObject (void) const |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
void | Initialize (void) |
This method calls the virtual DoInitialize method on all the objects aggregated to this object. More... | |
![]() | |
SimpleRefCount () | |
Constructor. More... | |
SimpleRefCount (const SimpleRefCount &o) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount (void) const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
Assignment. More... | |
void | Ref (void) const |
Increment the reference count. More... | |
void | Unref (void) const |
Decrement the reference count. More... | |
![]() | |
virtual | ~ObjectBase () |
Virtual destructor. More... | |
void | GetAttribute (std::string name, AttributeValue &value) const |
bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
void | SetAttribute (std::string name, const AttributeValue &value) |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Static Public Member Functions | |
static TypeId | GetTypeId () |
![]() | |
static TypeId | GetTypeId (void) |
Get the type identificator. More... | |
![]() | |
static TypeId | GetTypeId (void) |
Register this type. More... | |
![]() | |
static void | Cleanup (void) |
Noop. More... | |
![]() | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Static Public Attributes | |
static const uint8_t | OPT_NUMBER = 1 |
Rreq option number. More... | |
Private Attributes | |
Ptr< Ipv4 > | m_ipv4 |
The ipv4. More... | |
Ptr< dsr::RouteCache > | m_routeCache |
The route cache. More... | |
Additional Inherited Members | |
![]() | |
Object (const Object &o) | |
virtual void | DoDispose (void) |
This method is called by Object::Dispose or by the object's destructor, whichever comes first. More... | |
virtual void | DoInitialize (void) |
This method is called only once by Object::Initialize. More... | |
virtual void | NotifyNewAggregate (void) |
This method is invoked whenever two sets of objects are aggregated together. More... | |
![]() | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
virtual void | NotifyConstructionCompleted (void) |
This method is invoked once all member attributes have been initialized. More... | |
![]() | |
Time | ActiveRouteTimeout |
The active route timeout value. More... | |
Ipv4Address | Broadcast |
The broadcast IP address. More... | |
TracedCallback< Ptr< const Packet > > | m_dropTrace |
Drop trace callback. More... | |
std::vector< Ipv4Address > | m_finalRoute |
The vector of final Ipv4 address. More... | |
Ptr< Ipv4 > | m_ipv4 |
The ipv4. More... | |
std::vector< Ipv4Address > | m_ipv4Address |
The vector of Ipv4 address. More... | |
Ptr< Ipv4Route > | m_ipv4Route |
The ipv4 route. More... | |
Ptr< dsr::RouteCache > | m_routeCache |
The route cache table. More... | |
Ptr< dsr::RreqTable > | m_rreqTable |
The route request table. More... | |
TracedCallback< const DsrOptionSRHeader & > | m_rxPacketTrace |
The receive trace back, only triggered when final destination receive data packet. More... | |
Doxygen introspection did not find any typical Config paths.
Dsr Option Rreq.
No Attributes are defined for this type.
No TraceSources are defined for this type.
Definition at line 319 of file dsr-options.h.
ns3::dsr::DsrOptionRreq::DsrOptionRreq | ( | ) |
|
virtual |
|
virtual |
Get the instance type ID.
Reimplemented from ns3::Object.
Definition at line 465 of file dsr-options.cc.
References GetTypeId().
|
virtual |
Get the option number.
Implements ns3::dsr::DsrOptions.
Definition at line 480 of file dsr-options.cc.
References NS_LOG_FUNCTION_NOARGS, and OPT_NUMBER.
|
static |
Definition at line 456 of file dsr-options.cc.
References ns3::TypeId::SetParent().
Referenced by GetInstanceTypeId().
|
virtual |
Process method.
Called from DsrRouting::Receive.
packet | the packet |
dsrP | the clean packet with payload |
ipv4Address | the IPv4 address |
source | IPv4 address of the source |
ipv4Header | the IPv4 header of packet received |
protocol | the protocol number of the up layer |
isPromisc | if the packet must be dropped |
promiscSource | IPv4 address |
TODO has changed the srcAddress to source, should not matter either way, check later
TODO !!!!!!!!!!!!!! Think about this part, we just added the route, probability no need to increase stability now?????
push back the intermediate node address from the source to this node
push back the route vector we found in our route cache to destination, including this node's address
Implements ns3::dsr::DsrOptions.
Definition at line 487 of file dsr-options.cc.
References ns3::dsr::DsrOptions::ActiveRouteTimeout, ns3::dsr::DsrOptionField::AddDsrOption(), ns3::Packet::AddHeader(), ns3::Packet::AddPacketTag(), ns3::dsr::DsrOptions::CheckDuplicates(), ns3::Packet::Copy(), ns3::Packet::CopyData(), ns3::dsr::DsrOptionRerrUnreachHeader::GetErrorDst(), ns3::dsr::DsrOptionRerrUnreachHeader::GetErrorSrc(), ns3::dsr::DsrOptionRreqHeader::GetId(), ns3::dsr::DsrOptions::GetIDfromIP(), ns3::dsr::DsrOptionHeader::GetLength(), ns3::dsr::DsrOptionRreqHeader::GetNodesAddresses(), ns3::dsr::DsrOptions::GetNodeWithAddress(), ns3::Object::GetObject(), ns3::dsr::DsrOptionRerrUnreachHeader::GetSalvage(), ns3::dsr::DsrOptionRreqHeader::GetSerializedSize(), ns3::Packet::GetSize(), ns3::Ipv4Header::GetSource(), ns3::dsr::DsrOptionRreqHeader::GetTarget(), ns3::Ipv4Header::GetTtl(), ns3::dsr::DsrOptionRerrUnreachHeader::GetUnreachNode(), ns3::dsr::RouteCacheEntry::GetVector(), ns3::dsr::DsrOptions::IfDuplicates(), ns3::dsr::DsrOptions::m_dropTrace, ns3::dsr::DsrOptions::m_finalRoute, ns3::dsr::DsrOptions::m_ipv4Route, NS_ASSERT, NS_LOG_DEBUG, NS_LOG_FUNCTION, NS_LOG_LOGIC, ns3::dsr::DsrOptions::PrintVector(), ns3::dsr::DsrOptions::ReverseRoutes(), ns3::dsr::DsrOptions::ReverseSearchNextHop(), ns3::dsr::DsrOptions::SearchNextHop(), ns3::dsr::DsrFsHeader::SetDestId(), ns3::dsr::DsrOptionRerrUnreachHeader::SetErrorDst(), ns3::dsr::DsrOptionRerrUnreachHeader::SetErrorSrc(), ns3::dsr::DsrOptionRerrHeader::SetErrorType(), ns3::dsr::DsrFsHeader::SetMessageType(), ns3::dsr::DsrFsHeader::SetNextHeader(), ns3::dsr::DsrOptionRreqHeader::SetNodesAddress(), ns3::dsr::DsrOptionRrepHeader::SetNodesAddress(), ns3::dsr::DsrOptionSRHeader::SetNodesAddress(), ns3::dsr::DsrOptionRreqHeader::SetNumberAddress(), ns3::dsr::DsrFsHeader::SetPayloadLength(), ns3::dsr::DsrOptions::SetRoute(), ns3::dsr::DsrOptionSRHeader::SetSalvage(), ns3::dsr::DsrOptionRerrUnreachHeader::SetSalvage(), ns3::dsr::DsrOptionSRHeader::SetSegmentsLeft(), ns3::dsr::DsrFsHeader::SetSourceId(), ns3::SocketIpTtlTag::SetTtl(), and ns3::dsr::DsrOptionRerrUnreachHeader::SetUnreachNode().
The ipv4.
Definition at line 353 of file dsr-options.h.
|
private |
The route cache.
Definition at line 349 of file dsr-options.h.
|
static |