Using Packet Processing Object Modules Interchangeably as Stand-Alone Programs or “Multi-app” Components
Ralph Duncan, Peder Jungck, Kenneth Andrew Ross, Dwight Mulcahy, Minh Nguyen · International Journal of Parallel Programming · 2014
The basic model for processing packets and routing them from one hardware system to another can be extended to describe virtual packet transmission from one module to another within a single program image. Representing virtual and physical ports interchangeably and embodying their routing relations in runtime data structures makes it possible to produce object modules that can be deployed in a variety of roles without recompilation. We describe a fielded system that combines (a) application virtual ports, (b) a software tool for specifying packet routing to virtual and physical ports, (c) an advanced linker that encapsulates routing actions in runtime tables within a single multi-application image, and (d) a table-driven dispatcher that effects control flow and packet routing. We present results that show performance advantages and demonstrate the usability and security benefits of reconfiguring and redeploying programs in object module form.