<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body text="#000000" bgcolor="#FFFFFF">
I just finished an initial version of a plugin for OLSRd that
propagates mDNS/DNS-SD advertisements based on a service's TTL
value. So basically, local services are advertised over the mesh
according to custom TTL values declared in their Avahi service
files. For example, a service that has a TTL value of 3 will be
advertised a maximum of 3 hops away. This is useful for limiting
application visibility on a mesh, when service quality would degrade
based on the number of hops. For instance, an application with
streaming voice or video might only want to be advertised to nodes
within two hops. <br>
<br>
TTL values are specified as a txt-record in a service file, like so:<br>
<br>
<?xml version="1.0" standalone='no'?><!--*-nxml-*--><br>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd"><br>
<service-group><br>
<name replace-wildcards="yes">Example service on
%h</name><br>
<service><br>
<type>_http._tcp</type><br>
<domain-name>mesh.local</domain-name><br>
<port>80</port><br>
<txt-record>application=Example service</txt-record><br>
<txt-record><b>ttl=3</b></txt-record><br>
<txt-record>ipaddr=10.1.1.1</txt-record><br>
</service><br>
</service-group><br>
<br>
The plugin is based on a previous OLSR plugin, P2PD, which used
fixed TTL values for all multicast traffic.<br>
<br>
I'll send this out to the OLSR dev community soon, but I wanted to
see if anyone had any initial feedback first. It's kind of hard to
test without a large enough mesh to try it out on, but please try it
out if you're inclined:
<a class="moz-txt-link-freetext" href="https://github.com/opentechinstitute/olsrd-dnssd">https://github.com/opentechinstitute/olsrd-dnssd</a>. Currently, OLSRd
has to be restarted when local services are added or removed, but
that's something I'd like to fix in the next release.<br>
<br>
Dan<br>
<br>
<pre class="moz-signature" cols="72">--
Dan Staples
Open Technology Institute
<a class="moz-txt-link-freetext" href="https://commotionwireless.net">https://commotionwireless.net</a></pre>
</body>
</html>