Matching IP protocols and transport ports is also possible, but it is indirected via ipchains , exploiting their capability to mark some classes of packets with fwmark . Therefore, fwmark is also included to the set of keys checked by rules. Each routing policy rule consists of a selector and an action predicate. The action predicate may return with success, in this case it will give either route or failure indication and RPDB lookup is terminated. Otherwise, RPDB program continues on the next rule.
Natural action is to select nexthop and output device.
It is time to remind, that Linux-2.2 supports multiple tables managed with ip route command, described in the previous section. The table local is special routing table, containing high priority control routes for local and broadcast addresses. Rule 0 is special, it cannot be deleted or overridden. The table main is normal routing table, containing all not-policy routes. The table default is empty, it is reserved for some post-processing, if previous default rules did not select the packet.