The Optimized Link State Routing Protocol (OLSR) is a proactive routing protocol for ad hoc networks. It uses multipoint relays (MPRs) to reduce flooding of broadcast messages. Each node selects MPRs among its one-hop neighbors that can reach all of its two-hop neighbors. Only MPRs forward broadcast messages to reduce overhead. Nodes declare their MPR selections via topology control messages to help other nodes build routing tables and select routes. This allows OLSR to benefit from the stability of link-state routing while reducing control message flooding through selective use of MPRs.