ns-3
ns3::Ipv6Prefix Class Reference

Describes an IPv6 prefix. It is just a bitmask like Ipv4Mask. More...

#include <ipv6-address.h>

List of all members.

Public Member Functions

 Ipv6Prefix ()
 Default constructor.
 Ipv6Prefix (uint8_t prefix[16])
 Constructs an Ipv6Prefix by using the input 16 bytes.
 Ipv6Prefix (char const *prefix)
 Constructs an Ipv6Prefix by using the input string.
 Ipv6Prefix (uint8_t prefix)
 Constructs an Ipv6Prefix by using the input number of bits.
 Ipv6Prefix (Ipv6Prefix const &prefix)
 Copy constructor.
 Ipv6Prefix (Ipv6Prefix const *prefix)
 Copy constructor.
 ~Ipv6Prefix ()
 Destructor.
bool IsMatch (Ipv6Address a, Ipv6Address b) const
 If the Address match the type.
void GetBytes (uint8_t buf[16]) const
 Get the bytes corresponding to the prefix.
uint8_t GetPrefixLength () const
 Get prefix length.
bool IsEqual (const Ipv6Prefix &other) const
 Comparison operation between two Ipv6Prefix.
void Print (std::ostream &os) const
 Print this address to the given output stream.

Static Public Member Functions

static Ipv6Prefix GetLoopback ()
 Get the loopback prefix ( /128).
static Ipv6Prefix GetOnes ()
 Get the "all-1" IPv6 mask (ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff).
static Ipv6Prefix GetZero ()
 Get the zero prefix ( /0).

Detailed Description

Describes an IPv6 prefix. It is just a bitmask like Ipv4Mask.

See also:
Ipv6Address

Constructor & Destructor Documentation

ns3::Ipv6Prefix::Ipv6Prefix ( uint8_t  prefix[16])

Constructs an Ipv6Prefix by using the input 16 bytes.

Parameters:
prefixthe 128-bit prefix
ns3::Ipv6Prefix::Ipv6Prefix ( char const *  prefix)

Constructs an Ipv6Prefix by using the input string.

Parameters:
prefixthe 128-bit prefix
ns3::Ipv6Prefix::Ipv6Prefix ( uint8_t  prefix)

Constructs an Ipv6Prefix by using the input number of bits.

Parameters:
prefixnumber of bits of the prefix (0 - 128)
Note:
A valid number of bits is between 0 and 128).

References NS_ASSERT.

Copy constructor.

Parameters:
prefixIpv6Prefix object

Copy constructor.

Parameters:
prefixIpv6Prefix pointer

Member Function Documentation

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

Get the bytes corresponding to the prefix.

Parameters:
bufbuffer to store the data

Get the loopback prefix ( /128).

Returns:
a Ipv6Prefix corresponding to loopback prefix
Ipv6Prefix ns3::Ipv6Prefix::GetOnes ( void  ) [static]

Get the "all-1" IPv6 mask (ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff).

Returns:
/128 Ipv6Prefix representation

Referenced by ns3::Ipv6StaticRouting::AddHostRouteTo(), ns3::Ipv6RoutingTableEntry::CreateHostRouteTo(), and ns3::Ipv6RoutingTableEntry::IsHost().

uint8_t ns3::Ipv6Prefix::GetPrefixLength ( void  ) const

Get prefix length.

Returns:
prefix length

Referenced by ns3::Ipv6StaticRouting::GetDefaultRoute().

Ipv6Prefix ns3::Ipv6Prefix::GetZero ( void  ) [static]

Get the zero prefix ( /0).

Returns:
an Ipv6Prefix

Referenced by ns3::Ipv6StaticRouting::SetDefaultRoute().

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

Comparison operation between two Ipv6Prefix.

Parameters:
otherthe IPv6 prefix to which to compare this prefix
Returns:
true if the prefixes are equal, false otherwise

Referenced by ns3::Ipv6RoutingTableEntry::IsHost().

If the Address match the type.

Parameters:
aa first address
ba second address
Returns:
true if the type match, false otherwise

References ns3::Ipv6Address::GetBytes().

Referenced by ns3::Ipv6Interface::GetAddressMatchingDestination(), and ns3::Ipv6StaticRouting::HasNetworkDest().

void ns3::Ipv6Prefix::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:
osthe output stream to which this Ipv6Address is printed

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