{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,14]],"date-time":"2026-03-14T20:17:43Z","timestamp":1773519463363,"version":"3.50.1"},"reference-count":18,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2017,9,11]],"date-time":"2017-09-11T00:00:00Z","timestamp":1505088000000},"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":["SIGOPS Oper. Syst. Rev."],"published-print":{"date-parts":[[2017,9,11]]},"abstract":"<jats:p>P4 is a language for expressing how packets are processed by the data-plane of a programmable network element such as a hardware or software switch, network interface card, router or network function appliance. This document describes the most recent version of the language, P416, and the reference implementation of the P416 compiler.<\/jats:p>","DOI":"10.1145\/3139645.3139648","type":"journal-article","created":{"date-parts":[[2017,9,12]],"date-time":"2017-09-12T18:56:39Z","timestamp":1505242599000},"page":"5-14","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":66,"title":["The P416 Programming Language"],"prefix":"10.1145","volume":"51","author":[{"given":"Mihai","family":"Budiu","sequence":"first","affiliation":[{"name":"VMware Research"}]},{"given":"Chris","family":"Dodd","sequence":"additional","affiliation":[{"name":"Barefoot Networks"}]}],"member":"320","published-online":{"date-parts":[[2017,9,11]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"https:\/\/github.com\/p4lang\/p4c. Retrieved","year":"2017","unstructured":"P4-16 compiler reference implementation. https:\/\/github.com\/p4lang\/p4c. Retrieved May 2017 . P4-16 compiler reference implementation. https:\/\/github.com\/p4lang\/p4c. Retrieved May 2017."},{"key":"e_1_2_1_2_1","unstructured":"P4 Consortium. http:\/\/p4.org.  P4 Consortium. http:\/\/p4.org."},{"key":"e_1_2_1_3_1","volume-title":"https:\/\/github.com\/p4lang. Retrieved","year":"2017","unstructured":"P4 github repository. https:\/\/github.com\/p4lang. Retrieved May 2017 . P4 github repository. https:\/\/github.com\/p4lang. Retrieved May 2017."},{"key":"e_1_2_1_4_1","volume-title":"Retrieved","author":"Visitor","year":"2017","unstructured":"Visitor pattern. https:\/\/en.wikipedia.org\/wiki\/Visitor_pattern , Retrieved May 2017 . Visitor pattern. https:\/\/en.wikipedia.org\/wiki\/Visitor_pattern, Retrieved May 2017."},{"key":"e_1_2_1_5_1","volume-title":"Retrieved","author":"Bas Antonin","year":"2017","unstructured":"Antonin Bas . The P4 behavioral model version 2. https:\/\/github.com\/p4lang\/behavioral-model , Retrieved May 2017 . Antonin Bas. The P4 behavioral model version 2. https:\/\/github.com\/p4lang\/behavioral-model, Retrieved May 2017."},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380180902"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/2656877.2656890"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/2486001.2486011"},{"key":"e_1_2_1_9_1","volume-title":"December","author":"Corbet Jonathan","year":"2014","unstructured":"Jonathan Corbet . Attaching eBPF programs to sockets. https:\/\/en.wikipedia.org\/wiki\/LWN.net , December 2014 . Jonathan Corbet. Attaching eBPF programs to sockets. https:\/\/en.wikipedia.org\/wiki\/LWN.net, December 2014."},{"key":"e_1_2_1_10_1","volume-title":"David Meyer, and Odysseas Koufopavlou. Software-defined networking (SDN): Layers and architecture terminology. https:\/\/tools.ietf.org\/html\/rfc7426","author":"Haleplidis Evangelos","year":"2015","unstructured":"Evangelos Haleplidis , Kostas Pentikousis , Spyros Denazis , Jamal Hadi Salim , David Meyer, and Odysseas Koufopavlou. Software-defined networking (SDN): Layers and architecture terminology. https:\/\/tools.ietf.org\/html\/rfc7426 , January 2015 . RFC 7426. Evangelos Haleplidis, Kostas Pentikousis, Spyros Denazis, Jamal Hadi Salim, David Meyer, and Odysseas Koufopavlou. Software-defined networking (SDN): Layers and architecture terminology. https:\/\/tools.ietf.org\/html\/rfc7426, January 2015. RFC 7426."},{"key":"e_1_2_1_11_1","unstructured":"M. M. Islam. Java annotations: An introduction. http:\/\/www.developer.com\/java\/other\/article.php\/3556176 October 2005.  M. M. Islam. Java annotations: An introduction. http:\/\/www.developer.com\/java\/other\/article.php\/3556176 October 2005."},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1007\/11532378_2"},{"key":"e_1_2_1_13_1","volume-title":"USENIX Conference","author":"McCanne Steven","year":"1993","unstructured":"Steven McCanne and Van Jacobson . The BSD packet filter: A new architecture for user-level packet capture . In USENIX Conference , January 1993 . Steven McCanne and Van Jacobson. The BSD packet filter: A new architecture for user-level packet capture. In USENIX Conference, January 1993."},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1355734.1355746"},{"key":"e_1_2_1_15_1","volume-title":"V\u00bf. https:\/\/docs.oracle.com\/javase\/7\/docs\/api\/java\/util\/Map.html","author":"Microsystems Sun","year":"1993","unstructured":"Sun Microsystems . Interface Map;K , V\u00bf. https:\/\/docs.oracle.com\/javase\/7\/docs\/api\/java\/util\/Map.html , 1993 . Sun Microsystems. Interface Map;K, V\u00bf. https:\/\/docs.oracle.com\/javase\/7\/docs\/api\/java\/util\/Map.html, 1993."},{"key":"e_1_2_1_16_1","volume-title":"May","year":"2017","unstructured":"P4.org. P4-16 language specification. https:\/\/github.com\/p4lang\/p4-spec\/tree\/master\/p4-16\/spec , May 2017 . P4.org. P4-16 language specification. https:\/\/github.com\/p4lang\/p4-spec\/tree\/master\/p4-16\/spec, May 2017."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.5555\/646482.691453"},{"key":"e_1_2_1_18_1","volume-title":"August","author":"Storvisor M. Mahalingam","year":"2014","unstructured":"M. Mahalingam Storvisor , D. Dutt , K. Duda , P. Agarwal , L. Kreeger , T. Sridhar , M. Bursell , and C. Wright . Virtual eXtensible Local Area Network (VXLAN): A framework for overlaying virtualized layer 2 networks over layer 3 networks. https:\/\/tools.ietf.org\/html\/rfc7348 , August 2014 . M. Mahalingam Storvisor, D. Dutt, K. Duda, P. Agarwal, L. Kreeger, T. Sridhar, M. Bursell, and C. Wright. Virtual eXtensible Local Area Network (VXLAN): A framework for overlaying virtualized layer 2 networks over layer 3 networks. https:\/\/tools.ietf.org\/html\/rfc7348, August 2014."}],"container-title":["ACM SIGOPS Operating Systems Review"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3139645.3139648","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3139645.3139648","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T02:14:02Z","timestamp":1750212842000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3139645.3139648"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,9,11]]},"references-count":18,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2017,9,11]]}},"alternative-id":["10.1145\/3139645.3139648"],"URL":"https:\/\/doi.org\/10.1145\/3139645.3139648","relation":{},"ISSN":["0163-5980"],"issn-type":[{"value":"0163-5980","type":"print"}],"subject":[],"published":{"date-parts":[[2017,9,11]]},"assertion":[{"value":"2017-09-11","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}