Documentation
¶
Overview ¶
Package meshdns contains the Mesh DNS server.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DomainOptions ¶ added in v0.1.2
type DomainOptions struct {
// Mesh is the mesh that this domain belongs to.
Mesh meshdb.Store
// IPv6Only indicates that this domain should only respond to IPv6 requests.
IPv6Only bool
// SubscribeForwarders indicates that new forwarders added to the mesh should be
// appeneded to the current server.
SubscribeForwarders bool
}
type Options ¶
type Options struct {
// UDPListenAddr is the UDP address to listen on.
UDPListenAddr string
// TCPListenAddr is the TCP address to listen on.
TCPListenAddr string
// ReusePort enables SO_REUSEPORT on the listeners.
// TODO: not implemented yet
ReusePort int
// Compression enables DNS compression.
Compression bool
// RequestTimeout is the timeout for DNS requests.
// Defaults to 5 seconds.
RequestTimeout time.Duration
// Forwaders are the DNS forwarders to use. If empty,
// the system DNS servers will be used.
Forwarders []string
// DisableForwarding disables forwarding requests to the
// configured forwarders.
DisableForwarding bool
// CacheSize is the size of the remote DNS cache.
CacheSize int
}
Options are the Mesh DNS server options.
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server is the MeshDNS server.
func (*Server) ListenAndServe ¶
ListenAndServe serves the Mesh DNS server.
func (*Server) RegisterDomain ¶ added in v0.1.2
func (s *Server) RegisterDomain(opts DomainOptions) error
RegisterDomain registers a new domain to be served by the Mesh DNS server.
Click to show internal directories.
Click to hide internal directories.