First i had ipsec/gre for interconnecting my nodes itself, but now i completely switched to WireGuard. As it is really simple to setup (if you can compile an kernel module or use dkms), it is fast, high throughput and you don't need gre as with ipsec to use for example OSPF on the links.
As i don't want to setup a full mesh with WireGuard, i decided to only setup a few "direct tunneled" connections between some nodes and announce Node specific
Loopback IPs via OSPF. With this, i had every Node reachable by any node, and if i want to setup an direct tunnel between two nodes, OSPF will get aware of this connection and use this instead of indirect connection over an other node.
Loopback IPs will be used later for iBGP Peering (full mesh) between all 6 Nodes.