Rip v2 Routing Table Entry (RTE) - see RFC 2453. More...
#include "rip-header.h"
Public Member Functions | |
RipRte (void) | |
virtual uint32_t | Deserialize (Buffer::Iterator start) |
Deserialize the packet. More... | |
virtual TypeId | GetInstanceTypeId (void) const |
Return the instance type identifier. More... | |
Ipv4Address | GetNextHop (void) const |
Get the next hop. More... | |
Ipv4Address | GetPrefix (void) const |
Get the prefix. More... | |
uint32_t | GetRouteMetric (void) const |
Get the route metric. More... | |
uint16_t | GetRouteTag (void) const |
Get the route tag. More... | |
virtual uint32_t | GetSerializedSize (void) const |
Get the serialized size of the packet. More... | |
Ipv4Mask | GetSubnetMask (void) const |
Get the subnet mask. More... | |
virtual void | Print (std::ostream &os) const |
virtual void | Serialize (Buffer::Iterator start) const |
Serialize the packet. More... | |
void | SetNextHop (Ipv4Address nextHop) |
Set the next hop. More... | |
void | SetPrefix (Ipv4Address prefix) |
Set the prefix. More... | |
void | SetRouteMetric (uint32_t routeMetric) |
Set the route metric. More... | |
void | SetRouteTag (uint16_t routeTag) |
Set the route tag. More... | |
void | SetSubnetMask (Ipv4Mask subnetMask) |
Set the subnet mask. More... | |
Public Member Functions inherited from ns3::Header | |
virtual | ~Header () |
virtual uint32_t | Deserialize (Buffer::Iterator start)=0 |
Deserialize the object from a buffer iterator. More... | |
virtual uint32_t | Deserialize (Buffer::Iterator start)=0 |
virtual uint32_t | Deserialize (Buffer::Iterator start, Buffer::Iterator end) |
Deserialize the object from a buffer iterator. More... | |
virtual uint32_t | GetSerializedSize (void) const =0 |
virtual void | Print (std::ostream &os) const =0 |
virtual void | Serialize (Buffer::Iterator start) const =0 |
virtual uint32_t | Deserialize (Buffer::Iterator start)=0 |
Deserialize the object from a buffer iterator. More... | |
virtual uint32_t | Deserialize (Buffer::Iterator start, Buffer::Iterator end) |
Deserialize the object from a buffer iterator. More... | |
virtual void | Print (std::ostream &os) const =0 |
Print the object contents. More... | |
Public Member Functions inherited from ns3::ObjectBase | |
virtual | ~ObjectBase () |
Virtual destructor. More... | |
void | GetAttribute (std::string name, AttributeValue &value) const |
Get the value of an attribute, raising fatal errors if unsuccessful. More... | |
bool | GetAttributeFailSafe (std::string name, AttributeValue &value) const |
Get the value of an attribute without raising erros. More... | |
virtual TypeId | GetInstanceTypeId (void) const =0 |
Get the most derived TypeId for this Object. More... | |
void | SetAttribute (std::string name, const AttributeValue &value) |
Set a single attribute, raising fatal errors if unsuccessful. More... | |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
Set a single attribute without raising errors. More... | |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
Connect a TraceSource to a Callback with a context. More... | |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
Connect a TraceSource to a Callback without a context. More... | |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected with a context. More... | |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected without a context. More... | |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Static Public Member Functions inherited from ns3::Header | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Static Public Member Functions inherited from ns3::Chunk | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Static Public Member Functions inherited from ns3::ObjectBase | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Private Attributes | |
uint32_t | m_metric |
Route metric. More... | |
Ipv4Address | m_nextHop |
Next hop. More... | |
Ipv4Address | m_prefix |
Advertised prefix. More... | |
Ipv4Mask | m_subnetMask |
Subnet mask. More... | |
uint16_t | m_tag |
Route tag. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from ns3::ObjectBase | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
Complete construction of ObjectBase; invoked by derived classes. More... | |
virtual void | NotifyConstructionCompleted (void) |
Notifier called once the ObjectBase is fully constructed. More... | |
Related Functions inherited from ns3::ObjectBase | |
static TypeId | GetObjectIid (void) |
Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. More... | |
Rip v2 Routing Table Entry (RTE) - see RFC 2453.
Introspection did not find any typical Config paths.
No Attributes are defined for this type.
No TraceSources are defined for this type.
Size of this type is 40 bytes (on a 64-bit architecture).
Definition at line 37 of file rip-header.h.
ns3::RipRte::RipRte | ( | void | ) |
Definition at line 32 of file rip-header.cc.
|
virtual |
Deserialize the packet.
start | Buffer iterator. |
Implements ns3::Header.
Definition at line 73 of file rip-header.cc.
References GetSerializedSize(), m_metric, m_nextHop, m_prefix, m_subnetMask, m_tag, ns3::Buffer::Iterator::ReadNtohU16(), ns3::Buffer::Iterator::ReadNtohU32(), ns3::Ipv4Address::Set(), and ns3::Ipv4Mask::Set().
Referenced by ns3::RipHeader::Deserialize().
|
virtual |
Return the instance type identifier.
Implements ns3::ObjectBase.
Definition at line 46 of file rip-header.cc.
References GetTypeId().
Ipv4Address ns3::RipRte::GetNextHop | ( | void | ) | const |
Get the next hop.
Definition at line 138 of file rip-header.cc.
References m_nextHop.
Ipv4Address ns3::RipRte::GetPrefix | ( | void | ) | const |
Get the prefix.
Definition at line 98 of file rip-header.cc.
References m_prefix.
uint32_t ns3::RipRte::GetRouteMetric | ( | void | ) | const |
Get the route metric.
Definition at line 128 of file rip-header.cc.
References m_metric.
uint16_t ns3::RipRte::GetRouteTag | ( | void | ) | const |
Get the route tag.
Definition at line 118 of file rip-header.cc.
References m_tag.
|
virtual |
Get the serialized size of the packet.
Implements ns3::Header.
Definition at line 57 of file rip-header.cc.
Referenced by Deserialize(), ns3::Rip::DoSendRouteUpdate(), ns3::RipHeader::GetSerializedSize(), and ns3::Rip::HandleRequests().
Ipv4Mask ns3::RipRte::GetSubnetMask | ( | void | ) | const |
Get the subnet mask.
Definition at line 108 of file rip-header.cc.
References m_subnetMask.
|
static |
Get the type ID.
Definition at line 37 of file rip-header.cc.
References ns3::TypeId::SetParent().
Referenced by GetInstanceTypeId().
|
virtual |
os | output stream This method is used by Packet::Print to print the content of a header as ascii data to a c++ output stream. Although the header is free to format its output as it wishes, it is recommended to follow a few rules to integrate with the packet pretty printer: start with flags, small field values located between a pair of parens. Values should be separated by whitespace. Follow the parens with the important fields, separated by whitespace. i.e.: (field1 val1 field2 val2 field3 val3) field4 val4 field5 val5 |
Implements ns3::Header.
Definition at line 51 of file rip-header.cc.
References ns3::Ipv4Mask::GetPrefixLength(), m_metric, m_nextHop, m_prefix, m_subnetMask, and m_tag.
Referenced by ns3::operator<<().
|
virtual |
Serialize the packet.
start | Buffer iterator. |
Implements ns3::Header.
Definition at line 62 of file rip-header.cc.
References ns3::Ipv4Address::Get(), ns3::Ipv4Mask::Get(), m_metric, m_nextHop, m_prefix, m_subnetMask, m_tag, ns3::Buffer::Iterator::WriteHtonU16(), and ns3::Buffer::Iterator::WriteHtonU32().
void ns3::RipRte::SetNextHop | ( | Ipv4Address | nextHop | ) |
Set the next hop.
nextHop | The next hop. |
Definition at line 133 of file rip-header.cc.
References m_nextHop.
void ns3::RipRte::SetPrefix | ( | Ipv4Address | prefix | ) |
Set the prefix.
prefix | The prefix. |
Definition at line 93 of file rip-header.cc.
References m_prefix.
Referenced by ns3::Rip::DoSendRouteUpdate(), ns3::Rip::HandleRequests(), and ns3::Rip::SendRouteRequest().
void ns3::RipRte::SetRouteMetric | ( | uint32_t | routeMetric | ) |
Set the route metric.
routeMetric | The route metric. |
Definition at line 123 of file rip-header.cc.
References m_metric.
Referenced by ns3::Rip::DoSendRouteUpdate(), ns3::Rip::HandleRequests(), and ns3::Rip::SendRouteRequest().
void ns3::RipRte::SetRouteTag | ( | uint16_t | routeTag | ) |
Set the route tag.
routeTag | The route tag. |
Definition at line 113 of file rip-header.cc.
References m_tag.
Referenced by ns3::Rip::DoSendRouteUpdate(), and ns3::Rip::HandleRequests().
void ns3::RipRte::SetSubnetMask | ( | Ipv4Mask | subnetMask | ) |
Set the subnet mask.
subnetMask | The subnet mask. |
Definition at line 103 of file rip-header.cc.
References m_subnetMask.
Referenced by ns3::Rip::DoSendRouteUpdate(), ns3::Rip::HandleRequests(), and ns3::Rip::SendRouteRequest().
|
private |
Route metric.
Definition at line 141 of file rip-header.h.
Referenced by Deserialize(), GetRouteMetric(), Print(), Serialize(), and SetRouteMetric().
|
private |
Next hop.
Definition at line 140 of file rip-header.h.
Referenced by Deserialize(), GetNextHop(), Print(), Serialize(), and SetNextHop().
|
private |
Advertised prefix.
Definition at line 138 of file rip-header.h.
Referenced by Deserialize(), GetPrefix(), Print(), Serialize(), and SetPrefix().
|
private |
Subnet mask.
Definition at line 139 of file rip-header.h.
Referenced by Deserialize(), GetSubnetMask(), Print(), Serialize(), and SetSubnetMask().
|
private |
Route tag.
Definition at line 137 of file rip-header.h.
Referenced by Deserialize(), GetRouteTag(), Print(), Serialize(), and SetRouteTag().