P4Docker: Enabling Efficient P4 Switch Testbeds with Docker Integration

  • Dener Silva UFABC
  • Alexandre Heideker UFABC
  • Lucas Trombeta UFABC
  • Bruna Carvalho UFABC
  • João Henrique Kleinschmidt UFABC
  • Carlos Kamienski UFABC

Resumo


Software Defined Networking (SDN) represents a paradigm shift in network architecture, offering unprecedented control and flexibility by decoupling the control and data planes. A critical component of this evolution is the emergence of P4, a programming language designed for the data plane, enabling precise control over packet processing. Despite its potential, the use of P4 is hampered by its complexity and the steep learning curve associated with its programming model. Addressing this challenge, this paper introduces P4P4Docker, a Docker-based P4 switch container named P4Docker, aimed at simplifying the design, management, and debugging of P4 switch test beds. P4Docker also offers an intuitive GUI platform to engage with P4 programming, reducing entry barriers and fostering innovation in network design and experimentation. By providing an intuitive interface, P4Docker enables a more accessible and efficient engagement with P4 programming, offering comprehensive access to logs and system metrics. Ultimately, P4Docker represents a significant step toward making sophisticated network programming more accessible, potentially accelerating the adoption and innovation of SDN and data plane programmability.

Referências

Bosshart, P., Daly, D., Gibb, G., Izzard, M., McKeown, N., Rexford, J., Schlesinger, C., Talayco, D., Vahdat, A., Varghese, G., and Walker, D. (2014). P4: programming protocol-independent packet processors. SIGCOMM Comput. Commun. Rev., 44(3):87–95.

Chen, G., Hu, Z., and Jin, D. (2023). Enhancing fidelity of p4-based network emulation with a lightweight virtual time system. In Proceedings of the 2023 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation, SIGSIM-PADS ’23, page 34–43, New York, NY, USA. Association for Computing Machinery.

Consortium, P. L. (2024). BMV2: Behavioral Model version 2 (P4 Runtime environment). Git repository.

Goswami, B., Kulkarni, M., and Paulose, J. (2023). A survey on p4 challenges in software defined networks: P4 programming. IEEE Access, 11:54373–54387.

Heideker, A., Silva, D., Kleinschmidt, J., and Kamienski, C. (2023). Otimização de tráfego iot-lorawan usando programação de plano de dados em p4. In Anais do XLI Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos, pages 239–252, Porto Alegre, RS, Brasil. SBC.

Jain, S. M. (2020). Namespaces, pages 31–43. Apress, Berkeley, CA.

Kfoury, E. F., Crichigno, J., and Bou-Harb, E. (2021). An exhaustive survey on p4 programmable data plane switches: Taxonomy, applications, challenges, and future trends. IEEE Access, 9:87094–87155.

Laki, S., Stoyanov, R., Kis, D., Soulé, R., Vörös, P., and Zilberman, N. (2021). P4pi: P4 on raspberry pi for networking education. volume 51, pages 17–21.

Liatifis, A., Sarigiannidis, P., Argyriou, V., and Lagkas, T. (2023). Advancing sdn from openflow to p4: A survey. ACM Comput. Surv., 55(9).

Mininet (2023). Mininet: An instant virtual network on your laptop (or other pc). [Online; accessed 14-January-2024].
Publicado
20/05/2024
SILVA, Dener; HEIDEKER, Alexandre; TROMBETA, Lucas; CARVALHO, Bruna; KLEINSCHMIDT, João Henrique; KAMIENSKI, Carlos. P4Docker: Enabling Efficient P4 Switch Testbeds with Docker Integration. In: SALÃO DE FERRAMENTAS - SIMPÓSIO BRASILEIRO DE REDES DE COMPUTADORES E SISTEMAS DISTRIBUÍDOS (SBRC), 42. , 2024, Niterói/RJ. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2024 . p. 1-8. ISSN 2177-9384. DOI: https://doi.org/10.5753/sbrc_estendido.2024.2254.