Poison reverse allows a RIPng-enabled interface to set the cost of the route that it learns from a neighbor to 16 (indicating that the route is unreachable) and then send the route back. After receiving this route, the neighbor can delete the useless route from its routing table, which prevents loops.
In Figure 1, if poison reverse is not configured, DeviceB sends DeviceA a route learned from DeviceA. The cost of the route from DeviceA to network 123::0/64 is 1. If the route from DeviceA to network 123::0/64 becomes unreachable and DeviceB does not receive an Update packet from DeviceA and keeps sending DeviceA the route from DeviceA to network 123::0/64, a routing loop occurs.
With poison reverse, after Device B receives the route from Device A, Device B sends a route unreachable message to Device A with cost 16. Device A then no longer learns the reachable route from Device B, which prevents routing loops.
If both poison reverse and split horizon are configured, only poison reverse takes effect.