blob: 0fc6a6ef820216a3f8236223730a526ca390e79b [file] [log] [blame]
// 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;
};
};
};