Policy routing - Internals

kernel supports multiple routing tables
maximum of 256 tables
the default routing table has ID 0

packet classification is done by pf

current state
alternate tables work only in the forwarded path
no link layer information is stored in the alternate tables
arp entries are added to the main table
not possible to use a network twice
only route(8) supports alternate tables