From 9e25315caa2359077565308e646cd8ef72acb6e6 Mon Sep 17 00:00:00 2001 From: Patrik Flykt Date: Fri, 29 Sep 2017 11:10:19 +0300 Subject: [PATCH] networkd: Add EmitDNS and EmitDomains configuration options Add EmitDNS= and EmitDomains= options to the IPv6PrefixDelegation network configuration file section so that sending DNS servers and DNS search domains can be configured independent of each other. The default values for both are set to true. --- src/network/networkd-network-gperf.gperf | 2 ++ src/network/networkd-network.c | 3 +++ src/network/networkd-network.h | 2 ++ 3 files changed, 7 insertions(+) diff --git a/src/network/networkd-network-gperf.gperf b/src/network/networkd-network-gperf.gperf index af39d77ce9..ca0d67e3d2 100644 --- a/src/network/networkd-network-gperf.gperf +++ b/src/network/networkd-network-gperf.gperf @@ -152,7 +152,9 @@ IPv6PrefixDelegation.RouterLifetimeSec, config_parse_sec, IPv6PrefixDelegation.Managed, config_parse_bool, 0, offsetof(Network, router_managed) IPv6PrefixDelegation.OtherInformation, config_parse_bool, 0, offsetof(Network, router_other_information) IPv6PrefixDelegation.RouterPreference, config_parse_router_preference, 0, 0 +IPv6PrefixDelegation.EmitDNS, config_parse_bool, 0, offsetof(Network, router_emit_dns) IPv6PrefixDelegation.DNS, config_parse_radv_dns, 0, 0 +IPv6PrefixDelegation.EmitDomains, config_parse_bool, 0, offsetof(Network, router_emit_domains) IPv6PrefixDelegation.Domains, config_parse_radv_search_domains, 0, 0 IPv6PrefixDelegation.DNSLifetimeSec, config_parse_sec, 0, offsetof(Network, router_dns_lifetime_usec) IPv6Prefix.Prefix, config_parse_prefix, 0, 0 diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c index 3a7eb2c2a8..bf54a57f3b 100644 --- a/src/network/networkd-network.c +++ b/src/network/networkd-network.c @@ -233,6 +233,9 @@ static int network_load_one(Manager *manager, const char *filename) { network->dhcp_server_emit_router = true; network->dhcp_server_emit_timezone = true; + network->router_emit_dns = true; + network->router_emit_domains = true; + network->use_bpdu = true; network->allow_port_to_be_root = true; network->unicast_flood = true; diff --git a/src/network/networkd-network.h b/src/network/networkd-network.h index 9fb0eae380..500325fbd0 100644 --- a/src/network/networkd-network.h +++ b/src/network/networkd-network.h @@ -167,6 +167,8 @@ struct Network { uint8_t router_preference; bool router_managed; bool router_other_information; + bool router_emit_dns; + bool router_emit_domains; usec_t router_dns_lifetime_usec; struct in6_addr *router_dns; unsigned n_router_dns;