396
{
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.