ns3::Ipv6Address Class Reference

Describes an IPv6 address. More...

#include <ipv6-address.h>

List of all members.

Public Member Functions

 Ipv6Address ()
 Default constructor.
 Ipv6Address (char const *address)
 Constructs an Ipv6Address by parsing the input C-string.
 Ipv6Address (uint8_t address[16])
 Constructs an Ipv6Address by using the input 16 bytes.
 Ipv6Address (Ipv6Address const &addr)
 Copy constructor.
 Ipv6Address (Ipv6Address const *addr)
 Copy constructor.
 ~Ipv6Address ()
 Destructor.
void Set (char const *address)
 Sets an Ipv6Address by parsing the input C-string.
void Set (uint8_t address[16])
 Set an Ipv6Address by using the input 16 bytes.
bool IsEqual (const Ipv6Address &other) const
 Comparison operation between two Ipv6Addresses.
void Serialize (uint8_t buf[16]) const
 Serialize this address to a 16-byte buffer.
void Print (std::ostream &os) const
 Print this address to the given output stream.
bool IsLocalhost () const
 If the IPv6 address is localhost (::1).
bool IsMulticast () const
 If the IPv6 address is multicast (ff00::/8).
bool IsAllNodesMulticast () const
 If the IPv6 address is "all nodes multicast" (ff02::1/8).
bool IsAllRoutersMulticast () const
 If the IPv6 address is "all routers multicast" (ff02::2/8).
bool IsAllHostsMulticast () const
 If the IPv6 address is "all hosts multicast" (ff02::3/8).
bool IsLinkLocal () const
 If the IPv6 address is a link-local address (fe80::/64).
bool IsSolicitedMulticast () const
 If the IPv6 address is a Solicited multicast address.
bool IsAny () const
 If the IPv6 address is the "Any" address.
Ipv6Address CombinePrefix (Ipv6Prefix const &prefix)
 Combine this address with a prefix.
 operator Address () const
 Convert to Address object.
void GetBytes (uint8_t buf[16]) const
 Get the bytes corresponding to the address.

Static Public Member Functions

static Ipv6Address Deserialize (const uint8_t buf[16])
 Deserialize this address.
static Ipv6Address MakeSolicitedAddress (Ipv6Address addr)
 Make the solicited IPv6 address.
static Ipv6Address MakeAutoconfiguredAddress (Mac48Address addr, Ipv6Address prefix)
 Make the autoconfigured IPv6 address with Mac48Address.
static Ipv6Address MakeAutoconfiguredLinkLocalAddress (Mac48Address mac)
 Make the autoconfigured link-local IPv6 address with Mac48Address.
static bool IsMatchingType (const Address &address)
 If the Address matches the type.
static Ipv6Address ConvertFrom (const Address &address)
 Convert the Address object into an Ipv6Address one.
static Ipv6Address GetZero ()
 Get the 0 (::) Ipv6Address.
static Ipv6Address GetAny ()
 Get the "any" (::) Ipv6Address.
static Ipv6Address GetAllNodesMulticast ()
 Get the "all nodes multicast" address.
static Ipv6Address GetAllRoutersMulticast ()
 Get the "all routers multicast" address.
static Ipv6Address GetAllHostsMulticast ()
 Get the "all hosts multicast" address.
static Ipv6Address GetLoopback ()
 Get the loopback address.

Private Member Functions

Address ConvertTo (void) const
 convert the IPv6Address object to an Address object.

Static Private Member Functions

static uint8_t GetType (void)
 Return the Type of address.

Private Attributes

uint8_t m_address [16]
 The address representation on 128 bits (16 bytes).


Detailed Description

Describes an IPv6 address.

See also:
Ipv6Prefix

Constructor & Destructor Documentation

ns3::Ipv6Address::Ipv6Address ( char const *  address  ) 

Constructs an Ipv6Address by parsing the input C-string.

Parameters:
address the C-string containing the IPv6 address (e.g. 2001:660:4701::1).

ns3::Ipv6Address::Ipv6Address ( uint8_t  address[16]  ) 

Constructs an Ipv6Address by using the input 16 bytes.

Parameters:
address the 128-bit address
Warning:
the parameter must point on a 16 bytes integer array!

ns3::Ipv6Address::Ipv6Address ( Ipv6Address const &  addr  ) 

Copy constructor.

Parameters:
addr Ipv6Address object

ns3::Ipv6Address::Ipv6Address ( Ipv6Address const *  addr  ) 

Copy constructor.

Parameters:
addr Ipv6Address pointer


Member Function Documentation

Ipv6Address ns3::Ipv6Address::CombinePrefix ( Ipv6Prefix const &  prefix  ) 

Combine this address with a prefix.

Parameters:
prefix a IPv6 prefix
Returns:
an IPv6 address that is this address combined (bitwise AND) with a prefix, yielding an IPv6 network address.

static Ipv6Address ns3::Ipv6Address::ConvertFrom ( const Address address  )  [static]

Convert the Address object into an Ipv6Address one.

Returns:
an Ipv6Address

Address ns3::Ipv6Address::ConvertTo ( void   )  const [private]

convert the IPv6Address object to an Address object.

Returns:
the Address object corresponding to this object.

