Ipv4 route cache entry (similar to Linux struct rtable) More...
#include <ipv4-route.h>
Public Member Functions | |
Ipv4Address | GetDestination (void) const |
Ipv4Address | GetGateway (void) const |
Ptr< NetDevice > | GetOutputDevice (void) const |
Ipv4Address | GetSource (void) const |
void | SetDestination (Ipv4Address dest) |
void | SetGateway (Ipv4Address gw) |
void | SetOutputDevice (Ptr< NetDevice > outputDevice) |
void | SetSource (Ipv4Address src) |
Public Member Functions inherited from ns3::SimpleRefCount< Ipv4Route > | |
SimpleRefCount (const SimpleRefCount &o) | |
uint32_t | GetReferenceCount (void) const |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
Private Attributes | |
Ipv4Address | m_dest |
Ipv4Address | m_gateway |
Ptr< NetDevice > | m_outputDevice |
Ipv4Address | m_source |
Additional Inherited Members | |
Static Public Member Functions inherited from ns3::SimpleRefCount< Ipv4Route > | |
static void | Cleanup (void) |
Ipv4 route cache entry (similar to Linux struct rtable)
This is a reference counted object. In the future, we will add other entries from struct dst_entry, struct rtable, and struct dst_ops as needed.
Definition at line 42 of file ipv4-route.h.
Ipv4Address ns3::Ipv4Route::GetDestination | ( | void | ) | const |
Definition at line 42 of file ipv4-route.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::dsdv::RoutingProtocol::LookForQueuedPackets(), ns3::aodv::RoutingTableEntry::operator==(), ns3::dsdv::RoutingTableEntry::operator==(), ns3::aodv::RoutingProtocol::RouteOutput(), and ns3::dsdv::RoutingProtocol::RouteOutput().
Ipv4Address ns3::Ipv4Route::GetGateway | ( | void | ) | const |
Definition at line 70 of file ipv4-route.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::aodv::RoutingProtocol::Forwarding(), ns3::aodv::RoutingProtocol::RouteOutput(), and ns3::Ipv4L3Protocol::Send().
Definition at line 84 of file ipv4-route.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::aodv::RoutingProtocol::RouteOutput(), ns3::dsdv::RoutingProtocol::RouteOutput(), ns3::Ipv4NixVectorRouting::RouteOutput(), ns3::dsdv::RoutingProtocol::SendPacketFromQueue(), and ns3::aodv::RoutingProtocol::SendPacketFromQueue().
Ipv4Address ns3::Ipv4Route::GetSource | ( | void | ) | const |
Definition at line 56 of file ipv4-route.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::aodv::RoutingProtocol::Forwarding(), ns3::dsdv::RoutingProtocol::LookForQueuedPackets(), ns3::dsdv::RoutingProtocol::LoopbackRoute(), ns3::aodv::RoutingProtocol::LoopbackRoute(), ns3::aodv::RoutingProtocol::RouteOutput(), ns3::dsdv::RoutingProtocol::RouteOutput(), ns3::dsdv::RoutingProtocol::SendPacketFromQueue(), ns3::aodv::RoutingProtocol::SendPacketFromQueue(), ns3::Ipv4RawSocketImpl::SendTo(), and ns3::TcpSocketBase::SetupEndpoint().
void ns3::Ipv4Route::SetDestination | ( | Ipv4Address | dest | ) |
dest | Destination Ipv4Address |
Definition at line 35 of file ipv4-route.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::dsdv::RoutingProtocol::LoopbackRoute(), ns3::aodv::RoutingProtocol::LoopbackRoute(), ns3::Ipv4NixVectorRouting::RouteInput(), ns3::olsr::RoutingProtocol::RouteInput(), ns3::Ipv4NixVectorRouting::RouteOutput(), ns3::dsdv::RoutingTableEntry::RoutingTableEntry(), ns3::aodv::RoutingTableEntry::RoutingTableEntry(), ns3::dsr::DsrOptions::SetRoute(), and ns3::dsr::DsrRouting::SetRoute().
void ns3::Ipv4Route::SetGateway | ( | Ipv4Address | gw | ) |
gw | Gateway (next hop) Ipv4Address |
Definition at line 63 of file ipv4-route.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::dsdv::RoutingProtocol::LoopbackRoute(), ns3::aodv::RoutingProtocol::LoopbackRoute(), ns3::Ipv4NixVectorRouting::RouteInput(), ns3::olsr::RoutingProtocol::RouteInput(), ns3::Ipv4NixVectorRouting::RouteOutput(), ns3::dsdv::RoutingTableEntry::RoutingTableEntry(), ns3::aodv::RoutingTableEntry::RoutingTableEntry(), ns3::dsr::DsrOptions::SetRoute(), and ns3::dsr::DsrRouting::SetRoute().
Equivalent in Linux to dst_entry.dev
outputDevice | pointer to NetDevice for outgoing packets |
Definition at line 77 of file ipv4-route.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::dsr::DsrRouting::CheckSendBuffer(), ns3::dsr::DsrRouting::ForwardErrPacket(), ns3::dsdv::RoutingProtocol::LoopbackRoute(), ns3::aodv::RoutingProtocol::LoopbackRoute(), ns3::Ipv4NixVectorRouting::RouteInput(), ns3::olsr::RoutingProtocol::RouteInput(), ns3::Ipv4NixVectorRouting::RouteOutput(), ns3::dsdv::RoutingTableEntry::RoutingTableEntry(), ns3::aodv::RoutingTableEntry::RoutingTableEntry(), ns3::dsr::DsrRouting::SalvagePacket(), ns3::dsr::DsrRouting::SendAck(), ns3::dsr::DsrRouting::SendPacket(), ns3::dsr::DsrRouting::SendPacketFromBuffer(), ns3::dsr::DsrRouting::SendReply(), and ns3::dsr::DsrRouting::SendUnreachError().
void ns3::Ipv4Route::SetSource | ( | Ipv4Address | src | ) |
src | Source Ipv4Address |
Definition at line 49 of file ipv4-route.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::dsdv::RoutingProtocol::LoopbackRoute(), ns3::aodv::RoutingProtocol::LoopbackRoute(), ns3::Ipv4NixVectorRouting::RouteInput(), ns3::olsr::RoutingProtocol::RouteInput(), ns3::Ipv4NixVectorRouting::RouteOutput(), ns3::dsdv::RoutingTableEntry::RoutingTableEntry(), ns3::aodv::RoutingTableEntry::RoutingTableEntry(), ns3::dsr::DsrOptions::SetRoute(), and ns3::dsr::DsrRouting::SetRoute().