Build advanced functionality on top of a basic virtual router. The goal is to implement a simple dynamic routing protocol, PWOSPF, so that the router can create its forwarding table automatically based on routes learned from other routers in the network.