ns-3
ns3::Icmpv6Redirection Class Reference

ICMPv6 Redirection header. More...

#include <icmpv6-header.h>

Inheritance diagram for ns3::Icmpv6Redirection:
Collaboration diagram for ns3::Icmpv6Redirection:

List of all members.

Public Member Functions

 Icmpv6Redirection ()
 Constructor.
virtual ~Icmpv6Redirection ()
 Destructor.
virtual TypeId GetInstanceTypeId () const
 Get the instance type ID.
Ipv6Address GetTarget () const
 Get the IPv6 target address.
void SetTarget (Ipv6Address target)
 Set the IPv6 target address.
Ipv6Address GetDestination () const
 Get the IPv6 destination address.
void SetDestination (Ipv6Address destination)
 Set the IPv6 destination address.
virtual void Print (std::ostream &os) const
 Print informations.
virtual uint32_t GetSerializedSize () const
 Get the serialized size.
virtual void Serialize (Buffer::Iterator start) const
 Serialize the packet.
virtual uint32_t Deserialize (Buffer::Iterator start)
 Deserialize the packet.
uint32_t GetReserved () const
 Get the reserved field.
void SetReserved (uint32_t reserved)
 Set the reserved field.
- Public Member Functions inherited from ns3::Icmpv6Header
 Icmpv6Header ()
 Constructor.
virtual ~Icmpv6Header ()
 Destructor.
uint8_t GetType () const
 Get the type field.
void SetType (uint8_t type)
 Set the type.
uint8_t GetCode () const
 Get the code field.
void SetCode (uint8_t code)
 Set the code field.
uint16_t GetChecksum () const
 Get the checksum.
void SetChecksum (uint16_t checksum)
 Set the checksum.
void CalculatePseudoHeaderChecksum (Ipv6Address src, Ipv6Address dst, uint16_t length, uint8_t protocol)
 Calculate pseudo header checksum for IPv6.

Static Public Member Functions

static TypeId GetTypeId ()
 Get the UID of this class.

Additional Inherited Members

- Public Types inherited from ns3::Icmpv6Header
enum  Type_e {
  ICMPV6_ERROR_DESTINATION_UNREACHABLE = 1, ICMPV6_ERROR_PACKET_TOO_BIG, ICMPV6_ERROR_TIME_EXCEEDED, ICMPV6_ERROR_PARAMETER_ERROR,
  ICMPV6_ECHO_REQUEST = 128, ICMPV6_ECHO_REPLY, ICMPV6_SUBSCRIBE_REQUEST, ICMPV6_SUBSCRIBE_REPORT,
  ICMPV6_SUBSCRIVE_END, ICMPV6_ND_ROUTER_SOLICITATION, ICMPV6_ND_ROUTER_ADVERTISEMENT, ICMPV6_ND_NEIGHBOR_SOLICITATION,
  ICMPV6_ND_NEIGHBOR_ADVERTISEMENT, ICMPV6_ND_REDIRECTION, ICMPV6_ROUTER_RENUMBER, ICMPV6_INFORMATION_REQUEST,
  ICMPV6_INFORMATION_RESPONSE, ICMPV6_INVERSE_ND_SOLICITATION, ICMPV6_INVERSE_ND_ADVERSTISEMENT, ICMPV6_MLDV2_SUBSCRIBE_REPORT,
  ICMPV6_MOBILITY_HA_DISCOVER_REQUEST, ICMPV6_MOBILITY_HA_DISCOVER_RESPONSE, ICMPV6_MOBILITY_MOBILE_PREFIX_SOLICITATION, ICMPV6_SECURE_ND_CERTIFICATE_PATH_SOLICITATION,
  ICMPV6_SECURE_ND_CERTIFICATE_PATH_ADVERTISEMENT, ICMPV6_EXPERIMENTAL_MOBILITY
}
 ICMPv6 type code.
enum  OptionType_e {
  ICMPV6_OPT_LINK_LAYER_SOURCE = 1, ICMPV6_OPT_LINK_LAYER_TARGET, ICMPV6_OPT_PREFIX, ICMPV6_OPT_REDIRECTED,
  ICMPV6_OPT_MTU
}
 ICMPv6 Option type code.
enum  ErrorDestinationUnreachable_e {
  ICMPV6_NO_ROUTE = 0, ICMPV6_ADM_PROHIBITED, ICMPV6_NOT_NEIGHBOUR, ICMPV6_ADDR_UNREACHABLE,
  ICMPV6_PORT_UNREACHABLE
}
 ICMPv6 error code : Destination Unreachable.
enum  ErrorTimeExceeded_e { ICMPV6_HOPLIMIT = 0, ICMPV6_FRAGTIME }
 ICMPv6 error code : Time Exceeded.
enum  ErrorParameterError_e { ICMPV6_MALFORMED_HEADER = 0, ICMPV6_UNKNOWN_NEXT_HEADER, ICMPV6_UNKNOWN_OPTION }
 ICMPv6 error code : Parameter Error.
- Protected Attributes inherited from ns3::Icmpv6Header
bool m_calcChecksum
 Checksum enable or not.
uint16_t m_checksum
 The checksum.

Detailed Description

ICMPv6 Redirection header.


Member Function Documentation

uint32_t ns3::Icmpv6Redirection::Deserialize ( Buffer::Iterator  start)
virtual
Ipv6Address ns3::Icmpv6Redirection::GetDestination ( void  ) const

Get the IPv6 destination address.

Returns:
the IPv6 destination address
TypeId ns3::Icmpv6Redirection::GetInstanceTypeId ( void  ) const
virtual

Get the instance type ID.

Returns:
instance type ID

Reimplemented from ns3::Icmpv6Header.

References GetTypeId().

uint32_t ns3::Icmpv6Redirection::GetReserved ( ) const

Get the reserved field.

Returns:
reserved value
uint32_t ns3::Icmpv6Redirection::GetSerializedSize ( void  ) const
virtual

Get the serialized size.

Returns:
serialized size

Reimplemented from ns3::Icmpv6Header.

Referenced by Deserialize().

Ipv6Address ns3::Icmpv6Redirection::GetTarget ( ) const

Get the IPv6 target address.

Returns:
the IPv6 target address
TypeId ns3::Icmpv6Redirection::GetTypeId ( void  )
static

Get the UID of this class.

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

Returns:
UID

No Attributes defined for this type.
No TraceSources defined for this type.

Reimplemented from ns3::Icmpv6Header.

References ns3::TypeId::SetParent().

Referenced by GetInstanceTypeId().

void ns3::Icmpv6Redirection::Print ( std::ostream &  os) const
virtual

Print informations.

Parameters:
osoutput stream

Reimplemented from ns3::Icmpv6Header.

References ns3::Icmpv6Header::GetChecksum(), ns3::Icmpv6Header::GetCode(), and ns3::Icmpv6Header::GetType().

void ns3::Icmpv6Redirection::SetDestination ( Ipv6Address  destination)

Set the IPv6 destination address.

Parameters:
destinationIPv6 destination address

Referenced by ns3::Icmpv6L4Protocol::SendRedirection().

void ns3::Icmpv6Redirection::SetReserved ( uint32_t  reserved)

Set the reserved field.

Parameters:
reservedthe reserved value

Referenced by Deserialize().

void ns3::Icmpv6Redirection::SetTarget ( Ipv6Address  target)

Set the IPv6 target address.

Parameters:
targetIPv6 target address

Referenced by ns3::Icmpv6L4Protocol::SendRedirection().


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