30 #ifndef TINS_ROUTING_UTILS_H
31 #define TINS_ROUTING_UTILS_H
35 #include <tins/macros.h>
36 #include <tins/ip_address.h>
37 #include <tins/ipv6_address.h>
110 template<
typename ForwardIterator>
118 template<
typename ForwardIterator>
174 template<
typename ForwardIterator>
177 for (
size_t i = 0; i < entries.size(); ++i) {
178 *output = entries[i];
183 template<
typename ForwardIterator>
186 for (
size_t i = 0; i < entries.size(); ++i) {
187 *output = entries[i];
Abstraction of an IPv4 address.
Definition: ip_address.h:45
Definition: ipv6_address.h:45
TINS_API bool gateway_from_ip(IPv4Address ip, IPv4Address &gw_addr)
Finds the gateway's IP address for the given IP address.
Definition: routing_utils.cpp:430
TINS_API std::set< std::string > network_interfaces()
List all network interfaces.
Definition: routing_utils.cpp:415
void route6_entries(ForwardIterator output)
Retrieves entries in the routing table.
Definition: routing_utils.h:184
void route_entries(ForwardIterator output)
Retrieves entries in the routing table.
Definition: routing_utils.h:175
The Tins namespace.
Definition: address_range.h:38
Definition: routing_utils.h:78
IPv6Address mask
Definition: routing_utils.h:92
IPv6Address gateway
Definition: routing_utils.h:97
IPv6Address destination
Definition: routing_utils.h:87
std::string interface
Definition: routing_utils.h:82
int metric
Definition: routing_utils.h:102
Definition: routing_utils.h:48
IPv4Address gateway
Definition: routing_utils.h:62
IPv4Address mask
Definition: routing_utils.h:67
int metric
Definition: routing_utils.h:72
IPv4Address destination
Definition: routing_utils.h:57
std::string interface
Definition: routing_utils.h:52