Packet header for IPv4. More...
#include <ipv4-header.h>
Public Types | |
enum | DscpType { DscpDefault = 0x00, CS1 = 0x20, AF11 = 0x28, AF12 = 0x30, AF13 = 0x38, CS2 = 0x40, AF21 = 0x48, AF22 = 0x50, AF23 = 0x58, CS3 = 0x60, AF31 = 0x68, AF32 = 0x70, AF33 = 0x78, CS4 = 0x80, AF41 = 0x88, AF42 = 0x90, AF43 = 0x98, CS5 = 0xA0, EF = 0xB8, CS6 = 0xC0, CS7 = 0xE0 } |
DiffServ Code Points Code Points defined in Assured Forwarding (AF) RFC 2597 Expedited Forwarding (EF) RFC 2598 Default and Class Selector (CS) RFC 2474. More... | |
enum | EcnType { NotECT = 0x00, ECT1 = 0x01, ECT0 = 0x02, CE = 0x03 } |
ECN Type defined in RFC 3168. More... |
Public Member Functions | |
Ipv4Header () | |
Construct a null IPv4 header. | |
virtual uint32_t | Deserialize (Buffer::Iterator start) |
std::string | DscpTypeToString (DscpType dscp) const |
std::string | EcnTypeToString (EcnType ecn) const |
void | EnableChecksum (void) |
Enable checksum calculation for this header. | |
Ipv4Address | GetDestination (void) const |
DscpType | GetDscp (void) const |
EcnType | GetEcn (void) const |
uint16_t | GetFragmentOffset (void) const |
uint16_t | GetIdentification (void) const |
virtual TypeId | GetInstanceTypeId (void) const |
uint16_t | GetPayloadSize (void) const |
uint8_t | GetProtocol (void) const |
virtual uint32_t | GetSerializedSize (void) const |
Ipv4Address | GetSource (void) const |
uint8_t | GetTos (void) const |
uint8_t | GetTtl (void) const |
bool | IsChecksumOk (void) const |
bool | IsDontFragment (void) const |
bool | IsLastFragment (void) const |
virtual void | Print (std::ostream &os) const |
virtual void | Serialize (Buffer::Iterator start) const |
void | SetDestination (Ipv4Address destination) |
void | SetDontFragment (void) |
void | SetDscp (DscpType dscp) |
Set DSCP Field. | |
void | SetEcn (EcnType ecn) |
Set ECN Field. | |
void | SetFragmentOffset (uint16_t offsetBytes) |
void | SetIdentification (uint16_t identification) |
void | SetLastFragment (void) |
void | SetMayFragment (void) |
void | SetMoreFragments (void) |
void | SetPayloadSize (uint16_t size) |
void | SetProtocol (uint8_t num) |
void | SetSource (Ipv4Address source) |
void | SetTos (uint8_t tos) |
void | SetTtl (uint8_t ttl) |
![]() | |
virtual | ~Header () |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
Private Types | |
enum | FlagsE { DONT_FRAGMENT = (1<<0), MORE_FRAGMENTS = (1<<1) } |
Private Attributes | |
bool | m_calcChecksum |
uint16_t | m_checksum |
Ipv4Address | m_destination |
uint32_t | m_flags: 3 |
uint16_t | m_fragmentOffset |
bool | m_goodChecksum |
uint16_t | m_headerSize |
uint16_t | m_identification |
uint16_t | m_payloadSize |
uint32_t | m_protocol: 8 |
Ipv4Address | m_source |
uint32_t | m_tos: 8 |
uint32_t | m_ttl: 8 |
Additional Inherited Members | |
![]() | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
virtual void | NotifyConstructionCompleted (void) |
Packet header for IPv4.
Doxygen introspection did not find any typical Config paths.
No Attributes are defined for this type.
No TraceSources are defined for this type.
Definition at line 31 of file ipv4-header.h.
DiffServ Code Points Code Points defined in Assured Forwarding (AF) RFC 2597 Expedited Forwarding (EF) RFC 2598 Default and Class Selector (CS) RFC 2474.
DscpDefault | |
CS1 | |
AF11 | |
AF12 | |
AF13 | |
CS2 | |
AF21 | |
AF22 | |
AF23 | |
CS3 | |
AF31 | |
AF32 | |
AF33 | |
CS4 | |
AF41 | |
AF42 | |
AF43 | |
CS5 | |
EF | |
CS6 | |
CS7 |
Definition at line 64 of file ipv4-header.h.
ECN Type defined in RFC 3168.
Definition at line 105 of file ipv4-header.h.
|
private |
Definition at line 229 of file ipv4-header.h.
ns3::Ipv4Header::Ipv4Header | ( | ) |
Construct a null IPv4 header.
Definition at line 33 of file ipv4-header.cc.
|
virtual |
start | an iterator which points to where the header should written. |
This method is used by Packet::RemoveHeader to re-create a header from the byte buffer of a packet. The data read is expected to match bit-for-bit the representation of this header in real networks.
Implements ns3::Header.
Definition at line 421 of file ipv4-header.cc.
References ns3::Buffer::Iterator::CalculateIpChecksum(), DONT_FRAGMENT, GetSerializedSize(), m_calcChecksum, m_checksum, m_destination, m_flags, m_fragmentOffset, m_goodChecksum, m_headerSize, m_identification, m_payloadSize, m_protocol, m_source, m_tos, m_ttl, MORE_FRAGMENTS, NS_ASSERT, NS_LOG_FUNCTION, NS_LOG_LOGIC, ns3::Buffer::Iterator::Prev(), ns3::Buffer::Iterator::ReadNtohU16(), ns3::Buffer::Iterator::ReadNtohU32(), ns3::Buffer::Iterator::ReadU16(), ns3::Buffer::Iterator::ReadU8(), ns3::Ipv4Address::Set(), and visualizer.core::start().
Referenced by ns3::Icmpv4DestinationUnreachable::Deserialize(), and ns3::Icmpv4TimeExceeded::Deserialize().
std::string ns3::Ipv4Header::DscpTypeToString | ( | DscpType | dscp | ) | const |
Definition at line 113 of file ipv4-header.cc.
References AF11, AF12, AF13, AF21, AF22, AF23, AF31, AF32, AF33, AF41, AF42, AF43, CS1, CS2, CS3, CS4, CS5, CS6, CS7, DscpDefault, EF, and NS_LOG_FUNCTION.
Referenced by Print().
std::string ns3::Ipv4Header::EcnTypeToString | ( | EcnType | ecn | ) | const |
Definition at line 175 of file ipv4-header.cc.
References CE, ECT0, ECT1, NotECT, and NS_LOG_FUNCTION.
Referenced by Print().
void ns3::Ipv4Header::EnableChecksum | ( | void | ) |
Enable checksum calculation for this header.
Definition at line 49 of file ipv4-header.cc.
References m_calcChecksum, and NS_LOG_FUNCTION.
Referenced by ns3::Ipv4L3Protocol::BuildHeader(), ns3::Ipv4L3Protocol::DoFragmentation(), ns3::NscTcpL4Protocol::Receive(), ns3::Ipv4L3Protocol::Receive(), and ns3::Ipv4L3Protocol::SendWithHeader().
Ipv4Address ns3::Ipv4Header::GetDestination | ( | void | ) | const |
Definition at line 303 of file ipv4-header.cc.
References m_destination, and NS_LOG_FUNCTION.
Referenced by ns3::dsr::DsrRouting::CallCancelPacketTimer(), ns3::IpcsClassifier::Classify(), ns3::Ipv4FlowClassifier::Classify(), ns3::EpcTftClassifier::Classify(), ns3::aodv::RoutingProtocol::DeferredRouteOutput(), ns3::TcpSocketBase::DoForwardUp(), ns3::aodv::QueueEntryTest::DoRun(), ns3::UdpSocketImpl::DoSendTo(), ns3::aodv::RequestQueue::Drop(), ns3::dsdv::PacketQueue::Drop(), ns3::dsdv::RoutingProtocol::Drop(), ns3::Ipv4FlowProbe::DropLogger(), ns3::aodv::RequestQueue::Enqueue(), ns3::dsdv::PacketQueue::Enqueue(), ns3::Icmpv4L4Protocol::Forward(), ns3::aodv::RoutingProtocol::Forwarding(), ns3::Ipv4RawSocketImpl::ForwardUp(), ns3::Ipv4L3Protocol::IpMulticastForward(), ns3::aodv::RequestQueue::IsEqual(), ns3::dsdv::PacketQueue::IsEqual(), ns3::Ipv4L3Protocol::LocalDeliver(), ns3::dsdv::RoutingProtocol::LoopbackRoute(), ns3::aodv::RoutingProtocol::LoopbackRoute(), ns3::aodv::QueueEntry::operator==(), ns3::dsdv::QueueEntry::operator==(), ns3::dsr::DsrOptionSR::Process(), ns3::Ipv4L3Protocol::ProcessFragment(), ns3::dsr::DsrRouting::PromiscReceive(), ns3::Icmpv4L4Protocol::Receive(), ns3::NscTcpL4Protocol::Receive(), ns3::UdpL4Protocol::Receive(), ns3::TcpL4Protocol::Receive(), ns3::dsr::DsrRouting::Receive(), ns3::EpcSgwPgwApplication::RecvFromTunDevice(), ns3::aodv::RoutingProtocol::RouteInput(), ns3::dsdv::RoutingProtocol::RouteInput(), ns3::Ipv4StaticRouting::RouteInput(), ns3::Ipv4ListRouting::RouteInput(), ns3::Ipv4GlobalRouting::RouteInput(), ns3::Ipv4NixVectorRouting::RouteInput(), ns3::olsr::RoutingProtocol::RouteInput(), ns3::aodv::RoutingProtocol::RouteOutput(), ns3::dsdv::RoutingProtocol::RouteOutput(), ns3::Ipv4StaticRouting::RouteOutput(), ns3::Ipv4ListRouting::RouteOutput(), ns3::Ipv4GlobalRouting::RouteOutput(), ns3::Ipv4NixVectorRouting::RouteOutput(), ns3::olsr::RoutingProtocol::RouteOutput(), ns3::dsdv::RoutingProtocol::Send(), ns3::Ipv4L3Protocol::SendRealOut(), and ns3::Ipv4RawSocketImpl::SendTo().
Ipv4Header::DscpType ns3::Ipv4Header::GetDscp | ( | void | ) | const |
Definition at line 105 of file ipv4-header.cc.
References m_tos, and NS_LOG_FUNCTION.
Referenced by Ipv4HeaderTest::DoRun(), and Print().
Ipv4Header::EcnType ns3::Ipv4Header::GetEcn | ( | void | ) | const |
Definition at line 167 of file ipv4-header.cc.
References m_tos, and NS_LOG_FUNCTION.
Referenced by Ipv4HeaderTest::DoRun(), and Print().
uint16_t ns3::Ipv4Header::GetFragmentOffset | ( | void | ) | const |
Definition at line 246 of file ipv4-header.cc.
References m_fragmentOffset, m_payloadSize, NS_LOG_FUNCTION, and NS_LOG_WARN.
Referenced by ns3::Ipv4L3Protocol::DoFragmentation(), ns3::Ipv4L3Protocol::LocalDeliver(), ns3::dsr::DsrOptionSR::Process(), and ns3::Ipv4L3Protocol::ProcessFragment().
uint16_t ns3::Ipv4Header::GetIdentification | ( | void | ) | const |
Definition at line 69 of file ipv4-header.cc.
References m_identification, and NS_LOG_FUNCTION.
Referenced by ns3::Ipv4FlowClassifier::Classify(), ns3::dsr::DsrOptionSR::Process(), and ns3::Ipv4L3Protocol::ProcessFragment().
|
virtual |
This method is typically implemented by ns3::Object::GetInstanceTypeId but some classes which derive from ns3::ObjectBase directly have to implement it themselves.
Implements ns3::ObjectBase.
Definition at line 327 of file ipv4-header.cc.
References GetTypeId(), and NS_LOG_FUNCTION.
uint16_t ns3::Ipv4Header::GetPayloadSize | ( | void | ) | const |
Definition at line 62 of file ipv4-header.cc.
References m_payloadSize, and NS_LOG_FUNCTION.
Referenced by ns3::Ipv4L3Protocol::Receive().
uint8_t ns3::Ipv4Header::GetProtocol | ( | void | ) | const |
Definition at line 271 of file ipv4-header.cc.
References m_protocol, and NS_LOG_FUNCTION.
Referenced by ns3::IpcsClassifier::Classify(), ns3::Ipv4FlowClassifier::Classify(), ns3::EpcTftClassifier::Classify(), ns3::aodv::RoutingProtocol::DeferredRouteOutput(), ns3::Icmpv4L4Protocol::Forward(), ns3::Ipv4RawSocketImpl::ForwardUp(), ns3::Ipv4L3Protocol::LocalDeliver(), ns3::Ipv4L3Protocol::ProcessFragment(), ns3::dsr::DsrRouting::PromiscReceive(), and ns3::dsdv::RoutingProtocol::Send().
|
virtual |
This method is used by Packet::AddHeader to store a header into the byte buffer of a packet. This method should return the number of bytes which are needed to store the full header data by Serialize.
Implements ns3::Header.
Definition at line 373 of file ipv4-header.cc.
References m_headerSize, and NS_LOG_FUNCTION.
Referenced by Deserialize(), ns3::Ipv4L3Protocol::DoFragmentation(), ns3::Ipv4FlowProbe::DropLogger(), ns3::Ipv4FlowProbe::ForwardLogger(), ns3::Ipv4FlowProbe::ForwardUpLogger(), ns3::Icmpv4DestinationUnreachable::GetSerializedSize(), ns3::Icmpv4TimeExceeded::GetSerializedSize(), ns3::Ipv4FlowProbe::SendOutgoingLogger(), ns3::Icmpv4DestinationUnreachable::Serialize(), and ns3::Icmpv4TimeExceeded::Serialize().
Ipv4Address ns3::Ipv4Header::GetSource | ( | void | ) | const |
Definition at line 290 of file ipv4-header.cc.
References m_source, and NS_LOG_FUNCTION.
Referenced by ns3::dsr::DsrRouting::CallCancelPacketTimer(), ns3::IpcsClassifier::Classify(), ns3::Ipv4FlowClassifier::Classify(), ns3::EpcTftClassifier::Classify(), ns3::TcpSocketBase::DoForwardUp(), ns3::aodv::QueueEntryTest::DoRun(), ns3::UdpSocketImpl::DoSendTo(), ns3::Icmpv4L4Protocol::Forward(), ns3::aodv::RoutingProtocol::Forwarding(), ns3::Ipv4RawSocketImpl::ForwardUp(), ns3::UdpSocketImpl::ForwardUp(), ns3::Ipv4L3Protocol::IpMulticastForward(), ns3::aodv::DuplicatePacketDetection::IsDuplicate(), ns3::dsr::DsrOptionRreq::Process(), ns3::dsr::DsrOptionSR::Process(), ns3::Ipv4L3Protocol::ProcessFragment(), ns3::dsr::DsrRouting::PromiscReceive(), ns3::Icmpv4L4Protocol::Receive(), ns3::NscTcpL4Protocol::Receive(), ns3::UdpL4Protocol::Receive(), ns3::TcpL4Protocol::Receive(), ns3::dsr::DsrRouting::Receive(), ns3::aodv::RoutingProtocol::RouteInput(), ns3::dsdv::RoutingProtocol::RouteInput(), ns3::Ipv4StaticRouting::RouteInput(), ns3::Ipv4GlobalRouting::RouteInput(), ns3::olsr::RoutingProtocol::RouteInput(), ns3::Ipv4ListRouting::RouteOutput(), ns3::Icmpv4L4Protocol::SendDestUnreach(), ns3::Icmpv4L4Protocol::SendTimeExceededTtl(), and ns3::Ipv4RawSocketImpl::SendTo().
uint8_t ns3::Ipv4Header::GetTos | ( | void | ) | const |
Definition at line 194 of file ipv4-header.cc.
References m_tos, and NS_LOG_FUNCTION.
Referenced by ns3::EpcTftClassifier::Classify(), and ns3::UdpSocketImpl::ForwardUp().
uint8_t ns3::Ipv4Header::GetTtl | ( | void | ) | const |
Definition at line 264 of file ipv4-header.cc.
References m_ttl, and NS_LOG_FUNCTION.
Referenced by ns3::Icmpv4L4Protocol::Forward(), ns3::UdpSocketImpl::ForwardUp(), ns3::Ipv4L3Protocol::IpMulticastForward(), ns3::dsr::DsrOptionRreq::Process(), ns3::aodv::RoutingProtocol::RouteInput(), ns3::dsdv::RoutingProtocol::RouteInput(), ns3::dsdv::RoutingProtocol::SendPacketFromQueue(), ns3::aodv::RoutingProtocol::SendPacketFromQueue(), and SinkRx().
|
static |
Reimplemented from ns3::Header.
Definition at line 318 of file ipv4-header.cc.
References ns3::TypeId::SetParent().
Referenced by GetInstanceTypeId().
bool ns3::Ipv4Header::IsChecksumOk | ( | void | ) | const |
If Ipv4Header::EnableChecksums has not been called prior to deserializing this header, this method will always return true.
Definition at line 311 of file ipv4-header.cc.
References m_goodChecksum, and NS_LOG_FUNCTION.
Referenced by ns3::Ipv4L3Protocol::Receive().
bool ns3::Ipv4Header::IsDontFragment | ( | void | ) | const |
Definition at line 231 of file ipv4-header.cc.
References DONT_FRAGMENT, m_flags, and NS_LOG_FUNCTION.
bool ns3::Ipv4Header::IsLastFragment | ( | void | ) | const |
Definition at line 212 of file ipv4-header.cc.
References m_flags, MORE_FRAGMENTS, and NS_LOG_FUNCTION.
Referenced by ns3::Ipv4L3Protocol::DoFragmentation(), ns3::Ipv4L3Protocol::LocalDeliver(), and ns3::Ipv4L3Protocol::ProcessFragment().
|
virtual |
os | output stream This method is used by Packet::Print to print the content of a trailer as ascii data to a c++ output stream. Although the trailer 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 333 of file ipv4-header.cc.
References DONT_FRAGMENT, DscpTypeToString(), EcnTypeToString(), GetDscp(), GetEcn(), m_destination, m_flags, m_fragmentOffset, m_identification, m_payloadSize, m_protocol, m_source, m_tos, m_ttl, MORE_FRAGMENTS, and NS_LOG_FUNCTION.
Referenced by Ipv4HeaderTest::DoRun(), ns3::Icmpv4DestinationUnreachable::Print(), and ns3::Icmpv4TimeExceeded::Print().
|
virtual |
start | an iterator which points to where the header should be written. |
This method is used by Packet::AddHeader to store a header into the byte buffer of a packet. The data written is expected to match bit-for-bit the representation of this header in a real network.
Implements ns3::Header.
Definition at line 381 of file ipv4-header.cc.
References ns3::Buffer::Iterator::CalculateIpChecksum(), DONT_FRAGMENT, ns3::Ipv4Address::Get(), m_calcChecksum, m_destination, m_flags, m_fragmentOffset, m_identification, m_payloadSize, m_protocol, m_source, m_tos, m_ttl, MORE_FRAGMENTS, ns3::Buffer::Iterator::Next(), NS_LOG_FUNCTION, NS_LOG_LOGIC, visualizer.core::start(), ns3::Buffer::Iterator::WriteHtonU16(), ns3::Buffer::Iterator::WriteHtonU32(), ns3::Buffer::Iterator::WriteU16(), and ns3::Buffer::Iterator::WriteU8().
Referenced by ns3::Icmpv4DestinationUnreachable::Serialize(), and ns3::Icmpv4TimeExceeded::Serialize().
void ns3::Ipv4Header::SetDestination | ( | Ipv4Address | destination | ) |
destination | the destination of this packet. |
Definition at line 297 of file ipv4-header.cc.
References m_destination, and NS_LOG_FUNCTION.
Referenced by ns3::Ipv4L3Protocol::BuildHeader(), ns3::aodv::QueueEntryTest::DoRun(), ns3::aodv::AodvRqueueTest::DoRun(), ns3::UdpSocketImpl::DoSendTo(), ns3::EpcTftClassifierTestCase::EpcTftClassifierTestCase(), ns3::NscTcpL4Protocol::Receive(), ns3::AnimationInterface::RecursiveIpv4RoutePathSearch(), ns3::TcpL4Protocol::Send(), ns3::ArpL3Protocol::SendArpRequest(), ns3::Icmpv4L4Protocol::SendMessage(), ns3::TcpL4Protocol::SendPacket(), ns3::Ipv4RawSocketImpl::SendTo(), ns3::TcpSocketBase::SetupEndpoint(), and ns3::AnimationInterface::TrackIpv4RoutePaths().
void ns3::Ipv4Header::SetDontFragment | ( | void | ) |
Don't fragment this packet: if you need to anyway, drop it.
Definition at line 219 of file ipv4-header.cc.
References DONT_FRAGMENT, m_flags, and NS_LOG_FUNCTION.
Referenced by ns3::Ipv4L3Protocol::BuildHeader().
void ns3::Ipv4Header::SetDscp | ( | DscpType | dscp | ) |
Set DSCP Field.
dscp | DSCP value |
Definition at line 89 of file ipv4-header.cc.
References m_tos, and NS_LOG_FUNCTION.
void ns3::Ipv4Header::SetEcn | ( | EcnType | ecn | ) |
Set ECN Field.
ecn | ECN Type |
Definition at line 97 of file ipv4-header.cc.
References m_tos, and NS_LOG_FUNCTION.
void ns3::Ipv4Header::SetFragmentOffset | ( | uint16_t | offsetBytes | ) |
The offset is measured in bytes for the packet start. Mind that IPv4 "fragment offset" field is 13 bits long and is measured in 8-bytes words. Hence, the function does enforce that the offset is a multiple of 8.
offsetBytes | the ipv4 fragment offset measured in bytes from the start. |
Definition at line 238 of file ipv4-header.cc.
References m_fragmentOffset, NS_ABORT_MSG_IF, and NS_LOG_FUNCTION.
Referenced by ns3::Ipv4L3Protocol::DoFragmentation().
void ns3::Ipv4Header::SetIdentification | ( | uint16_t | identification | ) |
identification | the Identification field of IPv4 packets. |
By default, set to zero.
Definition at line 75 of file ipv4-header.cc.
References m_identification, and NS_LOG_FUNCTION.
Referenced by ns3::Ipv4L3Protocol::BuildHeader().
void ns3::Ipv4Header::SetLastFragment | ( | void | ) |
This packet is the last packet of a fragmented ipv4 packet.
Definition at line 206 of file ipv4-header.cc.
References m_flags, MORE_FRAGMENTS, and NS_LOG_FUNCTION.
Referenced by ns3::Ipv4L3Protocol::DoFragmentation().
void ns3::Ipv4Header::SetMayFragment | ( | void | ) |
If you need to fragment this packet, you can do it.
Definition at line 225 of file ipv4-header.cc.
References DONT_FRAGMENT, m_flags, and NS_LOG_FUNCTION.
Referenced by ns3::Ipv4L3Protocol::BuildHeader().
void ns3::Ipv4Header::SetMoreFragments | ( | void | ) |
This packet is not the last packet of a fragmented ipv4 packet.
Definition at line 200 of file ipv4-header.cc.
References m_flags, MORE_FRAGMENTS, and NS_LOG_FUNCTION.
Referenced by ns3::Ipv4L3Protocol::DoFragmentation().
void ns3::Ipv4Header::SetPayloadSize | ( | uint16_t | size | ) |
size | the size of the payload in bytes |
Definition at line 56 of file ipv4-header.cc.
References m_payloadSize, and NS_LOG_FUNCTION.
Referenced by ns3::Ipv4L3Protocol::BuildHeader(), ns3::Ipv4L3Protocol::DoFragmentation(), and ns3::NscTcpL4Protocol::Receive().
void ns3::Ipv4Header::SetProtocol | ( | uint8_t | num | ) |
num | the ipv4 protocol field |
Definition at line 277 of file ipv4-header.cc.
References m_protocol, and NS_LOG_FUNCTION.
Referenced by ns3::Ipv4L3Protocol::BuildHeader(), ns3::EpcTftClassifierTestCase::DoRun(), ns3::UdpSocketImpl::DoSendTo(), ns3::NscTcpL4Protocol::Receive(), ns3::TcpL4Protocol::Send(), ns3::TcpL4Protocol::SendPacket(), and ns3::Ipv4RawSocketImpl::SendTo().
void ns3::Ipv4Header::SetSource | ( | Ipv4Address | source | ) |
source | the source of this packet |
Definition at line 284 of file ipv4-header.cc.
References m_source, and NS_LOG_FUNCTION.
Referenced by ns3::Ipv4L3Protocol::BuildHeader(), Ipv4RawSocketImplTest::DoSendData_IpHdr(), Ipv4HeaderTest::DoSendData_IpHdr_Dscp(), ns3::UdpSocketImpl::DoSendTo(), ns3::EpcTftClassifierTestCase::EpcTftClassifierTestCase(), ns3::NscTcpL4Protocol::Receive(), ns3::dsdv::RoutingProtocol::SendPacketFromQueue(), and ns3::aodv::RoutingProtocol::SendPacketFromQueue().
void ns3::Ipv4Header::SetTos | ( | uint8_t | tos | ) |
tos | the 8 bits of Ipv4 TOS. |
Definition at line 82 of file ipv4-header.cc.
References m_tos, and NS_LOG_FUNCTION.
Referenced by ns3::Ipv4L3Protocol::BuildHeader(), and ns3::EpcTftClassifierTestCase::EpcTftClassifierTestCase().
void ns3::Ipv4Header::SetTtl | ( | uint8_t | ttl | ) |
ttl | the ipv4 TTL |
Definition at line 258 of file ipv4-header.cc.
References m_ttl, and NS_LOG_FUNCTION.
Referenced by ns3::Ipv4L3Protocol::BuildHeader(), ns3::Ipv4L3Protocol::IpMulticastForward(), ns3::NscTcpL4Protocol::Receive(), ns3::dsdv::RoutingProtocol::SendPacketFromQueue(), and ns3::aodv::RoutingProtocol::SendPacketFromQueue().
|
private |
Definition at line 234 of file ipv4-header.h.
Referenced by Deserialize(), EnableChecksum(), and Serialize().
|
private |
Definition at line 245 of file ipv4-header.h.
Referenced by Deserialize().
|
private |
Definition at line 244 of file ipv4-header.h.
Referenced by Deserialize(), GetDestination(), Print(), Serialize(), and SetDestination().
|
private |
Definition at line 241 of file ipv4-header.h.
Referenced by Deserialize(), IsDontFragment(), IsLastFragment(), Print(), Serialize(), SetDontFragment(), SetLastFragment(), SetMayFragment(), and SetMoreFragments().
|
private |
Definition at line 242 of file ipv4-header.h.
Referenced by Deserialize(), GetFragmentOffset(), Print(), Serialize(), and SetFragmentOffset().
|
private |
Definition at line 246 of file ipv4-header.h.
Referenced by Deserialize(), and IsChecksumOk().
|
private |
Definition at line 247 of file ipv4-header.h.
Referenced by Deserialize(), and GetSerializedSize().
|
private |
Definition at line 237 of file ipv4-header.h.
Referenced by Deserialize(), GetIdentification(), Print(), Serialize(), and SetIdentification().
|
private |
Definition at line 236 of file ipv4-header.h.
Referenced by Deserialize(), GetFragmentOffset(), GetPayloadSize(), Print(), Serialize(), and SetPayloadSize().
|
private |
Definition at line 240 of file ipv4-header.h.
Referenced by Deserialize(), GetProtocol(), Print(), Serialize(), and SetProtocol().
|
private |
Definition at line 243 of file ipv4-header.h.
Referenced by Deserialize(), GetSource(), Print(), Serialize(), and SetSource().
|
private |
Definition at line 238 of file ipv4-header.h.
Referenced by Deserialize(), GetDscp(), GetEcn(), GetTos(), Print(), Serialize(), SetDscp(), SetEcn(), and SetTos().
|
private |
Definition at line 239 of file ipv4-header.h.
Referenced by Deserialize(), GetTtl(), Print(), Serialize(), and SetTtl().