a class to represent an Ipv4 address mask More...
#include "ipv4-address.h"
Public Member Functions | |
| Ipv4Mask () | |
| Will initialize to a garbage value (0x66666666) More... | |
| Ipv4Mask (uint32_t mask) | |
| Ipv4Mask (char const *mask) | |
| uint32_t | Get (void) const |
| Get the host-order 32-bit IP mask. More... | |
| uint32_t | GetInverse (void) const |
| Return the inverse mask in host order. More... | |
| uint16_t | GetPrefixLength (void) const |
| bool | IsEqual (Ipv4Mask other) const |
| bool | IsMatch (Ipv4Address a, Ipv4Address b) const |
| void | Print (std::ostream &os) const |
| Print this mask to the given output stream. More... | |
| void | Set (uint32_t mask) |
| input mask is in host order. More... | |
Static Public Member Functions | |
| static Ipv4Mask | GetLoopback (void) |
| static Ipv4Mask | GetOnes (void) |
| static Ipv4Mask | GetZero (void) |
Private Attributes | |
| uint32_t | m_mask |
| IP mask. More... | |
a class to represent an Ipv4 address mask
The constructor takes arguments according to a few formats. Ipv4Mask ("255.255.255.255"), Ipv4Mask ("/32"), and Ipv4Mask (0xffffffff) are all equivalent.
Definition at line 258 of file ipv4-address.h.
| ns3::Ipv4Mask::Ipv4Mask | ( | ) |
Will initialize to a garbage value (0x66666666)
Definition at line 78 of file ipv4-address.cc.
References NS_LOG_FUNCTION.
Referenced by GetLoopback(), GetOnes(), and GetZero().
Here is the caller graph for this function:| ns3::Ipv4Mask::Ipv4Mask | ( | uint32_t | mask | ) |
| mask | bitwise integer representation of the mask |
For example, the integer input 0xffffff00 yields a 24-bit mask
Definition at line 84 of file ipv4-address.cc.
References NS_LOG_FUNCTION.
| ns3::Ipv4Mask::Ipv4Mask | ( | char const * | mask | ) |
| mask | String constant either in "255.255.255.0" or "/24" format |
Definition at line 90 of file ipv4-address.cc.
References ASCII_SLASH, ns3::AsciiToIpv4Host(), m_mask, NS_ASSERT, and NS_LOG_FUNCTION.
Here is the call graph for this function:| uint32_t ns3::Ipv4Mask::Get | ( | void | ) | const |
Get the host-order 32-bit IP mask.
Definition at line 135 of file ipv4-address.cc.
References m_mask, and NS_LOG_FUNCTION.
Referenced by ns3::Ipv4Address::CombineMask(), ns3::Ipv4AddressGeneratorImpl::Init(), ns3::Ipv4InterfaceAddress::Ipv4InterfaceAddress(), ns3::GlobalRouter::ProcessBridgedBroadcastLink(), ns3::GlobalRouter::ProcessPointToPointLink(), ns3::GlobalRouter::ProcessSingleBroadcastLink(), ns3::DhcpServer::SendOffer(), ns3::RipRte::Serialize(), and ns3::Ipv4AddressHelper::SetBase().
Here is the caller graph for this function:| uint32_t ns3::Ipv4Mask::GetInverse | ( | void | ) | const |
Return the inverse mask in host order.
Definition at line 147 of file ipv4-address.cc.
References m_mask, and NS_LOG_FUNCTION.
Referenced by ns3::Ipv4Address::GetSubnetDirectedBroadcast(), and ns3::Ipv4Address::IsSubnetDirectedBroadcast().
Here is the caller graph for this function:
|
static |
Definition at line 165 of file ipv4-address.cc.
References Ipv4Mask(), and NS_LOG_FUNCTION_NOARGS.
Referenced by ns3::Ipv4L3Protocol::SetupLoopback().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 179 of file ipv4-address.cc.
References Ipv4Mask(), and NS_LOG_FUNCTION_NOARGS.
Referenced by ns3::Ipv4StaticRouting::AddHostRouteTo(), ns3::TapBridge::CreateTap(), ns3::Ipv4Address::GetSubnetDirectedBroadcast(), ns3::Ipv4RoutingTableEntry::IsHost(), ns3::Ipv4Address::IsSubnetDirectedBroadcast(), ns3::Ipv4StaticRouting::NotifyInterfaceUp(), ns3::aodv::RoutingProtocol::RecvRequest(), ns3::aodv::RoutingProtocol::SendHello(), ns3::dsdv::RoutingProtocol::SendPeriodicUpdate(), ns3::aodv::RoutingProtocol::SendRequest(), ns3::aodv::RoutingProtocol::SendRerrMessage(), ns3::aodv::RoutingProtocol::SendRerrWhenNoRouteToForward(), and ns3::dsdv::RoutingProtocol::SendTriggeredUpdate().
Here is the call graph for this function:
Here is the caller graph for this function:| uint16_t ns3::Ipv4Mask::GetPrefixLength | ( | void | ) | const |
Definition at line 187 of file ipv4-address.cc.
References m_mask, and NS_LOG_FUNCTION.
Referenced by ns3::PlanetLabFdNetDeviceHelper::CreateFileDescriptor(), ns3::Ipv4StaticRouting::GetDefaultRoute(), ns3::Ipv4EndPointDemux::Lookup(), ns3::Rip::Lookup(), ns3::Ipv4StaticRouting::LookupStatic(), and ns3::RipRte::Print().
Here is the caller graph for this function:
|
static |
Definition at line 172 of file ipv4-address.cc.
References Ipv4Mask(), NS_LOG_FUNCTION_NOARGS, and zero.
Referenced by ns3::Rip::AddDefaultRouteTo(), ns3::Ipv4RoutingTableEntry::CreateDefaultRoute(), ns3::TapFdNetDeviceHelper::CreateFileDescriptor(), ns3::Rip::DoSendRouteUpdate(), ns3::Rip::HandleRequests(), ns3::Rip::SendRouteRequest(), ns3::Ipv4StaticRouting::SetDefaultRoute(), and ns3::TapFdNetDeviceHelper::TapFdNetDeviceHelper().
Here is the call graph for this function:
Here is the caller graph for this function:| bool ns3::Ipv4Mask::IsEqual | ( | Ipv4Mask | other | ) | const |
| other | a mask to compare |
Definition at line 113 of file ipv4-address.cc.
References m_mask, and NS_LOG_FUNCTION.
Referenced by ns3::TapBridge::CreateTap(), ns3::Ipv4RoutingTableEntry::IsHost(), ns3::operator!=(), and ns3::operator==().
Here is the caller graph for this function:| bool ns3::Ipv4Mask::IsMatch | ( | Ipv4Address | a, |
| Ipv4Address | b | ||
| ) | const |
| a | first address to compare |
| b | second address to compare |
Definition at line 124 of file ipv4-address.cc.
References ns3::Ipv4Address::Get(), m_mask, and NS_LOG_FUNCTION.
Referenced by ns3::Rip::Lookup(), ns3::Ipv4GlobalRouting::LookupGlobal(), and ns3::Ipv4StaticRouting::LookupStatic().
Here is the call graph for this function:
Here is the caller graph for this function:| void ns3::Ipv4Mask::Print | ( | std::ostream & | os | ) | const |
Print this mask to the given output stream.
The print format is in the typical "255.255.255.0"
| os | The output stream to which this Ipv4Address is printed |
Definition at line 154 of file ipv4-address.cc.
References m_mask, and NS_LOG_FUNCTION.
Referenced by ns3::NscTcpL4Protocol::AddInterface(), and ns3::operator<<().
Here is the caller graph for this function:| void ns3::Ipv4Mask::Set | ( | uint32_t | mask | ) |
input mask is in host order.
| mask | The host order 32-bit mask |
Definition at line 141 of file ipv4-address.cc.
References m_mask, and NS_LOG_FUNCTION.
Referenced by ns3::RipRte::Deserialize(), and EpcTftClassifierTestSuite::EpcTftClassifierTestSuite().
Here is the caller graph for this function:
|
private |
IP mask.
Definition at line 326 of file ipv4-address.h.
Referenced by Get(), GetInverse(), GetPrefixLength(), Ipv4Mask(), IsEqual(), IsMatch(), Print(), and Set().