Skip to content

HyperVDP/Hyper4

Repository files navigation

HyPer4

HyPer4 is a portable and dynamic solution for virtualizing the P4-programmable data plane.

Virtualization can take a single physical data plane and present the illusion of multiple data planes. Each virtual data plane on a network device can host a different packet processing program, i.e., function. These functions can be chained together in complex ways for arbitrary compositions. Or they can be isolated from each other in distinct network slices. Support for network function composition permits a modular development process, yielding advantages in independent debugging and optimization efforts. Support for slices permits support for multiple tenants, or mixes of research experiments and production operations, where each slice could involve completely distinct protocol headers and functions.

The main development effort has been the HyPer4 persona, a P4 program capable of emulating other P4 programs. Other components of HyPer4 include a data plane management unit(DPMU), which is not yet implemented, but in concept is similar in purpose to the Flowvisor controller/switch proxy. The DPMU intercepts commands meant for foo.p4 and, assuming foo.p4 is currently being emulated by the HyPer4 persona, translates the commands to those relevant to hp4_persona.p4. The DPMU also provides resource management and isolation support for multiple programs being emulated by the persona at the same time.

Related Work

The Flowvisor project virtualizes the control plane and relies on OpenFlow, which has a fixed data plane (relative to P4).

About

Forked from HyPer4 Repository.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published