This might be a dummy question, but I’m newbie to BGP.
Why routers will not automatically establish a BGP neighbor adjacency through the tunnel interface, unless a static route is configured with the tunnel interface as the next-hop?
Thanks for your question. BGP neighbours communicate over TCP on port 179. Whichever IP you have configured on your router to source BGP traffic has to found in the route table of the other neighbour and vice versa. It should not be mandatory to point the routes at the tunnel interfaces though; simply having a valid route should be sufficient.
In EIGRP neighbour discovery can occur via multicast so may behave differently over a tunnel type that supports it (e.g. IPSec VTI).
I’m not aware of any way to discover neighbours using multicast. It would have a couple of disadvantages that come to mind:
Lack of control over who you form a neighbour relationship with. BGP’s fine grained control is one of its advantages.
Multicast is commonly switched but uncommonly routed whereas TCP allows you to form neighbour relationships easily with routers in very separate networks.
If you really need automatic neighbour discovery this is one indication that you might want to consider an IGP for this link rather than using BGP.