The AWS documentation on peering refers to the situation where VPCs B and C each have a subnet with an identical CIDR and which are both peered with VPC A, as per the diagram below:
The documentation does not make it clear to me whether it is possible to set up the routes within VPC C such that response traffic is routed to the correct subnet in the correct VPC. Is this possible?
i.e. if traffic originates in Subnet B of VPC B, can its return traffic be correctly routed to it, such that traffic originating in Subnet B of VPC C also has its return traffic correctly routed to it? If so, how do you do this?
In the link to the AWS doc I would say that the answer is below the diagram. If traffic originates in Subnet B of VPC B it's the route table in VPC A that determines whether the traffic get's back to the correct sender.
Initially the answers is it will not because the route table in VPC A says "send traffic destined for 10.0.0.0/16 to VPC C".
However you can provide more specific routing by adding routes to VPC A's route table with a smaller CIDR block (bigger CIDR number). So for example if the traffic origintaing from VPC B came from 10.0.1.66/32 then add this destination to the route table of VPC A and make sure it gets sent over the correct VPC peer (i.e. to VPC B).