4 #ifndef BASE_ADDRESS_UTIL_H__ 
    5 #define BASE_ADDRESS_UTIL_H__ 
   11 #include <boost/asio/io_service.hpp> 
   49                          const std::string &ip_address_str,
 
   50                          boost::system::error_code *ec);
 
   56                              std::string *error_msg);
 
   64              uint64_t *sip_u, uint64_t *sip_l,
 
   65              uint64_t *dip_u, uint64_t *dip_l);
 
   67 void U64ToIp(uint64_t sip_u, uint64_t sip_l, uint64_t dip_u, uint64_t dip_l,
 
   72                              std::string *error_msg);
 
   80 std::string 
GetHostIp(boost::asio::io_context *io_service,
 
   81                       const std::string &hostname);
 
boost::asio::ip::address_v6 Ip6Address
 
boost::asio::ip::address IpAddress
 
boost::asio::ip::address_v4 Ip4Address
 
void U64ToIp(uint64_t sip_u, uint64_t sip_l, uint64_t dip_u, uint64_t dip_l, int family, IpAddress *sip, IpAddress *dip)
 
bool IsIp6SubnetMember(const Ip6Address &ip, const Ip6Address &subnet, uint8_t plen)
 
std::string ResolveCanonicalNameIPv6(const std::string &ipv6)
 
std::string VectorIpv6ToString(const std::vector< signed char > &ipv6)
 
void IpToU64(const IpAddress &sip, const IpAddress &dip, uint64_t *sip_u, uint64_t *sip_l, uint64_t *dip_u, uint64_t *dip_l)
 
std::string GetHostIp(boost::asio::io_context *io_service, const std::string &hostname)
 
IpAddress PrefixToIpNetmask(uint32_t prefix_len)
 
std::string GetVNFromRoutingInstance(const std::string &vn)
 
bool IsIp4SubnetMember(const Ip4Address &ip, const Ip4Address &prefix_ip, uint16_t plen)
 
boost::asio::ip::address AddressFromString(const std::string &ip_address_str, boost::system::error_code *ec)
 
uint32_t NetmaskToPrefix(uint32_t netmask)
 
bool ValidateServerEndpoints(std::vector< std::string > list, std::string *error_msg)
 
Ip4Address GetIp4SubnetBroadcastAddress(const Ip4Address &ip_prefix, uint16_t plen)
 
bool ValidateIPAddressString(std::string ip_address_str, std::string *error_msg)
 
void U64ToIpv6(uint64_t upper, uint64_t lower, IpAddress *ip)
 
void Ip6AddressToU64Array(const Ip6Address &addr, uint64_t *arr, int size)
 
IpAddress PrefixToIp6Netmask(uint32_t plen)
 
std::string ResolveCanonicalName()