Programmable data planes are a reality. Today one can use software to define the forwarding behavior of programmable switching silicon that offers the same (or more) throughput than fixed-function chips. In this talk we will give an overview of programmable data planes, P4 (a domain specific language to program such planes), P4 Runtime (the API to control them), and how today ONOS supports P4 and P4 Runtime. Finally, we will discuss the plans and possibilities of a P4-based CORD fabric.