Local address announces

Daniel Schall Daniel-Schall at web.de
Mon Sep 6 11:07:33 CEST 2010


> 
> > Please find attached an archive, which contains my latest version, as
> > well as a diff patch.
> 
> Hm, it still had the segfault problem, and I noticed some differences
> between the diff and the tarball. I fixed the segfault, but it still did
not work
> on my network.
> 

I'll give it a try myself, as soon as I've got the time to have a look at
it.

> > Did you set the configuration to "LocalAnnounce = AnnounceAndReceive"?
> 
> I did set that.
> 
> > By the way, I tried to commit my changes by issuing "git push", but I
> > get the error: "fatal: The remote end hung up unexpectedly" :-/ Same
> > if I type "git push git://tinc-vpn.org/tinc"..
> 
> You cannot push to the main git repository. You can send me your commits
> via email (you can use git format-patch and send-email commands, or attach
> the output of git diff to an email), or you can make your git repository
public
> so I can pull from it.
> 
> Anyway, since I still believe broadcasting PMTU discovery packets is
easier, I
> tried to implement that. The changes necessary were:
> 
> 1. Find out the port a remote node is listening on on his own LAN. This
>    information is available from any edge_t to that node.
> 
> 2. Enable broadcast transmission and reception on the UDP sockets.
> 
> 3. Send an extra packet every time we send MTU probes, but broadcast it to
>    255.255.255.255.
> 
If you send a  packet to the broadcast address, the packet will be sent over
the default interface (which is, where the default gateway is reachable,
iirc).
Consider a scenario where a computer is connected to multiple LANs. In order
to send a broadcast announce on all connected interfaces, you'll have to
bind to each interface prior to sending the broadcast packet.

> The MTU probes are sent every PingInterval seconds, so this will also deal
> with topology changes.  This approach seems to work for me. A patch
against
> the latest version in the git repository (master branch) is attached. Let
me
> know what you think.

I am currently unable to try your implementation, but your idea looks
promising.
The only thing you have to care about is the fact about broadcasting I
mentioned earlier.

Best,

Daniel



More information about the tinc-devel mailing list