diff --git a/man/rules/meson.build b/man/rules/meson.build
index 7385658d6a..499fe6d19e 100644
--- a/man/rules/meson.build
+++ b/man/rules/meson.build
@@ -662,6 +662,7 @@ manpages = [
['systemd.link', '5', [], ''],
['systemd.mount', '5', [], ''],
['systemd.netdev', '5', [], 'ENABLE_NETWORKD'],
+ ['systemd.dnssd', '5', [], 'ENABLE_RESOLVE'],
['systemd.network', '5', [], 'ENABLE_NETWORKD'],
['systemd.nspawn', '5', [], ''],
['systemd.offline-updates', '7', [], ''],
diff --git a/man/systemd-resolve.xml b/man/systemd-resolve.xml
index 835521aa74..c4af2d8662 100644
--- a/man/systemd-resolve.xml
+++ b/man/systemd-resolve.xml
@@ -404,6 +404,7 @@ _443._tcp.fedoraproject.org IN TLSA 0 0 1 19400be5b7a31fb733917700789d2f0a2471c0
systemd1,
systemd-resolved.service8
+ systemd.dnssd5
diff --git a/man/systemd.dnssd.xml b/man/systemd.dnssd.xml
new file mode 100644
index 0000000000..4e30338bf0
--- /dev/null
+++ b/man/systemd.dnssd.xml
@@ -0,0 +1,250 @@
+
+
+
+
+
+
+
+
+ systemd.dnssd
+ systemd
+
+
+
+ Developer
+ Dmitry
+ Rozhkov
+ dmitry.rozhkov@intel.com
+
+
+
+
+
+ systemd.dnssd
+ 5
+
+
+
+ systemd.dnssd
+ DNS-SD configuration
+
+
+
+ network_service.dnssd
+
+
+
+ Description
+
+ DNS-SD setup is performed by
+ systemd-resolved8.
+
+
+ The main network service file must have the extension .dnssd; other
+ extensions are ignored.
+
+ The .dnssd files are read from the files located in the system
+ network directory /usr/lib/systemd/dnssd, the volatile runtime network
+ directory /run/systemd/dnssd and the local administration network
+ directory /etc/systemd/dnssd. All configuration files are collectively
+ sorted and processed in lexical order, regardless of the directories in which they live.
+ However, files with identical filenames replace each other. Files in /etc
+ have the highest priority, files in /run take precedence over files with
+ the same name in /usr/lib. This can be used to override a system-supplied
+ configuration file with a local file if needed.
+
+ Along with the network service file foo.dnssd, a "drop-in" directory
+ foo.dnssd.d/ may exist. All files with the suffix
+ .conf from this directory will be parsed after the file itself is
+ parsed. This is useful to alter or add configuration settings, without having to modify the main
+ configuration file. Each drop-in file must have appropriate section headers.
+
+ In addition to /etc/systemd/dnssd, drop-in .d
+ directories can be placed in /usr/lib/systemd/dnssd or
+ /run/systemd/dnssd directories. Drop-in files in
+ /etc take precedence over those in /run which in turn
+ take precedence over those in /usr/lib. Drop-in files under any of these
+ directories take precedence over the main network service file wherever located. (Of course, since
+ /run is temporary and /usr/lib is for vendors, it is
+ unlikely drop-ins should be used in either of those places.)
+
+
+
+ [Service] Section Options
+
+ The network service file contains a [Service]
+ section, which specifies a discoverable network service announced in a
+ local network with Multicast DNS broadcasts.
+
+
+
+ Name=
+
+ An instance name of the network service as defined in the section 4.1.1 of RFC 6763, e.g. webserver.
+ The option supports simple specifier expansion. The following expansions are understood:
+
+ Specifiers available
+
+
+
+
+
+
+ Specifier
+ Meaning
+ Details
+
+
+
+
+ %m
+ Machine ID
+ The machine ID of the running system, formatted as string. See machine-id5 for more information.
+
+
+ %b
+ Boot ID
+ The boot ID of the running system, formatted as string. See random4 for more information.
+
+
+ %H
+ Host name
+ The hostname of the running system.
+
+
+ %v
+ Kernel release
+ Identical to uname -r output.
+
+
+
+
+
+
+
+ Type=
+
+ A type of the network service as defined in the section 4.1.2 of RFC 6763, e.g. _http._tcp.
+
+
+
+
+ Port=
+
+ An IP port number of the network service.
+
+
+
+ Priority=
+
+ A priority number set in SRV resource records corresponding to the network service.
+
+
+
+ Weight=
+
+ A weight number set in SRV resource records corresponding to the network service.
+
+
+
+ TxtText=
+
+ A whitespace-separated list of arbitrary key/value pairs
+ conveying additional information about the named service in the corresponding TXT resource record,
+ e.g. path=/portal/index.html. Keys and values can contain C-style escape
+ sequences which get translated upon reading configuration files.
+
+
+
+
+ TxtData=
+
+ A whitespace-separated list of arbitrary key/value pairs
+ conveying additional information about the named service in the corresponding TXT resource record
+ where values are base64-encoded string representing any binary data,
+ e.g. data=YW55IGJpbmFyeSBkYXRhCg==. Keys can contain C-style escape
+ sequences which get translated upon reading configuration files.
+
+
+
+
+
+
+
+
+ Examples
+
+ HTTP service
+
+ # /etc/systemd/dnssd/http.dnssd
+[Service]
+Name=%h
+Type=_http._tcp
+Port=80
+TxtText=path=/stats/index.html t=temperature_sensor
+
+ This makes the http server running on the host discoverable in the local network
+ given MulticastDNS is enabled on the network interface.
+
+ Now the utility systemd-resolve should be able to resolve the
+ service to the host's name:
+
+ $ systemd-resolve --service meteo._http._tcp.local
+meteo._http._tcp.local: meteo.local:80 [priority=0, weight=0]
+ 169.254.208.106%senp0s21f0u2u4
+ fe80::213:3bff:fe49:8aa%senp0s21f0u2u4
+ path=/stats/index.html
+ t=temperature_sensor
+ (meteo/_http._tcp/local)
+
+-- Information acquired via protocol mDNS/IPv6 in 4.0ms.
+-- Data is authenticated: yes
+
+ Avahi running on a different host in the same local network should see the service as well:
+
+ $ avahi-browse -a -r
++ enp3s0 IPv6 meteo Web Site local
++ enp3s0 IPv4 meteo Web Site local
+= enp3s0 IPv6 meteo Web Site local
+ hostname = [meteo.local]
+ address = [fe80::213:3bff:fe49:8aa]
+ port = [80]
+ txt = ["path=/stats/index.html" "t=temperature_sensor"]
+= enp3s0 IPv4 meteo Web Site local
+ hostname = [meteo.local]
+ address = [169.254.208.106]
+ port = [80]
+ txt = ["path=/stats/index.html" "t=temperature_sensor"]
+
+
+
+
+
+ See Also
+
+ systemd1,
+ systemd-resolved.service8
+
+
+
+