So there's a decision tree that just about any router goes through when determining routes. The respective routing protocols (RIP, BGP, OSPF, IS-IS, static) run their own algorithms to determine the ideal path to a given prefix. If the router is presented the same route (i.e. identical network and prefix length) then the administrative distance is consulted. This is the relative priority of the various routing protocols on the box, and in most implementations the lowest value wins.
So - my understanding from Quagga is that it treats RIP routes as having a default administrative distance of 120. If you don't specify a different AD on a static route it will end up with a value of 1. As such, a static route will normally take precedent over a RIP route. In turn, if you set up a static route with an AD of 200 (for example) it will only be used if the equivalent RIP route leaves the table (this is known as a floating static route).
In your example the situation is that routes received via BGP may have one of two different AD's - one for internal BGP routes (this is 200 by default in Cisco - would assume something similar for Quagga) and another for externals (usually much lower - 20 in Cisco).
You can adjust the AD in Quagga manually. Take a look at the manual and specifically consider the distance
command under each routing protocol definition. You can see these rules in effect when you look at the routing table, where the format is usually something like x.y.z.q/nn [AA/MMMM] where AA = administrative distance and MMMM = the metric within the protocol.
As an aside - and I hope this is obvious from what I've written above - the longest prefix match is always the most important factor. A /32 received in RIP with an AD of 120 will trump an overlapping /24 from eBGP with an AD of 20. This is just basic routing, though.
Also - in almost every properly designed networking scenario there is no need to adjust AD. If this seems like the only way to approach the design I would strongly consider re-approaching the design altogether as there's lots of potential for operational issues, routing loops and the like when AD is not consistently applied.
Hope this helps.
Best Answer
I don't guess there's any real reason it can't work just fine. You, of course, have the normal loss of information anytime you redistribute from one protocol into another, but there's an argument to be made that you get that when you use network statements as well, so that's kind of a wash.
The main benefit that I see in this is that redistribution would give the setup the ability to react more dynamically to what happens in their network than the more static network statements. The downside would be that that dynamicism (is that a word?) would be harder to keep in control and might end up doing things that you don't want it to do. Of course you can put filters and route-maps and the like to constrain the redistribution...but then that's kinda like putting the network statements in.
Not that I would advocate being deceptive in what you're delivering to a customer, but if its fully managed CEs...would they even know the difference?
Assuming you're only talking about a handful of /24's like your diagram would suggest, I just don't think it makes all that much difference one way or the other. If you set up the redistribution to only allow the /24s, or set up network statements to advertise /24s...ultimately it ends up pretty much the say, right?
What may be the even bigger question that I would have (tongue-in-cheek), is...who uses RIPv2 in this day and age?!