I was able to create a Lab scenario where BGP was load balancing my traffic across equal cost paths.
My lab network consisted of 2 x separate links (AS 65001) running to a non MPLS core in another AS. In the Core I effectively have a square, I will call these devices A, B, C and D.
C---D | | A---B | |
1 2 (AS 65001)In my Lab when enabling BGP Multipath I saw routes learned for AS 65001 on C & D as equal cost paths, so far so good.
In real life it turns out that the upstream Core uses route-reflectors not a full iBGP mesh. To this end the RR's (A, B & C only) don't seem to provide the same result. I found out that my connection from 1 goes into a 7600 router, this is a RR client of A. My connection from 2 goes directly into B which is a 7600 router that is not part of a RR cluster.
Surely, using C as an example (a RR for other routers attached to it call them X + Y), C will receive equal cost BGP routes to 65001 via A and the link B--D--C (assuming equal metrics for AS-Path, Med etc). I believe that the RR will only advertise a single best path to it's clients X + Y but nonetheless can be configured to show 2 x routes in its IP routing table.
This link provides more info:
Regards
Darren