summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIndrajit Raychaudhuri <irc@indrajit.com>2023-05-17 00:42:48 -0500
committerIndrajit Raychaudhuri <irc@indrajit.com>2023-05-17 03:09:01 -0500
commitbbd4bcb4c972f6df43c40b119419abcea3daad21 (patch)
treef318be35bd51f0804ac3a9254359c423de4de605
parente02a722a3e95696d83abf7fe78893fbb67f40ad3 (diff)
downloadvyos-1x-bbd4bcb4c972f6df43c40b119419abcea3daad21.tar.gz
vyos-1x-bbd4bcb4c972f6df43c40b119419abcea3daad21.zip
mdns: T5227: Add support for browse domains and service filters
Allow listing additional browse domains (in addition to the default 'local') so that custom domains can be reflected. Additionally, allow filtering the services that are allowed to be reflected across multiple (V)LANs.
-rw-r--r--data/templates/mdns-repeater/avahi-daemon.j26
-rw-r--r--interface-definitions/service-mdns-repeater.xml.in26
2 files changed, 32 insertions, 0 deletions
diff --git a/data/templates/mdns-repeater/avahi-daemon.j2 b/data/templates/mdns-repeater/avahi-daemon.j2
index 65bb5a306..3aaa7fc82 100644
--- a/data/templates/mdns-repeater/avahi-daemon.j2
+++ b/data/templates/mdns-repeater/avahi-daemon.j2
@@ -2,6 +2,9 @@
use-ipv4=yes
use-ipv6=yes
allow-interfaces={{ interface | join(', ') }}
+{% if browse_domain is vyos_defined and browse_domain | length %}
+browse-domains={{ browse_domain | join(', ') }}
+{% endif %}
disallow-other-stacks=no
[wide-area]
@@ -16,3 +19,6 @@ publish-workstation=no
[reflector]
enable-reflector=yes
+{% if allow_service is vyos_defined and allow_service | length %}
+reflect-filters={{ allow_service | join(', ') }}
+{% endif %}
diff --git a/interface-definitions/service-mdns-repeater.xml.in b/interface-definitions/service-mdns-repeater.xml.in
index 9a94f1488..2cd92dbf2 100644
--- a/interface-definitions/service-mdns-repeater.xml.in
+++ b/interface-definitions/service-mdns-repeater.xml.in
@@ -15,6 +15,32 @@
<children>
#include <include/generic-disable-node.xml.i>
#include <include/generic-interface-multi.xml.i>
+ <leafNode name="browse-domain">
+ <properties>
+ <help>mDNS browsing domains in addition to the default one</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>mDNS browsing domain</description>
+ </valueHelp>
+ <constraint>
+ <validator name="fqdn"/>
+ </constraint>
+ <multi/>
+ </properties>
+ </leafNode>
+ <leafNode name="allow-service">
+ <properties>
+ <help>Allowed mDNS services to be repeated</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>mDNS service</description>
+ </valueHelp>
+ <constraint>
+ #include <include/constraint/alpha-numeric-hyphen-underscore.xml.i>
+ </constraint>
+ <multi/>
+ </properties>
+ </leafNode>
<leafNode name="vrrp-disable">
<properties>
<help>Disables mDNS repeater on VRRP interfaces not in MASTER state</help>