Multipoint relays (MPR) are nodes in Wireless ad hoc network that do the job of relaying messages between nodes. They also have the main role in routing and selecting the proper route from any source to any desired destination node.
Optimized Link State Routing Protocol
Main article: OLSR
MPRs advertise link-state information for their MPR selectors (a node selected as a MPR) periodically in their control messages. MPRs are also used to form a route from a given node to any destination in route calculation. Each node periodically broadcasts a Hello message for the link sensing, neighbor detection and MPR selection processes. Each node can get topology up to 2 hops from Hello messages. The information about the symmetric one hop and two hops neighbors is used to calculate the MPR set. Each node selects set of neighbor nodes as MPRs from among 1-hop neighbors with symmetric link, which covers all the 2-hop neighbors and records in MPR selector table.
MPR is recalculated when a change in 1-hop or 2-hops neighborhood topology is detected. Every node periodically broadcasts list of its MPR selectors instead of the whole list of neighbors. Upon receipt of MPR information, each node recalculates and updates routes to each known destination. In order to exchange the topological information, the topology control (TC) message is broadcast throughout the network. Only MPRs need to forward TC messages.