{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,21]],"date-time":"2026-03-21T08:05:43Z","timestamp":1774080343120,"version":"3.50.1"},"reference-count":20,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2021,7,11]],"date-time":"2021-07-11T00:00:00Z","timestamp":1625961600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["SIGCOMM Comput. Commun. Rev."],"published-print":{"date-parts":[[2021,7,11]]},"abstract":"<jats:p>High level, network programming languages, like P4, enable students to gain hands-on experience in the structure of a switch or router. Students can implement the packet processing pipeline themselves, without prior knowledge of circuit design. However, when choosing a P4 programmable target for use in the classroom, instructors face a lack of options. On the one hand, software solutions, such as the behavioral model (BMv2) switch, are overly simplified and offer low performance. On the other hand, existing hardware solutions are closed source and expensive.<\/jats:p>\n          <jats:p>In this paper, we present P4Pi, a new, low-cost, open-source hardware platform intended for networking education. P4Pi allows students to design and deploy P4-based network devices using the Raspberry Pi board, which has a price tag of less than many academic textbooks. We describe the high-level design of the P4Pi platform, offer some suggestions for how P4Pi could be used in the classroom, and present some additional use-cases for applications and functionality that could be developed using P4Pi.<\/jats:p>","DOI":"10.1145\/3477482.3477486","type":"journal-article","created":{"date-parts":[[2021,7,23]],"date-time":"2021-07-23T16:04:51Z","timestamp":1627056291000},"page":"17-21","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":23,"title":["P4Pi"],"prefix":"10.1145","volume":"51","author":[{"given":"S\u00e1ndor","family":"Laki","sequence":"first","affiliation":[{"name":"E\u00f6tv\u00f6s Lor\u00e1nd University"}]},{"given":"Radostin","family":"Stoyanov","sequence":"additional","affiliation":[{"name":"University of Oxford"}]},{"given":"D\u00e1vid","family":"Kis","sequence":"additional","affiliation":[{"name":"E\u00f6tv\u00f6s Lor\u00e1nd University"}]},{"given":"Robert","family":"Soul\u00e9","sequence":"additional","affiliation":[{"name":"Yale University"}]},{"given":"P\u00e9ter","family":"V\u00f6r\u00f6s","sequence":"additional","affiliation":[{"name":"E\u00f6tv\u00f6s Lor\u00e1nd University"}]},{"given":"Noa","family":"Zilberman","sequence":"additional","affiliation":[{"name":"University of Oxford"}]}],"member":"320","published-online":{"date-parts":[[2021,7,23]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"2021. Behavioral Model (bmv2). https:\/\/github.com\/p4lang\/behavioral-model. (2021).  2021. Behavioral Model (bmv2). https:\/\/github.com\/p4lang\/behavioral-model. (2021)."},{"key":"e_1_2_1_2_1","unstructured":"2021. T4P4S source. https:\/\/github.com\/P4ELTE\/t4p4s. (2021).  2021. T4P4S source. https:\/\/github.com\/P4ELTE\/t4p4s. (2021)."},{"key":"e_1_2_1_3_1","volume-title":"Annual Allerton Conference on Communication, Control, and Computing.","author":"Alizadeh M.","unstructured":"M. Alizadeh , B. Atikoglu , A. Kabbani , A. Lakshmikantha , R. Pan , B. Prabhakar , and M. Seaman . 2008. Data Center Transport Mechanisms: Congestion Control Theory and IEEE standardization . In Annual Allerton Conference on Communication, Control, and Computing. M. Alizadeh, B. Atikoglu, A. Kabbani, A. Lakshmikantha, R. Pan, B. Prabhakar, and M. Seaman. 2008. Data Center Transport Mechanisms: Congestion Control Theory and IEEE standardization. In Annual Allerton Conference on Communication, Control, and Computing."},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/2656877.2656890"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/2486001.2486011"},{"key":"e_1_2_1_6_1","volume-title":"Reconfigurable Networking Hardware: A Classroom Tool. In Symposium on High Performance Interconnects.","author":"Casado Martin","year":"2005","unstructured":"Martin Casado , Greg Watson , and Nick McKeown . 2005 . Reconfigurable Networking Hardware: A Classroom Tool. In Symposium on High Performance Interconnects. Martin Casado, Greg Watson, and Nick McKeown. 2005. Reconfigurable Networking Hardware: A Classroom Tool. In Symposium on High Performance Interconnects."},{"key":"e_1_2_1_7_1","volume-title":"Paxos Made Switch-y. SIGCOMM Computer Communication Review 44 (April","author":"Dang Huynh Tu","year":"2016","unstructured":"Huynh Tu Dang , Marco Canini , Fernando Pedone , and Robert Soul\u00e9 . 2016. Paxos Made Switch-y. SIGCOMM Computer Communication Review 44 (April 2016 ). Huynh Tu Dang, Marco Canini, Fernando Pedone, and Robert Soul\u00e9. 2016. Paxos Made Switch-y. SIGCOMM Computer Communication Review 44 (April 2016)."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/2774993.2774999"},{"key":"e_1_2_1_9_1","unstructured":"DPDK 2021. DPDK. http:\/\/dpdk.org\/. (2021).  DPDK 2021. DPDK. http:\/\/dpdk.org\/. (2021)."},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/TE.2008.919664"},{"key":"e_1_2_1_11_1","unstructured":"Inband Network Telemetry 2021. Inband Network Telemetry (INT). https:\/\/github.com\/p4lang\/p4factory\/tree\/master\/apps\/int. (2021).  Inband Network Telemetry 2021. Inband Network Telemetry (INT). https:\/\/github.com\/p4lang\/p4factory\/tree\/master\/apps\/int. (2021)."},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/3132747.3132764"},{"key":"e_1_2_1_13_1","volume-title":"Accelerated DDoS Attacks Mitigation Using Programmable Data Plane. In ACM\/IEEE Symposium on Architectures for Networking and Communications Systems.","author":"Kuka M\u00e1rio","year":"2019","unstructured":"M\u00e1rio Kuka , Kamil Vojanec , Jan Ku\u010dera , and Pavel Ben\u00e1\u010dek . 2019 . Accelerated DDoS Attacks Mitigation Using Programmable Data Plane. In ACM\/IEEE Symposium on Architectures for Networking and Communications Systems. M\u00e1rio Kuka, Kamil Vojanec, Jan Ku\u010dera, and Pavel Ben\u00e1\u010dek. 2019. Accelerated DDoS Attacks Mitigation Using Programmable Data Plane. In ACM\/IEEE Symposium on Architectures for Networking and Communications Systems."},{"key":"e_1_2_1_14_1","volume-title":"Eris: Coordination-Free Consistent Transactions Using In-Network Concurrency Control. In ACM Symposium on Operating Systems Principles.","author":"Li Jialin","unstructured":"Jialin Li , Ellis Michael , and Dan R. K. Ports . 2017 . Eris: Coordination-Free Consistent Transactions Using In-Network Concurrency Control. In ACM Symposium on Operating Systems Principles. Jialin Li, Ellis Michael, and Dan R. K. Ports. 2017. Eris: Coordination-Free Consistent Transactions Using In-Network Concurrency Control. In ACM Symposium on Operating Systems Principles."},{"key":"e_1_2_1_15_1","volume-title":"Jaqen: A High-Performance Switch-Native Approach for Detecting and Mitigating Volumetric DDoS Attacks with Programmable Switches. In USENIX Security.","author":"Liu Zaoxing","year":"2021","unstructured":"Zaoxing Liu , Hun Namkung , Georgios Nikolaidis , Jeongkeun Lee , Changhoon Kim , Xin Jin , Vladimir Braverman , Minlan Yu , and Vyas Sekar . 2021 . Jaqen: A High-Performance Switch-Native Approach for Detecting and Mitigating Volumetric DDoS Attacks with Programmable Switches. In USENIX Security. Zaoxing Liu, Hun Namkung, Georgios Nikolaidis, Jeongkeun Lee, Changhoon Kim, Xin Jin, Vladimir Braverman, Minlan Yu, and Vyas Sekar. 2021. Jaqen: A High-Performance Switch-Native Approach for Detecting and Mitigating Volumetric DDoS Attacks with Programmable Switches. In USENIX Security."},{"key":"e_1_2_1_16_1","unstructured":"Mininet 2019. Mininet. http:\/\/mininet.org. (2019).  Mininet 2019. Mininet. http:\/\/mininet.org. (2019)."},{"key":"e_1_2_1_17_1","volume-title":"Backward Explicit Congestion Notification for ATM Local Area Networks. In IEEE Global Telecommunications Conference.","author":"Newman Peter","year":"1993","unstructured":"Peter Newman . 1993 . Backward Explicit Congestion Notification for ATM Local Area Networks. In IEEE Global Telecommunications Conference. Peter Newman. 1993. Backward Explicit Congestion Notification for ATM Local Area Networks. In IEEE Global Telecommunications Conference."},{"key":"e_1_2_1_18_1","unstructured":"ONF. 2021. Open Network Operating System. https:\/\/opennetworking.org\/onos\/  ONF. 2021. Open Network Operating System . https:\/\/opennetworking.org\/onos\/"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDCS47774.2020.00064"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPSR.2018.8850752"}],"container-title":["ACM SIGCOMM Computer Communication Review"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3477482.3477486","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3477482.3477486","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T19:30:32Z","timestamp":1750188632000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3477482.3477486"}},"subtitle":["P4 on Raspberry Pi for networking education"],"short-title":[],"issued":{"date-parts":[[2021,7,11]]},"references-count":20,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2021,7,11]]}},"alternative-id":["10.1145\/3477482.3477486"],"URL":"https:\/\/doi.org\/10.1145\/3477482.3477486","relation":{},"ISSN":["0146-4833"],"issn-type":[{"value":"0146-4833","type":"print"}],"subject":[],"published":{"date-parts":[[2021,7,11]]},"assertion":[{"value":"2021-07-23","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}