OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
address_util.h File Reference
#include <string>
#include <vector>
#include <base/address.h>
#include <boost/asio/io_service.hpp>
Include dependency graph for address_util.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

bool IsIp4SubnetMember (const Ip4Address &ip, const Ip4Address &prefix_ip, uint16_t plen)
 
bool IsIp6SubnetMember (const Ip6Address &ip, const Ip6Address &subnet, uint8_t plen)
 
std::string ResolveCanonicalName ()
 
std::string ResolveCanonicalName (const std::string &ipv4)
 
std::string ResolveCanonicalNameIPv6 (const std::string &ipv6)
 
boost::asio::ip::address AddressFromString (const std::string &ip_address_str, boost::system::error_code *ec)
 
Ip4Address GetIp4SubnetBroadcastAddress (const Ip4Address &ip_prefix, uint16_t plen)
 
bool ValidateIPAddressString (std::string ip_address_str, std::string *error_msg)
 
IpAddress PrefixToIpNetmask (uint32_t prefix_len)
 
uint32_t NetmaskToPrefix (uint32_t netmask)
 
IpAddress PrefixToIp6Netmask (uint32_t plen)
 
void IpToU64 (const IpAddress &sip, const IpAddress &dip, uint64_t *sip_u, uint64_t *sip_l, uint64_t *dip_u, uint64_t *dip_l)
 
void U64ToIpv6 (uint64_t upper, uint64_t lower, IpAddress *ip)
 
void U64ToIp (uint64_t sip_u, uint64_t sip_l, uint64_t dip_u, uint64_t dip_l, int family, IpAddress *sip, IpAddress *dip)
 
void Ip6AddressToU64Array (const Ip6Address &addr, uint64_t *arr, int size)
 
bool ValidateServerEndpoints (std::vector< std::string > list, std::string *error_msg)
 
std::string VectorIpv6ToString (const std::vector< signed char > &ipv6)
 
std::string GetHostIp (boost::asio::io_context *io_service, const std::string &hostname)
 
std::string GetVNFromRoutingInstance (const std::string &vn)
 

Function Documentation

boost::asio::ip::address AddressFromString ( const std::string &  ip_address_str,
boost::system::error_code *  ec 
)

Definition at line 122 of file address_util.cc.

Here is the call graph for this function:

std::string GetHostIp ( boost::asio::io_context *  io_service,
const std::string &  hostname 
)

Definition at line 271 of file address_util.cc.

Ip4Address GetIp4SubnetBroadcastAddress ( const Ip4Address ip_prefix,
uint16_t  plen 
)

Definition at line 136 of file address_util.cc.

std::string GetVNFromRoutingInstance ( const std::string &  vn)

Definition at line 304 of file address_util.cc.

void Ip6AddressToU64Array ( const Ip6Address addr,
uint64_t *  arr,
int  size 
)

Definition at line 359 of file address_util.cc.

void IpToU64 ( const IpAddress sip,
const IpAddress dip,
uint64_t *  sip_u,
uint64_t *  sip_l,
uint64_t *  dip_u,
uint64_t *  dip_l 
)

Definition at line 311 of file address_util.cc.

Here is the call graph for this function:

bool IsIp4SubnetMember ( const Ip4Address ip,
const Ip4Address prefix_ip,
uint16_t  plen 
)

Definition at line 19 of file address_util.cc.

Here is the call graph for this function:

bool IsIp6SubnetMember ( const Ip6Address ip,
const Ip6Address subnet,
uint8_t  plen 
)

Definition at line 29 of file address_util.cc.

Here is the call graph for this function:

uint32_t NetmaskToPrefix ( uint32_t  netmask)

Definition at line 167 of file address_util.cc.

IpAddress PrefixToIp6Netmask ( uint32_t  plen)

Definition at line 177 of file address_util.cc.

IpAddress PrefixToIpNetmask ( uint32_t  prefix_len)

Definition at line 156 of file address_util.cc.

std::string ResolveCanonicalName ( )

Definition at line 40 of file address_util.cc.

std::string ResolveCanonicalName ( const std::string &  ipv4)

Definition at line 64 of file address_util.cc.

std::string ResolveCanonicalNameIPv6 ( const std::string &  ipv6)

Definition at line 89 of file address_util.cc.

void U64ToIp ( uint64_t  sip_u,
uint64_t  sip_l,
uint64_t  dip_u,
uint64_t  dip_l,
int  family,
IpAddress sip,
IpAddress dip 
)

Definition at line 348 of file address_util.cc.

Here is the call graph for this function:

void U64ToIpv6 ( uint64_t  upper,
uint64_t  lower,
IpAddress ip 
)

Definition at line 335 of file address_util.cc.

bool ValidateIPAddressString ( std::string  ip_address_str,
std::string *  error_msg 
)

Definition at line 143 of file address_util.cc.

Here is the call graph for this function:

bool ValidateServerEndpoints ( std::vector< std::string >  list,
std::string *  error_msg 
)

Definition at line 233 of file address_util.cc.

Here is the call graph for this function:

std::string VectorIpv6ToString ( const std::vector< signed char > &  ipv6)

Definition at line 392 of file address_util.cc.