ns3::Ipv6Header Class Reference

Packet header for IPv6. More...

#include <ipv6-header.h>

Inheritance diagram for ns3::Ipv6Header:

Inheritance graph
[legend]
Collaboration diagram for ns3::Ipv6Header:

Collaboration graph
[legend]

List of all members.

Public Types

enum  NextHeader_e
 IPv6 next-header value.

Public Member Functions

virtual TypeId GetInstanceTypeId (void) const
 Return the instance type identifier.
 Ipv6Header (void)
 Constructor.
void SetTrafficClass (uint8_t traffic)
 Set the "Traffic class" field.
uint8_t GetTrafficClass (void) const
 Get the "Traffic class" field.
void SetFlowLabel (uint32_t flow)
 Set the "Flow label" field.
uint32_t GetFlowLabel (void) const
 Get the "Flow label" field.
void SetPayloadLength (uint16_t len)
 Set the "Payload length" field.
uint16_t GetPayloadLength (void) const
 Get the "Payload length" field.
void SetNextHeader (uint8_t next)
 Set the "Next header" field.
uint8_t GetNextHeader (void) const
 Get the next header.
void SetHopLimit (uint8_t limit)
 Set the "Hop limit" field (TTL).
uint8_t GetHopLimit (void) const
 Get the "Hop limit" field (TTL).
void SetSourceAddress (Ipv6Address src)
 Set the "Source address" field.
Ipv6Address GetSourceAddress (void) const
 Get the "Source address" field.
void SetDestinationAddress (Ipv6Address dst)
 Set the "Destination address" field.
Ipv6Address GetDestinationAddress (void) const
 Get the "Destination address" field.
virtual void Print (std::ostream &os) const
 Print some informations about the packet.
virtual uint32_t GetSerializedSize (void) const
 Get the serialized size of the packet.
virtual void Serialize (Buffer::Iterator start) const
 Serialize the packet.
virtual uint32_t Deserialize (Buffer::Iterator start)
 Deserialize the packet.

Static Public Member Functions

static TypeId GetTypeId (void)
 Get the type identifier.

Private Attributes

uint32_t m_version: 4
 The version (always equal to 6).
uint32_t m_trafficClass: 8
 The traffic class.
uint32_t m_flowLabel: 20
 The flow label.
uint16_t m_payloadLength
 The payload length.
uint8_t m_nextHeader
 The Next header number.
uint8_t m_hopLimit
 The Hop limit value.
Ipv6Address m_sourceAddress
 The source address.
Ipv6Address m_destinationAddress
 The destination address.


Detailed Description

Packet header for IPv6.

Member Function Documentation

virtual uint32_t ns3::Ipv6Header::Deserialize ( Buffer::Iterator  start  )  [virtual]

Deserialize the packet.

Parameters:
start Buffer iterator
Returns:
size of the packet

Implements ns3::Header.

Ipv6Address ns3::Ipv6Header::GetDestinationAddress ( void   )  const

Get the "Destination address" field.

Returns:
the destination address

uint32_t ns3::Ipv6Header::GetFlowLabel ( void   )  const

Get the "Flow label" field.

Returns:
the flow label value

uint8_t ns3::Ipv6Header::GetHopLimit ( void   )  const

Get the "Hop limit" field (TTL).

Returns:
the hop limit value

virtual TypeId ns3::Ipv6Header::GetInstanceTypeId ( void   )  const [virtual]

Return the instance type identifier.

Returns:
instance type ID

Implements ns3::ObjectBase.

uint8_t ns3::Ipv6Header::GetNextHeader ( void   )  const

Get the next header.

Returns:
the next header number

uint16_t ns3::Ipv6Header::GetPayloadLength ( void   )  const

Get the "Payload length" field.

Returns:
the payload length

virtual uint32_t ns3::Ipv6Header::GetSerializedSize ( void   )  const [virtual]

Get the serialized size of the packet.

Returns:
size

Implements ns3::Header.

Ipv6Address ns3::Ipv6Header::GetSourceAddress ( void   )  const

Get the "Source address" field.

Returns:
the source address

uint8_t ns3::Ipv6Header::GetTrafficClass ( void   )  const

Get the "Traffic class" field.

Returns:
the traffic value

static TypeId ns3::Ipv6Header::GetTypeId ( void   )  [static]

Get the type identifier.

This method returns the TypeId associated to ns3::Ipv6Header.

Returns:
type identifier
No Attributes defined for this type.
No TraceSources defined for this type.

Reimplemented from ns3::Header.

virtual void ns3::Ipv6Header::Print ( std::ostream &  os  )  const [virtual]

Print some informations about the packet.

Parameters:
os output stream
Returns:
info about this packet

Implements ns3::Header.

virtual void ns3::Ipv6Header::Serialize ( Buffer::Iterator  start  )  const [virtual]

Serialize the packet.

Parameters:
start Buffer iterator

Implements ns3::Header.

void ns3::Ipv6Header::SetDestinationAddress ( Ipv6Address  dst  ) 

Set the "Destination address" field.

Parameters:
dst the destination address

void ns3::Ipv6Header::SetFlowLabel ( uint32_t  flow  ) 

Set the "Flow label" field.

Parameters:
flow the 20-bit value

void ns3::Ipv6Header::SetHopLimit ( uint8_t  limit  ) 

Set the "Hop limit" field (TTL).

Parameters:
limit the 8-bit value

void ns3::Ipv6Header::SetNextHeader ( uint8_t  next  ) 

Set the "Next header" field.

Parameters:
next the next header number

void ns3::Ipv6Header::SetPayloadLength ( uint16_t  len  ) 

Set the "Payload length" field.

Parameters:
len the length of the payload in bytes

void ns3::Ipv6Header::SetSourceAddress ( Ipv6Address  src  ) 

Set the "Source address" field.

Parameters:
src the source address

void ns3::Ipv6Header::SetTrafficClass ( uint8_t  traffic  ) 

Set the "Traffic class" field.

Parameters:
traffic the 8-bit value


Member Data Documentation

uint32_t ns3::Ipv6Header::m_flowLabel [private]

The flow label.

Note:
This is 20-bit value.


The documentation for this class was generated from the following files:

Generated on Fri Apr 9 15:01:11 2010 for NS-3 by  doxygen 1.5.8