399
{ For other packets, proceeds to step 2.
2. URPF checks whether the source address matches a FIB entry:
{ If yes, proceeds to step 3.
{ If not, proceeds to step 6.
3. URPF checks whether the check mode is loose:
{ If yes, proceeds to step 8.
{ If not, URPF checks whether the matching route is a direct route: if yes, proceeds to step 5; if not,
proceeds to step 4.
4. URPF checks whether the receiving interface matches the output interface of the matching FIB entry.
{ If yes, proceeds to step 8.
{ If not, proceeds to step 9.
5. URPF checks whether the source IP address matches an ARP entry.
{ If yes, proceeds to step 8.
{ If not, proceeds to step 9.
6. URPF checks whether the FIB table has a default route.
{ If yes, proceeds to step 7.
{ If not, proceeds to step 9.
7. URPF checks whether the check mode is loose:
{ If yes, proceeds to step 8.
{ If not, URPF checks whether the output interface of the default route matches the receiving
interface of the packet: if yes, proceeds to step 8; if not, proceeds to step 9.
8. The packet passes the check and is forwarded.
9. The packet is discarded.