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