English

Extern Objects in P4: an ROHC Header Compression Scheme Case Study

Networking and Internet Architecture 2018-03-23 v2

Abstract

P4 is an emergent packet-processing language with which the user can describe how the packets are to be processed in a switching element. This paper presents a way to implement complex operations that are not natively supported in P4. In this work, we explored two different methods to add extensions to P4: i) using new native primitives and ii) using extern instances. As a case study, an ROHC entity was implemented and invoked in a P4 program. The tests showed similar relative performance in both methods in terms of normalized packet latency. However, extern instances appear to be more suitable for target-specific switching applications, where the manufacturer/vendor can specify its own specific operations without changes in the P4 syntax and semantics. Extern instances only require changes in the target-specific backend compiler while keeping the P4 frontend compiler unchanged. The use of externs also results in a more elegant code solution since they are implemented outside the switch-core, thus reducing side effects risks that can be caused by a modification in a switch pipeline implementation.

Cite

@article{arxiv.1611.05943,
  title  = {Extern Objects in P4: an ROHC Header Compression Scheme Case Study},
  author = {Jeferson Santiago da Silva and François-Raymond Boyer and Laurent-Olivier Chiquette and J. M. Pierre Langlois},
  journal= {arXiv preprint arXiv:1611.05943},
  year   = {2018}
}

Comments

6 pages, 4 figures, 3 listings

R2 v1 2026-06-22T16:56:33.274Z