The Internet of Things poses new requirements for reliable, bi-directional communication in low-power and lossy networks, but these requirements are hard to fulfill since most existing protocols have been designed for data collection. In this paper, we propose standard-compliant mechanisms that make RPL meet these requirements while still scaling to large networks of IoT devices under significant resource constraints. Our aim is to scale far beyond what can be stored in RAM on the nodes of the network. The only node that needs to have storage for all the routing entries is the RPL root node. Based on experimentation with largescale commercial deployments, we suggest two mechanisms to make RPL scale under resource constraints: (1) end-to-end route registration with DAO and (2) a policy for managing the neighbor table. By employing these mechanisms, we show that the bi-directional packet reception rate of RPL networks increases significantly.