This document reviews different criteria for designing routing protocols for wireless ad hoc networks. It discusses qualitative characteristics such as being loop-free, distributed control, fast routing, and localized reaction to topological changes. It also discusses quantitative characteristics for evaluating routing protocols, including throughput, end-to-end delay, route discovery latency, bandwidth utilization, and number of routing packets transmitted per data packet delivered. The document then classifies routing protocols based on different criteria, such as being pre-computed or on-demand, using periodical or event-driven updates, having a flat or hierarchical structure, using source routing or hop-by-hop routing, and establishing single or multiple paths.