Dynamic routing is not supported natively by pfSense, but there are several third-party packages available that make dynamic routing possible. Both distance vector and link state protocols are available. Distance vector protocols use a distance calculation plus an outgoing network interface to find the shortest path to another network. Such a protocol only queries neighboring routers, and works best when all links in a network are of the same speed. Examples of distance vector protocols include RIPv1 and RIPv2. Link state protocols track the status and connection type of each link, and perform a calculated metric. An example of a link state protocol is Open Shortest Path First (OSPF).