IMHO the whole "full mesh" approach is the only practical approach to allow easy configuration. Let me motivate this:
1.) IPIP is to my knowledge the only tunneling protocol available in standard linux distributions that allows point to multipoint connections (other OSes don't have any). Being stateless, it allows, based on non-standard use of kernel routes, to send encapsulated data to an arbitrary number of destinations, using a single virtual network interface.
2.) Again, because it is stateles, it does not have to send any control or keep-alive data on the tunnel to check the availability of endpoints, thus reducing data flow. Data is sent only if there is an active data exchange between peers, on a on demand basis.
3.) In order to provide a somehow dynamic routing table with regard to the various tunnel endpoints, initially there was this encap file, not providing routing info, but actual endpoint addresses for the needed tunnels (see 1).
4.) Because there was a need to have faster endpoint address updates, the RIPv2 broadcast method was introduced. Again it is not used as a dynamic routing protocol, but as a tunnel endpoint update method. The fact that it has the form of a routing protocol was just a choice not to reinwent the wheel by developing a proprietary protocol. This is why the processing of the RIPv2 boradcasts can not be done using standard routing tools, like e.g. quagga, but needs a custom mage script/daemon.
Any stateful approach by using classical P2P links will take away these advantages:
1.) One will need an individual network interface for every peer he wants to connect to, in order to be able to use that connection in a stateful manner (about 340 tunnels at the moment). This is the approach used on some routers not allowing P2MP on IPIP interfaces, e.g. mikrotik, even for classic IPIP setups, loosing the dynamic setup capability of the RIP broadcasts, since a script is needed to allow the setup of such a large number of tunnel interfaces.
2.) Each such interface will have its own routing and firewalling rules to be taken in account.
3.) Stateful P2P links have active data exchanges all the time, to be able to provide their link status to the endpoint hosts.
Using a direct global route announcement using BGP has also some drawbacks, especially regarding costs.
1.) A BGP enabled subnet in most of the countries is astronomically costly, being regarded as a "professional" network approach by the ISPs
2.) You most likely need a router capable of processing a full internet BGP table, which is HUGE, comprising more than 48k prefixes reaching a size of over 10MB. This needs filtering, big memory resources and fast CPUs. Raspberies won't do the job here.
3.) You will still have to provide tunnels in order to reach and be reached by 44net islands not using BGP.
Correctly setting up a stateful tunneled system or a BGP enabled network is certainly more complicated than a P2MP IPIP tunneling system.
73s de Marius, YO2LOJ