<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">On 12.05.2018 21:29, Axel Neumann
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:793381ba-b59d-50e4-6d7b-cbe9bef91ba1@cgws.de">
<pre wrap="">Thanks a lot for your replies. But as you can see from my comments below
this all does not look like a valid option for many embedded use cases.
BTW, my background are community mesh networks which are maintained by
all kind of different individuals using a zoo of different device types.
I would really appreciate if WG can further elaborate on this issue.
There are many real-life communities with embedded-device deployments
that would be looking forward to use WG.
Could you also comment on the described approach (see again at the end
of the mail) of allowing (maybe as an alternative) a sequence number
instead of a timestamp?
</pre>
</blockquote>
What's the problem? the protocol documentation states<br>
<br>
> The server keeps track of the greatest timestamp received <em>per
client</em> <br>
> and discards packets containing timestamps less than or equal
to it.<br>
<br>
I just checked the C implementation; it does this check (and no
others). In particular it doesn't check whether the timestamp field
corresponds to anybody's idea of the current time.<br>
<br>
Thus you don't need current time; you just need to seed a counter. I
would thus add an option to wg.conf that, if present, sets the
interface's current timestamp to some value and uses it as a counter
instead of a timestamp.<br>
<br>
Then, when you set up your WG instance, you should immediately
rewrite your wg.conf file (just add 2^32) so that a reboot doesn't
DoS yourself. Additionally, when you acquire NTP sync, set the
parameter to the TAI64N() of the current time. To be extra safe,
repeat this every week or month or so.<br>
<br>
Can anybody think of problems with this solution?<br>
<br>
<pre class="moz-signature" cols="72">--
-- Matthias Urlichs</pre>
</body>
</html>