P4Muse: Enabling Modular P4 Programming via Compiler-Managed Code Merging Without Syntax Modifications
Domain-specific programming languages such as P4 enable flexible and high-performance packet processing for programming network data planes. However, many P4 programs remain monolithic, limiting the development of modular and reusable protocols and libraries. Introducing modularity to P4 has proven...
Gespeichert in:
| Veröffentlicht in: | IEEE access Jg. 13; S. 124138 - 124157 |
|---|---|
| Hauptverfasser: | , , , , |
| Format: | Journal Article |
| Sprache: | Englisch |
| Veröffentlicht: |
Piscataway
IEEE
2025
The Institute of Electrical and Electronics Engineers, Inc. (IEEE) |
| Schlagworte: | |
| ISSN: | 2169-3536, 2169-3536 |
| Online-Zugang: | Volltext |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| Abstract | Domain-specific programming languages such as P4 enable flexible and high-performance packet processing for programming network data planes. However, many P4 programs remain monolithic, limiting the development of modular and reusable protocols and libraries. Introducing modularity to P4 has proven challenging, as existing approaches-such as trans-compilers and virtualization-often sidestep direct integration with the P4 language and compiler, constraining backward compatibility and extensibility. This paper introduces P4Muse (P4 Modularity and Unification for Seamless Extensibility), an open-source P4C compiler extension that enhances the modularity of P4 without requiring new syntax or annotations. P4Muse is developed by integrating new compiler passes for automatic code merging, fostering modular design and reuse. We demonstrate its benefits through three classes of use cases that support P4 modularity, enabling code reusability, data plane pipeline composition, and vendor-customer compatibility. using the V1Model architecture and the BMv2 software switch. Our results show that P4Muse effectively supports modular P4 program development without altering existing P4 syntax, providing a robust solution that significantly improves code reusability, flexibility, and extensibility while maintaining backward compatibility. |
|---|---|
| AbstractList | Domain-specific programming languages such as P4 enable flexible and high-performance packet processing for programming network data planes. However, many P4 programs remain monolithic, limiting the development of modular and reusable protocols and libraries. Introducing modularity to P4 has proven challenging, as existing approaches-such as trans-compilers and virtualization-often sidestep direct integration with the P4 language and compiler, constraining backward compatibility and extensibility. This paper introduces P4Muse (P4 Modularity and Unification for Seamless Extensibility), an open-source P4C compiler extension that enhances the modularity of P4 without requiring new syntax or annotations. P4Muse is developed by integrating new compiler passes for automatic code merging, fostering modular design and reuse. We demonstrate its benefits through three classes of use cases that support P4 modularity, enabling code reusability, data plane pipeline composition, and vendor-customer compatibility. using the V1Model architecture and the BMv2 software switch. Our results show that P4Muse effectively supports modular P4 program development without altering existing P4 syntax, providing a robust solution that significantly improves code reusability, flexibility, and extensibility while maintaining backward compatibility. |
| Author | Rahmati, Mohsen Pontikakis, Bill Pierre David, Jean Savaria, Yvon Boyer, Francois-Raymond |
| Author_xml | – sequence: 1 givenname: Mohsen orcidid: 0009-0005-8102-485X surname: Rahmati fullname: Rahmati, Mohsen email: mohsen.rahmati@polymtl.ca organization: Department of Computer and Software Engineering, Polytechnique Montréal, Montreal, QC, Canada – sequence: 2 givenname: Francois-Raymond surname: Boyer fullname: Boyer, Francois-Raymond organization: Department of Computer and Software Engineering, Polytechnique Montréal, Montreal, QC, Canada – sequence: 3 givenname: Bill orcidid: 0009-0001-5074-3473 surname: Pontikakis fullname: Pontikakis, Bill organization: Department of Computer and Software Engineering, Polytechnique Montréal, Montreal, QC, Canada – sequence: 4 givenname: Jean orcidid: 0000-0002-7707-0483 surname: Pierre David fullname: Pierre David, Jean organization: Department of Electrical Engineering, Polytechnique Montréal, Montreal, QC, Canada – sequence: 5 givenname: Yvon orcidid: 0000-0002-3404-9959 surname: Savaria fullname: Savaria, Yvon organization: Department of Electrical Engineering, Polytechnique Montréal, Montreal, QC, Canada |
| BookMark | eNpNUU1r3DAQFSWB5usXtAdDzt7qy7aUWzDbNJAlC9vSo5ClkavFa21kuyT_vnIdkswcZni892bgnaOTPvSA0BeCV4Rg-e22rte73YpiWqxYISQr2Cd0Rkkp87SWJx_2z-hqGPY4lUhQUZ0ht-WbaYCbbN3rpvN9m22CnTodsy3PtjG0UR8OM_zX66wOh6PvIOYb3esWbAIsZBuI7cz47cc_YRqz3Us_6ufZxztv9OhDP1yiU6e7Aa5e5wX69X39s_6RPzze3de3D7lhJRnzRlJOMTfCGSJcasuwhco4KYUWzhmgwtjKlIyCtUwy3lBKMTOcgKs0sAt0v_jaoPfqGP1BxxcVtFf_gRBbpePoTQfK0KqRJWaFwZxz3TTprOXAjLS8xGCS1_XidYzhaYJhVPswxT69rxjlZVlxgavEYgvLxDAMEdzbVYLVnI9a8lFzPuo1n6T6uqg8ALwrCBbpGcz-AWChjhE |
| CODEN | IAECCG |
| Cites_doi | 10.1145/2999572.2999607 10.1109/ICCCN.2017.8038396 10.1109/LCOMM.2019.2953031 10.23919/CNSM52442.2021.9615508 10.1145/3482898.3483353 10.1109/ACCESS.2019.2950446 10.1109/JSAC.2019.2894308 10.1145/3123878.3132000 10.1145/2656877.2656890 10.1109/TSC.2023.3242072 10.1109/OJCOMS.2020.2990182 10.1109/NOMS47738.2020.9110355 10.1145/3387514.3405879 10.1145/3472716.3472856 10.1109/MCOM.001.2000904 10.1109/ANCS.2019.8901893 10.1145/1355734.1355746 10.1109/IPCCC50635.2020.9391530 10.1016/j.jnca.2022.103561 10.1145/3426744.3431330 10.1145/3484266.3487377 10.1145/3387514.3405872 10.1109/JSAC.2020.2986693 10.1145/3484266.3487367 10.1145/3603269.3604882 |
| ContentType | Journal Article |
| Copyright | Copyright The Institute of Electrical and Electronics Engineers, Inc. (IEEE) 2025 |
| Copyright_xml | – notice: Copyright The Institute of Electrical and Electronics Engineers, Inc. (IEEE) 2025 |
| DBID | 97E ESBDL RIA RIE AAYXX CITATION 7SC 7SP 7SR 8BQ 8FD JG9 JQ2 L7M L~C L~D DOA |
| DOI | 10.1109/ACCESS.2025.3589353 |
| DatabaseName | IEEE All-Society Periodicals Package (ASPP) 2005–Present IEEE Xplore Open Access Journals IEEE All-Society Periodicals Package (ASPP) 1998–Present IEEE Electronic Library (IEL) CrossRef Computer and Information Systems Abstracts Electronics & Communications Abstracts Engineered Materials Abstracts METADEX Technology Research Database Materials Research Database ProQuest Computer Science Collection Advanced Technologies Database with Aerospace Computer and Information Systems Abstracts Academic Computer and Information Systems Abstracts Professional DOAJ Directory of Open Access Journals |
| DatabaseTitle | CrossRef Materials Research Database Engineered Materials Abstracts Technology Research Database Computer and Information Systems Abstracts – Academic Electronics & Communications Abstracts ProQuest Computer Science Collection Computer and Information Systems Abstracts Advanced Technologies Database with Aerospace METADEX Computer and Information Systems Abstracts Professional |
| DatabaseTitleList | Materials Research Database |
| Database_xml | – sequence: 1 dbid: DOA name: DOAJ Open Access Full Text url: https://www.doaj.org/ sourceTypes: Open Website – sequence: 2 dbid: RIE name: IEEE Electronic Library (IEL) url: https://ieeexplore.ieee.org/ sourceTypes: Publisher |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Engineering |
| EISSN | 2169-3536 |
| EndPage | 124157 |
| ExternalDocumentID | oai_doaj_org_article_c27b96035c0444abb4c8d4e3c9d460ec 10_1109_ACCESS_2025_3589353 11080440 |
| Genre | orig-research |
| GrantInformation_xml | – fundername: Intel, Noviflow, Kaloom, Prompt Quebec funderid: 10.13039/501100000038 – fundername: Natural Sciences and Engineering Research Council of Canada funderid: 10.13039/501100000038 |
| GroupedDBID | 0R~ 4.4 5VS 6IK 97E AAJGR ABAZT ABVLG ACGFS ADBBV AGSQL ALMA_UNASSIGNED_HOLDINGS BCNDV BEFXN BFFAM BGNUA BKEBE BPEOZ EBS EJD ESBDL GROUPED_DOAJ IPLJI JAVBF KQ8 M43 M~E O9- OCL OK1 RIA RIE RNS AAYXX CITATION 7SC 7SP 7SR 8BQ 8FD JG9 JQ2 L7M L~C L~D |
| ID | FETCH-LOGICAL-c361t-b924204c8fc18f8f8d30de7cf998a8ffce28cd7c632edd3934b22203c41ef7ae3 |
| IEDL.DBID | RIE |
| ISICitedReferencesCount | 0 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=001534551100033&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| ISSN | 2169-3536 |
| IngestDate | Fri Oct 03 12:43:12 EDT 2025 Sat Nov 01 12:47:28 EDT 2025 Sat Nov 29 07:41:28 EST 2025 Wed Aug 27 02:13:12 EDT 2025 |
| IsDoiOpenAccess | true |
| IsOpenAccess | true |
| IsPeerReviewed | true |
| IsScholarly | true |
| Language | English |
| License | https://creativecommons.org/licenses/by/4.0/legalcode |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-c361t-b924204c8fc18f8f8d30de7cf998a8ffce28cd7c632edd3934b22203c41ef7ae3 |
| Notes | ObjectType-Article-1 SourceType-Scholarly Journals-1 ObjectType-Feature-2 content type line 14 |
| ORCID | 0009-0001-5074-3473 0000-0002-3404-9959 0000-0002-7707-0483 0009-0005-8102-485X |
| OpenAccessLink | https://ieeexplore.ieee.org/document/11080440 |
| PQID | 3246674807 |
| PQPubID | 4845423 |
| PageCount | 20 |
| ParticipantIDs | doaj_primary_oai_doaj_org_article_c27b96035c0444abb4c8d4e3c9d460ec ieee_primary_11080440 proquest_journals_3246674807 crossref_primary_10_1109_ACCESS_2025_3589353 |
| PublicationCentury | 2000 |
| PublicationDate | 20250000 2025-00-00 20250101 2025-01-01 |
| PublicationDateYYYYMMDD | 2025-01-01 |
| PublicationDate_xml | – year: 2025 text: 20250000 |
| PublicationDecade | 2020 |
| PublicationPlace | Piscataway |
| PublicationPlace_xml | – name: Piscataway |
| PublicationTitle | IEEE access |
| PublicationTitleAbbrev | Access |
| PublicationYear | 2025 |
| Publisher | IEEE The Institute of Electrical and Electronics Engineers, Inc. (IEEE) |
| Publisher_xml | – name: IEEE – name: The Institute of Electrical and Electronics Engineers, Inc. (IEEE) |
| References | ref13 ref35 ref12 ref34 (ref43) 2025 ref36 ref31 ref10 ref32 ref2 ref1 (ref15) 2025 (ref7) 2013 (ref11) 2021 ref39 (ref14) 2019 ref19 ref18 Soni (ref26) 2018 (ref3) 2025 (ref8) 2020 Zheng (ref27) Gao (ref37) (ref17) 2022 Wang (ref38) ref24 ref23 (ref5) 2023 ref25 ref20 ref42 ref22 ref21 (ref30) 2019 ref28 Hogan (ref33) ref29 Xing (ref41) ref9 ref4 (ref6) 2021 (ref16) 2025 ref40 |
| References_xml | – volume-title: Behavioral Model (BMV2) year: 2022 ident: ref17 – ident: ref23 doi: 10.1145/2999572.2999607 – ident: ref24 doi: 10.1109/ICCCN.2017.8038396 – ident: ref28 doi: 10.1109/LCOMM.2019.2953031 – ident: ref20 doi: 10.23919/CNSM52442.2021.9615508 – volume-title: Internet Engineering Task Force (IETF) year: 2020 ident: ref8 – ident: ref10 doi: 10.1145/3482898.3483353 – ident: ref34 doi: 10.1109/ACCESS.2019.2950446 – volume-title: Internet Assigned Numbers Authority (IANA). Protocol Numbers year: 2025 ident: ref43 – ident: ref25 doi: 10.1109/JSAC.2019.2894308 – ident: ref18 doi: 10.1145/3123878.3132000 – volume-title: P4 Language Consortium. P4 Tutorials year: 2025 ident: ref15 – volume-title: Open Networking Lab. The Next-Gen SDN Tutorial year: 2025 ident: ref16 – ident: ref4 doi: 10.1145/2656877.2656890 – ident: ref36 doi: 10.1109/TSC.2023.3242072 – ident: ref22 doi: 10.1109/OJCOMS.2020.2990182 – ident: ref31 doi: 10.1109/NOMS47738.2020.9110355 – start-page: 1289 volume-title: Proc. 19th USENIX Symp. Networked Syst. Design Implement. ident: ref38 article-title: Isolation mechanisms for high-speed packet-processing pipelines – ident: ref13 doi: 10.1145/3387514.3405879 – volume-title: The P4 High-Level Intermediate Representation (P4-HLIR) year: 2019 ident: ref30 – start-page: 651 volume-title: Proc. USENIX Symp. Networked Syst. Des. Implement. (NSDI) ident: ref41 article-title: Runtime programmable switches – ident: ref21 doi: 10.1145/3472716.3472856 – ident: ref32 doi: 10.1109/MCOM.001.2000904 – ident: ref9 doi: 10.1109/ANCS.2019.8901893 – start-page: 98 volume-title: Proc. 14th Int. Conf. Emerg. Netw. Exp. Technol. ident: ref27 article-title: P4 Visor: Lightweight virtualization and composition primitives for building and testing modular programs – start-page: 477 volume-title: Proc. 21st USENIX Symp. Networked Syst. Design Implement. ident: ref37 article-title: Sirius: Composing network function chains into P4-capable edge gateways – ident: ref2 doi: 10.1145/1355734.1355746 – volume-title: Open Networking Foundation. OpenFlow Switch Specifications Version 1.5.1 year: 2025 ident: ref3 – ident: ref35 doi: 10.1109/IPCCC50635.2020.9391530 – volume-title: The P4 Language Consortium year: 2019 ident: ref14 – volume-title: GitHub: NPL-Spec year: 2021 ident: ref6 – ident: ref1 doi: 10.1016/j.jnca.2022.103561 – ident: ref19 doi: 10.1145/3426744.3431330 – ident: ref40 doi: 10.1145/3484266.3487377 – volume-title: MNK Lans and Consulting year: 2021 ident: ref11 – volume-title: P4Bricks: Enabling Multiprocessing Using Linker-Based Network Data Plane Architecture year: 2018 ident: ref26 – volume-title: The P4 Language Consortium year: 2013 ident: ref7 – volume-title: P4 16 Language Specification 2023. P416 Language Specification. Version 1.2.4 year: 2023 ident: ref5 – ident: ref12 doi: 10.1145/3387514.3405872 – ident: ref29 doi: 10.1109/JSAC.2020.2986693 – ident: ref39 doi: 10.1145/3484266.3487367 – ident: ref42 doi: 10.1145/3603269.3604882 – start-page: 193 volume-title: Proc. USENIX NSDI ident: ref33 article-title: Modular switch programming under resource constraints |
| SSID | ssj0000816957 |
| Score | 2.3344383 |
| Snippet | Domain-specific programming languages such as P4 enable flexible and high-performance packet processing for programming network data planes. However, many P4... |
| SourceID | doaj proquest crossref ieee |
| SourceType | Open Website Aggregation Database Index Database Publisher |
| StartPage | 124138 |
| SubjectTerms | Annotations BMv2 Codes Compatibility compiler Compilers composability Extensibility incremental programming intermediate representation Merging Modular design Modularity Pipelines Program processors Programmable data planes Programming Programming languages Protocols reusability Switches Syntactics Syntax vendor-customer framework Virtualization |
| SummonAdditionalLinks | – databaseName: DOAJ Directory of Open Access Journals dbid: DOA link: http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwrV1NT9wwELUQ6gEOiAJVl9LKB44EHH_ECTdYgbgsWgkQ3KxkPBZ7YBftZhH993jiQLfqoReU2yiy4zexPWON32PsEE2JBZiYnWirMy2tzBpfqqyiW5ayCdYb34lN2Ovr8uGhGq9IfVFNWKIHTsCdgLRNjLKVAWI2q5tGQ-k1Kqi8LgQCrb7CVivJVLcGl3lRGdvTDOWiOjkbDuOIYkIozbEycZc26q-tqGPs7yVW_lmXu83mcptt9VEiP0tf95Wt4XSHba5wB-6yMNaj5QJP-QXdfoomPpp5qinlY83Hqerqicwvk5rTrI_Tf56lahcfDR75COckUcTvJ-3jbNnym9_Ttn6ldqh-KB3l7bG7y4vb4VXWiyZkoIq8zZqYUEkRQQqQlyE-XgmPFkLMq-oyBEBZgrdQKIneq0rpJoYIQoHOMdga1Te2Pp1N8TvjII0nATrbRNQDmNqDBIMG6yLUCHrAjt7xc8-JG8N1OYWoXILbEdyuh3vAzgnjj1eJ2LozRHe73t3uf-4esD3y0J_-qEZSazFgB-8uc_0sXLgYLBYkpiLs_mf0_YNt0HjSAcwBW2_nS_zJvsBLO1nMf3U_4BtQ_N6o priority: 102 providerName: Directory of Open Access Journals |
| Title | P4Muse: Enabling Modular P4 Programming via Compiler-Managed Code Merging Without Syntax Modifications |
| URI | https://ieeexplore.ieee.org/document/11080440 https://www.proquest.com/docview/3246674807 https://doaj.org/article/c27b96035c0444abb4c8d4e3c9d460ec |
| Volume | 13 |
| WOSCitedRecordID | wos001534551100033&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVAON databaseName: DOAJ Open Access Full Text customDbUrl: eissn: 2169-3536 dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0000816957 issn: 2169-3536 databaseCode: DOA dateStart: 20130101 isFulltext: true titleUrlDefault: https://www.doaj.org/ providerName: Directory of Open Access Journals – providerCode: PRVHPJ databaseName: ROAD: Directory of Open Access Scholarly Resources customDbUrl: eissn: 2169-3536 dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0000816957 issn: 2169-3536 databaseCode: M~E dateStart: 20130101 isFulltext: true titleUrlDefault: https://road.issn.org providerName: ISSN International Centre |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1Lb9QwEB7RigMceBaxpVQ-cCRt1o846a1dbcVlq5UA0ZuVjMdiD-xWu9kKLv3t9ThuC0IcUKQoGiWx4y9-zHhmPoAPZGqq0ETtRFtdaGll0flaFQ1HWcouWG98IpuwFxf15WUzz8HqKRaGiJLzGR3xZdrL9yvcsqnsmF3WmSJ5B3asrYZgrXuDCjNINMbmzELjsjk-nUziR0QdUJojZeLEbNQfs09K0p9ZVf4aitP8cv78P2v2Ap7lhaQ4HZB_CY9o-Qqe_pZe8DWEuZ5tN3QiphwgFUVitvLsdirmWswHx6wfLL5etIIHhjhCrIvBIcZHgScxozWzGIlvi_77atuLz7-WffuT38MuRoO1bw--nk-_TD4VmVehQFWN-6KLOpcsNdYBx3WIh1elJ4shql5tHQKSrNFbrJQk71WjdBdXEaVCPaZgW1JvYHe5WtJbECiNZ44623WdDmhajxINGWqr0BLqEXy8a293NaTPcEntKBs3wOMYHpfhGcEZY3J_K-e-ToLY2C53JYfSdlHvUgY5110bC8baa1LYeF2VhCPYY4AeysvYjODgDmKXO-rGxfVkxXwrpd3_x2Pv4AlXcTC7HMBuv97Se3iM1_1isz5MOnw8z26mh-l_vAXTUd3j |
| linkProvider | IEEE |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1Lb9QwEB5BQQIOPItYKOADR9Jm_YgTbmXVqojuaiWK6M1KxmN1D-yi3WwF_x6P4xYQ4oByiUZJ7PiL7ZnJzHwAb8jUVKGJ1om2utDSyqLztSoazrKUXbDe-EQ2YWez-vy8medk9ZQLQ0Qp-Iz2-TT9y_cr3LKr7IBD1pki-SbcMlrLckjXunapMIdEY2yuLTQum4PDySS-RrQCpdlXJm7NRv2x_6Qy_ZlX5a_FOO0wxw_-s28P4X5WJcXhgP0juEHLx3DvtwKDTyDM9XS7oXfiiFOkokhMV54DT8Vci_kQmvWVxZeLVvDSENeIdTGExPgo8CSmtGYeI_Fl0V-str349GPZt9_5ORxkNPj7duHz8dHZ5KTIzAoFqmrcF120umSpsQ44rkM8vCo9WQzR-GrrEJBkjd5ipSR5rxqlu6hHlAr1mIJtST2FneVqSc9AoDSeWeps13U6oGk9SjRkqK1CS6hH8PZqvN23oYCGS4ZH2bgBHsfwuAzPCN4zJteXcvXrJIiD7fJkcihtFy0vZZCr3bWxYay9JoWN11VJOIJdBuhXexmbEexdQezyVN24qFFWzLhS2uf_uO013Dk5m5660w-zjy_gLnd3cMLswU6_3tJLuI2X_WKzfpW-x58LJN8E |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=P4Muse%3A+Enabling+Modular+P4+Programming+via+Compiler-Managed+Code+Merging+Without+Syntax+Modifications&rft.jtitle=IEEE+access&rft.au=Rahmati%2C+Mohsen&rft.au=Boyer%2C+Francois-Raymond&rft.au=Pontikakis%2C+Bill&rft.au=Pierre+David%2C+Jean&rft.date=2025&rft.pub=IEEE&rft.eissn=2169-3536&rft.volume=13&rft.spage=124138&rft.epage=124157&rft_id=info:doi/10.1109%2FACCESS.2025.3589353&rft.externalDocID=11080440 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=2169-3536&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=2169-3536&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=2169-3536&client=summon |