This paper comes up with a SDN Based Vehicle Ad-Hoc On-Demand Routing Protocol (SVAO), which separates the data forwarding layer and network control layer, as in software defined networking (SDN), to enhance data transmission efficiency within vehicle ad-hoc networks (VANETs). The roadside service unit plays the role of local controller and is in charge of selecting vehicles to forward packets within a road segment. All the vehicles state in the road. Correspondingly, a two-level design is used. The global level is distributed and adopts a ranked query scheme to collect vehicle information and determine the road segments along which a message should be forwarded. On the other hand, the local level is in charge of selecting forwarding vehicles in each road segment determined by the global level. We implement two routing algorithms of SVAO, and compare their performance in our simulation. We compare SVAO with popular ad-hoc network routing protocols, including Optimized Link State Routing (OLSR), Dynamic Source Routing (DSR), Destination Sequence Distance Vector (DSDV), and distance?based routing protocol (DB) via simulations. We consider the impact of vehicle density, speed on data transmission rate and average packet delay. The simulation results show that SVAO performs better than the others in large-scale networks or with high vehicle speeds.