struct connman_ipaddress *ipaddress);
int connman_inet_clear_ipv6_address(int index,
const char *address, int prefix_len);
+int connman_inet_add_ipv6_network_route(int index, const char *host,
+ const char *gateway, unsigned char prefix_len);
int connman_inet_add_ipv6_host_route(int index, const char *host,
const char *gateway);
+int connman_inet_del_ipv6_network_route(int index, const char *host,
+ unsigned char prefix_len);
int connman_inet_del_ipv6_host_route(int index, const char *host);
int connman_inet_set_ipv6_gateway_address(int index, const char *gateway);
int connman_inet_clear_ipv6_gateway_address(int index, const char *gateway);
return err;
}
-int connman_inet_del_ipv6_host_route(int index, const char *host)
+int connman_inet_del_ipv6_network_route(int index, const char *host,
+ unsigned char prefix_len)
{
struct in6_rtmsg rt;
int sk, err;
memset(&rt, 0, sizeof(rt));
- rt.rtmsg_dst_len = 128;
+ rt.rtmsg_dst_len = prefix_len;
err = inet_pton(AF_INET6, host, &rt.rtmsg_dst);
if (err < 0)
return err;
}
-int connman_inet_add_ipv6_host_route(int index, const char *host,
- const char *gateway)
+int connman_inet_del_ipv6_host_route(int index, const char *host)
+{
+ return connman_inet_del_ipv6_network_route(index, host, 128);
+}
+
+int connman_inet_add_ipv6_network_route(int index, const char *host,
+ const char *gateway,
+ unsigned char prefix_len)
{
struct in6_rtmsg rt;
int sk, err;
memset(&rt, 0, sizeof(rt));
- rt.rtmsg_dst_len = 128;
+ rt.rtmsg_dst_len = prefix_len;
err = inet_pton(AF_INET6, host, &rt.rtmsg_dst);
if (err < 0)
return err;
}
+int connman_inet_add_ipv6_host_route(int index, const char *host,
+ const char *gateway)
+{
+ return connman_inet_add_ipv6_network_route(index, host, gateway, 128);
+}
+
int connman_inet_set_ipv6_gateway_address(int index, const char *gateway)
{
struct in6_rtmsg rt;