Enabling Programmable Infrastructure for Multi-Tenant Data Centers