Composition Approach of P4 Programs in Programmable Networks
Abstract
Software-defined networks (SDN) and the emergence of programmable data planes allow greater flexibility for network operation. These technologies are capable of allowing network administrators to reconfigure data and control planes. The ability to reconfigure and program the network on demand offers a number of benefits, in particular enabling it to improve network security mechanisms by using programming capability. However, in addition to promoting a greater degree of flexibility, data plane programmability raises concerns about errors that can create inconsistencies in the most basic function of the network, data forwarding, thereby disrupting previously defined policies. In this paper we present a framework for reliably installing functions in programmable data planes, ensuring that installing such functions preserves the basic forwarding properties. To this end, we employ program composition techniques to merge modular functions into a single aggregate data plane, ensuring that the resulting program is correct after the merge. To show the correctness of our method, we present a case study with a firewall and a monitoring module.
References
Dimitropoulos, X. A., Dainotti, A., Vanbever, L., and Benson, T., editors (2018). Proceedings of the 14th International Conference on emerging Networking EXperiments and Technologies, CoNEXT 2018, Heraklion, Greece, December 04-07, 2018. ACM.
Feamster, N., Rexford, J., and Zegura, E. (2014). The road to sdn: An intellectual history of programmable networks. SIGCOMM Comput. Commun. Rev., 44(2):87–98.
Freire, L., Neves, M., Leal, L., Levchenko, K., Schaeffer-Filho, A., and Barcellos, M. (2018). Uncovering bugs in p4 programs with assertion-based verification. In Proceedings of the Symposium on SDN Research, page 4. ACM.
Garcia, L. F. U., Villaça, R. S., Ribeiro, M. R. N., Martins, R. F. T., Verdi, F. L., and Marcondes, C. (2018). Minicurso introdução à linguagem p4 - teoria e prática. In XXXVI Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos (SBRC), Campos do Jordão, Brasil. SBC.
Hancock, D. and van der Merwe, J. (2016). Hyper4: Using p4 to virtualize the programmable data plane. In Proceedings of the 12th International on Conference on Emerging Networking EXperiments and Technologies, CoNEXT ’16, pages 35–49, New York, NY, USA. ACM.
Hu, H., Han, W., Ahn, G.-J., and Zhao, Z. (2014). Flowguard: building robust firewalls for software-defined networks. In Proceedings of the third workshop on Hot topics in software defined networking, pages 97–102. ACM.
Jin, X., Liu, H. H., Gandhi, R., Kandula, S., Mahajan, R., Zhang, M., Rexford, J., and Wattenhofer, R. (2014). Dynamic scheduling of network updates. SIGCOMM Comput. Commun. Rev., 44(4):539–550.
Katta, N. P., Rexford, J., and Walker, D. (2013). Incremental consistent updates. In Proceedings of the second ACM SIGCOMM workshop on Hot topics in software defined networking, pages 49–54. ACM.
Kim, C., Sivaraman, A., Katta, N., Bas, A., Dixit, A., and Wobker, L. J. (2015). In-band network telemetry via programmable dataplanes. In ACM SIGCOMM.
Liu, J., Hallahan, W., Schlesinger, C., Sharif, M., Lee, J., Soulé, R., Wang, H., Cas¸caval, C., McKeown, N., and Foster, N. (2018). p4v: Practical verification for programmable data planes.
Lopes, N., Bjørner, N., McKeown, N., Rybalchenko, A., Talayco, D., and Varghese, G. (2016). Automatically verifying reachability and well-formedness in p4 networks. Technical report, Technical Report.
Marques, J. A. and Gaspary, L. P. (2018). Explorando estratégias de orquestração de telemetria em planos de dados programáveis. In Simpósio Brasileiro de Redes de Computadores (SBRC), volume 36.
Nguyen, T. D., Chiesa, M., and Canini, M. (2017). Decentralized consistent updates in sdn. In Proceedings of the Symposium on SDN Research, SOSR ’17, pages 21–33, New York, NY, USA. ACM.
Reitblatt, M., Foster, N., Rexford, J., Schlesinger, C., andWalker, D. (2012). Abstractions for network update. In Proceedings of the ACM SIGCOMM 2012 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication, SIGCOMM ’12, pages 323–334, New York, NY, USA. ACM.
Sivaraman, V., Narayana, S., Rottenstreich, O., Muthukrishnan, S., and Rexford, J. (2017). Heavy-hitter detection entirely in the data plane. In Proceedings of the Symposium on SDN Research, SOSR ’17, pages 164–176, New York, NY, USA. ACM.
Sonchack, J., Smith, J. M., Aviv, A. J., and Keller, E. (2016). Enabling practical softwaredefined networking security applications with ofx. In NDSS, volume 16, pages 1–15.
Van Tu, N., Hyun, J., and Hong, J. W.-K. (2017). Towards onos-based sdn monitoring using in-band network telemetry. In Network Operations and Management Symposium (APNOMS), 2017 19th Asia-Pacific, pages 76–81. IEEE.
Zhang, C., Bi, J., Zhou, Y., Dogar, A. B., and Wu, J. (2017). Mpvisor: A modular programmable data plane hypervisor. In Proceedings of the Symposium on SDN Research, SOSR ’17, pages 179–180, New York, NY, USA. ACM.
Zheng, P., Benson, T., and Hu, C. (2018). Shadowp4: Building and testing modular programs. In Proceedings of the ACM SIGCOMM 2018 Conference on Posters and Demos, pages 150–152. ACM.
Zhou, Y. and Bi, J. (2017). Clickp4: Towards modular programming of p4. In Proceedings of the SIGCOMM Posters and Demos, SIGCOMM Posters and Demos ’17, pages 100–102, New York, NY, USA. ACM.
