Multiple routing protocols can be used in ad-hoc wireless mesh networks
Some are described in the
Wireless Networking in the Developing World (WNDW)
book (HTML version).
OLSR, Optimized Link State Routing protocol
INRIA HYPERCOM project,
is a routing protocol for wireless ad-hoc networks.
OLSR is proactive, it runs a distributed election to choose
Multipoint Distribution Relays (MPRs), which flood peridiocally the network
topology (Mesh Networking with OLSR, in WNDW).
A popular implementation is the olsr.org OLSR daemon, with a link-quality extension
using an ETX (Expected Transmission Count) metric, making it a Radio-Aware OLSR implementation (RA-OLSR).
The Open Mesh project is developping an alternative to OLSR,
called B.A.T.M.A.N. (overview).
AODV, Ad hoc On-Demand Distance Vector
is another routing protocol for wireless mesh networks.
It is reactive, it creates routing traffic only when needed.
The OLPC laptop project plans to use the upcoming
802.11s standard (wikipedia),
see the mesh network details.
It uses a new routing protocol as default: HWMP, Hybrid Wireless Mesh
Protocol. It is based on AODV for layer 3 routing and uses a modified
Rapid Spanning Tree protocol for layer 2.
RA-OLSR was initially included as an optional routing protocol for the
802.11s draft, but it has been dropped because of extra complexity for
the standard, with no added value. Though, it can still be used as a
routing protocol, since the 802.11s specification allows optional
routing protocols (without defining them).