My router is advertising several networks through BGP into the MPLS cloud However, none of the advertised routers are reaching any other MPLS routers. There is no route filtering happening anywhere within the MPLS.
The router has a default route pointing to a 3750 switch for reaching all the networks it is advertising. As a test, I wrote a static route on the router for one particular subnet that it is advertising (pointing this route to the 3750 also). Now this subnet is reachable from other routers on the MPLS.
So my question is, why did I need to write a static route for that one subnet in order for the router to advertise it? Should a default route to the 3750 not suffice?
For an EBGP peer to advertise a subnet using the "network" statement under the bgp router config there must be a match in the IGP routing table. The default-route is not a match. So when you added a static for the specific subnet your BGP router could then advertise it out.
1) write out statics for all
2) redistribute IGP into BGP and don't use network statements
3) make sure your BGP router has IGP routes for all the "network" subnets you want to advertise.
2 & 3 rely on your BGP router having a full IGP routing table and not just a default route.