Control and Data Plane Programmability