static Ipv6Address ns3::Ipv6Address::Deserialize ( const uint8_t  buf[16]  )  [static]

Deserialize this address.

Parameters:
buf buffer to read address from
Returns:
an Ipv6Address

static Ipv6Address ns3::Ipv6Address::GetAllHostsMulticast (  )  [static]

Get the "all hosts multicast" address.

Returns:
the "ff02::3/8" Ipv6Address representation

static Ipv6Address ns3::Ipv6Address::GetAllNodesMulticast (  )  [static]

Get the "all nodes multicast" address.

Returns:
the "ff02::2/8" Ipv6Address representation

static Ipv6Address ns3::Ipv6Address::GetAllRoutersMulticast (  )  [static]

Get the "all routers multicast" address.

Returns:
the "ff02::2/8" Ipv6Address representation

static Ipv6Address ns3::Ipv6Address::GetAny (  )  [static]

Get the "any" (::) Ipv6Address.

Returns:
the "any" (::) Ipv6Address

void ns3::Ipv6Address::GetBytes ( uint8_t  buf[16]  )  const

Get the bytes corresponding to the address.

Parameters:
buf buffer to store the data
Returns:
bytes of the address

static Ipv6Address ns3::Ipv6Address::GetLoopback (  )  [static]

Get the loopback address.

Returns:
the "::1/128" Ipv6Address representation.

static uint8_t ns3::Ipv6Address::GetType ( void   )  [static, private]

Return the Type of address.

Returns:
type of address

static Ipv6Address ns3::Ipv6Address::GetZero (  )  [static]

Get the 0 (::) Ipv6Address.

Returns:
the :: Ipv6Address representation

bool ns3::Ipv6Address::IsAllHostsMulticast (  )  const

If the IPv6 address is "all hosts multicast" (ff02::3/8).

Returns:
true if "all hosts multicast", false otherwise

bool ns3::Ipv6Address::IsAllNodesMulticast (  )  const

If the IPv6 address is "all nodes multicast" (ff02::1/8).

Returns:
true if "all nodes multicast", false otherwise

bool ns3::Ipv6Address::IsAllRoutersMulticast (  )  const

If the IPv6 address is "all routers multicast" (ff02::2/8).

Returns:
true if "all routers multicast", false otherwise

bool ns3::Ipv6Address::IsAny (  )  const

If the IPv6 address is the "Any" address.

Returns:
true if it is, false otherwise

bool ns3::Ipv6Address::IsEqual ( const Ipv6Address other  )  const

Comparison operation between two Ipv6Addresses.

Parameters:
other the IPv6 address to which to compare thisaddress
Returns:
true if the addresses are equal, false otherwise

bool ns3::Ipv6Address::IsLinkLocal (  )  const

If the IPv6 address is a link-local address (fe80::/64).

Returns:
true if the address is link-local, false otherwise

bool ns3::Ipv6Address::IsLocalhost (  )  const

If the IPv6 address is localhost (::1).

Returns:
true if localhost, false otherwise

static bool ns3::Ipv6Address::IsMatchingType ( const Address address  )  [static]

If the Address matches the type.

Parameters:
address other address
Returns:
true if the type matches, false otherwise

bool ns3::Ipv6Address::IsMulticast (  )  const

If the IPv6 address is multicast (ff00::/8).

Returns:
true if multicast, false otherwise

bool ns3::Ipv6Address::IsSolicitedMulticast (  )  const

If the IPv6 address is a Solicited multicast address.

Returns:
true if it is, false otherwise

static Ipv6Address ns3::Ipv6Address::MakeAutoconfiguredAddress ( Mac48Address  addr,
Ipv6Address  prefix 
) [static]

Make the autoconfigured IPv6 address with Mac48Address.

Parameters:
addr the MAC address (48 bits).
prefix the IPv6 prefix
Returns:
autoconfigured IPv6 address

static Ipv6Address ns3::Ipv6Address::MakeAutoconfiguredLinkLocalAddress ( Mac48Address  mac  )  [static]

Make the autoconfigured link-local IPv6 address with Mac48Address.

Parameters:
mac the MAC address (48 bits).
Returns:
autoconfigured link-local IPv6 address

static Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress ( Ipv6Address  addr  )  [static]

Make the solicited IPv6 address.

Parameters:
addr the IPv6 address
Returns:
Solicited IPv6 address

void ns3::Ipv6Address::Print ( std::ostream &  os  )  const

Print this address to the given output stream.

The print format is in the typical "2001:660:4701::1".

Parameters:
os the output stream to which this Ipv6Address is printed

void ns3::Ipv6Address::Serialize ( uint8_t  buf[16]  )  const

Serialize this address to a 16-byte buffer.

Parameters:
buf the output buffer to which this address gets overwritter with this Ipv6Address

void ns3::Ipv6Address::Set ( uint8_t  address[16]  ) 

Set an Ipv6Address by using the input 16 bytes.

Parameters:
address the 128-bit address
Warning:
the parameter must point on a 16 bytes integer array!

void ns3::Ipv6Address::Set ( char const *  address  ) 

Sets an Ipv6Address by parsing the input C-string.

Parameters:
address the C-string containing the IPv6 address (e.g. 2001:660:4701::1).


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

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