Reverse-path forwarding (RPF) is a technique used in modern routers for the purposes of ensuring loop-free forwarding of multicast packets in multicast routing and to help prevent IP address spoofing in unicast routing.
Unicast RPF (uRPF), as defined in RFC 3704, is an evolution of the concept that traffic from known invalid networks should not be accepted on interfaces from which it should never have originated.
The original idea as seen in RFC 2827 was to block traffic on an interface if it is sourced from forged IP addresses.
It is a reasonable assumption for many organizations to simply disallow propagation of private addresses on their networks unless they are explicitly in use.
This is a great benefit to the Internet backbone as blocking packets from obviously bogus source addresses helps to cut down on IP address spoofing which is commonly used in DoS, DDoS, and network scanning to obfuscate the source of the scan.
[2] uRPF extends this idea by utilizing the knowledge all routers must have in their routing information base (RIB) or forwarding information base (FIB) to do their primary job, to help further restrict the possible source addresses that should be seen on an interface.
It is important when implementing uRPF to be aware of the potential for asymmetry to prevent accidental filtering of legitimate traffic.
RFC 3704 gives more details on how to extend strict reverse-path forwarding to include some more relaxed cases that can still be of benefit while allowing for at least some asymmetry.
If the incoming interface matches with any of the routes associated with the IP address, then the packet is forwarded.