21 #include "ns3/assert.h" 
   22 #include "ns3/abort.h" 
   24 #include "ns3/header.h" 
   34   : m_calcChecksum (false),
 
   43     m_goodChecksum (true),
 
  161         return "Unrecognized DSCP";
 
  189         return "Unknown ECN";
 
  242   NS_ABORT_MSG_IF ((offsetBytes & 0x7), 
"offsetBytes must be multiple of 8 bytes");
 
  252       NS_LOG_WARN(
"Fragment will exceed the maximum packet size once reassembled");
 
  323     .SetGroupName (
"Internet")
 
  349   else if (
m_flags & DONT_FRAGMENT)
 
  361   os << 
"tos 0x" << std::hex << 
m_tos << std::dec << 
" " 
  364      << 
"ttl " << 
m_ttl << 
" " 
  368      << 
"flags [" << flags << 
"] " 
  388   uint8_t verIhl = (4 << 4) | (5);
 
  394   uint8_t flagsFrag = (fragmentOffset >> 8) & 0x1f;
 
  404   uint8_t frag = fragmentOffset & 0xff;
 
  427   uint8_t verIhl = i.
ReadU8 ();
 
  428   uint8_t ihl = verIhl & 0x0f; 
 
  429   uint16_t headerSize = ihl * 4;
 
  435   uint8_t flags = i.
ReadU8 ();
 
uint16_t CalculateIpChecksum(uint16_t size)
Calculate the checksum. 
 
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by "...
 
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system. 
 
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file...
 
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name. 
 
uint32_t ReadNtohU32(void)
 
iterator in a Buffer instance 
 
void Prev(void)
go backward by one byte 
 
uint32_t Get(void) const 
Get the host-order 32-bit IP address. 
 
void WriteU16(uint16_t data)
 
void WriteHtonU16(uint16_t data)
 
void Next(void)
go forward by one byte 
 
#define NS_LOG_LOGIC(msg)
Use NS_LOG to output a message of level LOG_LOGIC. 
 
Every class exported by the ns3 library is enclosed in the ns3 namespace. 
 
void WriteHtonU32(uint32_t data)
 
void Set(uint32_t address)
input address is in host order. 
 
Ipv4 addresses are stored in host order in this class. 
 
void WriteU8(uint8_t data)
 
#define NS_ABORT_MSG_IF(cond, msg)
Abnormal program termination if a condition is true, with a message. 
 
#define NS_LOG_WARN(msg)
Use NS_LOG to output a message of level LOG_WARN. 
 
uint16_t ReadNtohU16(void)
 
a unique identifier for an interface. 
 
TypeId SetParent(TypeId tid)
Set the parent TypeId.