Hi, just want to confirm:
The requirement that a BGP peer must have a full mesh connectivity to its neighbors (or otherwise use mechanisms such as router reflectors and confederations to overcome that requirement) applies to both eBGP and iBGP, correct?
It is a requirement for IBGP (unless, as you note, there are route reflectors configured).
EBGP peers are supposed to be directly connected; but this can be easily overcome if the peers have an IGP (or clunky static route) to each other and the "ebgp-multihop n" paremeter (where n is the number of hops to the EBGP peer) is added to the neighbor...remote-as statement under your bgp process.
(p.s. please remember to rate helpful posts)