Maybe a dumb question, but I'm not very experienced with BGP (yet).
We are implementing multi-site Private IP MPLS. We are peering to the providers equipment using BGP.
Do we also need to configure all our other routers as BGP neighbors of each other? Or does each only need to have the provider's router configured as a neighbor?
The reason this is coming up, we first configured only the Provider as the BGP neighbor, but we didn't see our internal routers propagate. When setting up our own routers as neighbors of each other we now see our routes, but in some cases we are introducing routing loops between the PE and CPE routers.
You should not need to have your CE's peering with your other CE's. Indeed that is one of the advantages of MPLS in that you do not need all your CE routers maintain peerings with all your other CE routers.
All you should need is a peering between your CE and the Telco PE device. The PE devices then exchange your routes and propogate them to your other CE devices.
Have you checked the basics ie.
On a CE device check that
1) You are advertising out your internal routes to the Telco PE
sh ip bgp neigh advertised-routes
2) You are receiving routes from the PE
sh ip bgp neigh received-routes
"sh ip bgp" will show you the routes in the BGP routing table.
3) If the networks from a remote site are in the bgp table check your redisribution into OSPF.