{"title":"Full-stack SDN","authors":"Debnil Sur, Ben Pfaff, L. Ryzhyk, M. Budiu","doi":"10.1145/3563766.3564101","DOIUrl":null,"url":null,"abstract":"The conventional approach for building software-defined network systems requires separately developing the management, control, and data planes. Manually written code connects the management plane's configuration to the control plane, and the control plane generates the data planes' configurations as small program fragments that scatter across the codebase. Scalability and correctness become increasingly challenging as such a system develops and grows. In contrast, in our approach, called Nerpa, all three planes are programmed in a unified way. In Nerpa a transactional database stores management plane state. The control plane is implemented in a specialized query language which automatically executes in an incremental fashion, improving scalability. Finally, the data plane is programmed in P4. To aid correctness, all three parts are type-checked together, and tools generate code for data movement between planes. We have published a prototype implementation using an open-source license. We believe that full-stack SDN can build more robust and maintainable networked systems.","PeriodicalId":339381,"journal":{"name":"Proceedings of the 21st ACM Workshop on Hot Topics in Networks","volume":"29 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-11-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 21st ACM Workshop on Hot Topics in Networks","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3563766.3564101","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2
Abstract
The conventional approach for building software-defined network systems requires separately developing the management, control, and data planes. Manually written code connects the management plane's configuration to the control plane, and the control plane generates the data planes' configurations as small program fragments that scatter across the codebase. Scalability and correctness become increasingly challenging as such a system develops and grows. In contrast, in our approach, called Nerpa, all three planes are programmed in a unified way. In Nerpa a transactional database stores management plane state. The control plane is implemented in a specialized query language which automatically executes in an incremental fashion, improving scalability. Finally, the data plane is programmed in P4. To aid correctness, all three parts are type-checked together, and tools generate code for data movement between planes. We have published a prototype implementation using an open-source license. We believe that full-stack SDN can build more robust and maintainable networked systems.