mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-03-06 12:58:22 +03:00
sd-network: add new API sd_network_link_get_dns_default_route()
This simply reads from networkd's state files whether a link shall be used as DNS default route.
This commit is contained in:
parent
7ece6f5897
commit
c629354e84
@ -204,6 +204,25 @@ _public_ int sd_network_link_get_route_domains(int ifindex, char ***ret) {
|
||||
return network_link_get_strv(ifindex, "ROUTE_DOMAINS", ret);
|
||||
}
|
||||
|
||||
_public_ int sd_network_link_get_dns_default_route(int ifindex) {
|
||||
char path[STRLEN("/run/systemd/netif/links/") + DECIMAL_STR_MAX(ifindex) + 1];
|
||||
_cleanup_free_ char *s = NULL;
|
||||
int r;
|
||||
|
||||
assert_return(ifindex > 0, -EINVAL);
|
||||
|
||||
xsprintf(path, "/run/systemd/netif/links/%i", ifindex);
|
||||
|
||||
r = parse_env_file(NULL, path, "DNS_DEFAULT_ROUTE", &s);
|
||||
if (r == -ENOENT)
|
||||
return -ENODATA;
|
||||
if (r < 0)
|
||||
return r;
|
||||
if (isempty(s))
|
||||
return -ENODATA;
|
||||
return parse_boolean(s);
|
||||
}
|
||||
|
||||
static int network_link_get_ifindexes(int ifindex, const char *key, int **ret) {
|
||||
char path[STRLEN("/run/systemd/netif/links/") + DECIMAL_STR_MAX(ifindex) + 1];
|
||||
_cleanup_free_ int *ifis = NULL;
|
||||
|
@ -151,6 +151,9 @@ int sd_network_link_get_search_domains(int ifindex, char ***domains);
|
||||
/* Get the route DNS domain names for a given link. */
|
||||
int sd_network_link_get_route_domains(int ifindex, char ***domains);
|
||||
|
||||
/* Get whether this link shall be used as 'default route' for DNS queries */
|
||||
int sd_network_link_get_dns_default_route(int ifindex);
|
||||
|
||||
/* Get the carrier interface indexes to which current link is bound to. */
|
||||
int sd_network_link_get_carrier_bound_to(int ifindex, int **ifindexes);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user