Customizing Data-plane Processing in Edge Routers