Within a closed network, we have a single hub BGP route reflector server and several remote RR client routers. Each remote RR client router propagates both its physically connected subnet and a static null route that represents a NAT pool configured on the inbound interface to the RR server. All hosts connected to the RR server must communicate with hosts behind the RR clients using the NATd subnet. All hosts behind all RR clients must communicate with one another using their native IPs.
I need to be able to filter the remote physical IP space out of the RR server's routing table, while at the same time filter the NATd subnets out of routing updates propagated to the RR clients and to ensure they receive remote RR client?s native IP space. Is there a way I can do this? When I implement a distribute list in on the RR server, it successfully filters out the remote native IP space, but also filters the native subnets out of the updates sent down to RR clients. In effect, the RR client is only receiving the NATd subnet which I only want the server to have. I understand that I could BGP peer them in a full mesh to accomplish this, but I would like to use RRs to keep things scalable. Thanks in advance for any help provided.