| // Copyright 2020 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| library fuchsia.net.name; |
| |
| using fuchsia.net; |
| |
| /// A DNS server configuration. |
| type DnsServer = table { |
| /// The server's address, must be provided. |
| 1: address fuchsia.net.SocketAddress; |
| /// The configuration source for this server. Defaults to |
| /// [`fuchsia.net.name/DnsServerSource.static_source`]. |
| 2: source @generated_name("DnsServerSource") strict union { |
| /// The server is statically configured through |
| /// [`fuchsia.net.name/LookupAdmin.SetDefaultServers`]. |
| 1: static_source @generated_name("StaticDnsServerSource") table {}; |
| /// The server was discovered through DHCPv4. |
| 2: dhcp @generated_name("DhcpDnsServerSource") table { |
| /// The interface index over which this server was discovered. |
| 1: source_interface uint64; |
| }; |
| /// The server was discovered through an NDP Router Advertisement. |
| 3: ndp @generated_name("NdpDnsServerSource") table { |
| /// The interface index over which this server was discovered. |
| 1: source_interface uint64; |
| }; |
| /// The server was discovered through DHCPv6. |
| 4: dhcpv6 @generated_name("Dhcpv6DnsServerSource") table { |
| /// The interface index over which this server was discovered. |
| 1: source_interface uint64; |
| }; |
| }; |
| }; |