The socket is only bind on the openvpn server ip
Ulysse Beaugnon authored
To bind it we have to wait 3sec after the 'ip addr add ...'
We have to uderstand why and solve this
8fc115a5
==========
 re6stnet
==========

---------------------------------------------
Resilient, Scalable, IPv6 Network application
---------------------------------------------

:Author: Nexedi <re6stnet@erp5.org>

Overview
========

re6stnet creates a resilient, scalable, ipv6 network on top of an existing ipv4
network, by creating tunnels on the fly, and then routing targeted traffic
through these tunnels.

re6stnet can be used to :

- guarantee connectedness between computers connected to the
  internet, for which there exists a working route ( in case the direct route
  isn't available ).
- create very large networks
- give ipv6 addresses to machines with only ipv4 available


HOW IT WORKS
============

A re6stnet networks consists of at least one server ( re6st-registry ) and many
clients or nodes ( re6stnet ). The server delivers certificates for secure
authentification in establishing tunnels, and - for now - store the complete
list of nodes running.
re6stnet detects and take into accounts nodes present on the local network.

Resilience
----------
re6stnet can guarantee that if there exists a route between two machines,
traffic will be correctly routed between these two machines.
Since the destination of established connection are random, there can be no
guarantee that such a route exists given which tunnels are established, but
for big enough networks ( more than a hundred nodes ), the probability that
the network isn't connected is very low.

Scalability
-----------

Since each node has very few data about the network, re6stnet is easily
scalable to tens of thousand of nodes

Requirements
============

- Python 2.7 or later

- OpenSSL binary and development libraries

- OpenVPN

- Babel ( http://www.pps.univ-paris-diderot.fr/~jch/software/babel/ )

Installation
============

Let's explain how to install the egg

Commercial Support
==================

Later....

.. The organisation of the code
    re6stnet.py         Client : Init and main loop
    re6st/plib.py             Launch server/client/routing processes
    re6st/utils.py            Small functions to do useful jobs
    re6st/db.py               Manage the peer database
    re6st/tunnel.py           Manage the tunnels
    re6st/upnpigd.py          Forward ports
    re6st-conf.py       Get certificates from server
    re6st-registry.py   Server : deliver certificates and distribute peers