I'm testing Cisco Cloud Services Router in a virtualized environment. See the attached image for the topology I've setup. Basically I have 3 CSR's and one vShield Edge that are talking eBGP to each-other.
The problem I'm having is that sometimes, the Cisco CSR will advertise a route back to the peer it learned the route from.
CSR(T) advertises 192.168.1.0/24, and Edge(S) advertises 192.168.0.0/24, so that Source and Target VM can communicate. CSR (1) and (2) sit between CSR(T) and Edge(S) and re-advertise the routes learned.
If CSR(T) is peered ONLY with one of the middle CSR's (1 or 2, but not both), then everything is fine. When I have it peered to both at the same time, then CSR(T) advertises 192.168.0.0/24 back to both CSR(1) and CSR(2).
CSR(1) is doing something similar - advertising 192.168.1.0/24 to CSR(T) and advertising 192.168.0.0/24 to Edge(S). CSR(2) is configured nearly identically but isn't doing that.
I'm just wondering under what circumstances will a Cisco BGP speaker advertise a route back to the peer it learned it from. It seems like it should never do that. Is there a bug in the Cisco BGP code that I'm running into?