Fog computing is a promising technology that helps overcome to the difficulties of handling a huge amount of Internet of Things (IoT) data by distributing its applications and services closer to the network edge. In fog computing, distributed fog servers' proximity to the end devices enables upcoming and outgoing data to be forwarded efficiently. However, as the size of fog-enabled IoT platforms increases, efficient routing mechanisms are required in fog computing to forward the ubiquitous IoT data to related servers with low latency, low bandwidth, and/or high security. Therefore, software defined networking (SDN) can be employed to optimize the routing process in fog-enabled IoT platforms. In this paper, we first identify the routing requirements of fog computing. Then, we present an extensive survey of routing in fog-enabled IoT platforms. Lastly, we propose a hierarchical SDN-based fog computing architecture for routing in fog-enabled IoT platforms where fog controllers take actions locally for frequent events while the cloud controller takes actions globally for rare events. The proposed framework is evaluated by varying the number of controllers. The initial results show that the proposed hierarchical SDN-based framework has the potential to reduce routing delay and data transmission overhead. Also, throughput is increased as the number of controllers increases.