HyPer4: Using P4 to Virtualize the Programmable Data Plane

Through virtualization, single physical data planes can logically support multiple networking contexts. We propose HyPer4 as a portable virtualization solution. HyPer4 provides a general purpose program, written in the P4 dataplane programming language, that may be dynamically configured to adopt behavior that is functionally equivalent to other P4 programs. HyPer4 extends, through software, the following features to diverse P4-capable devices: the ability to logically store multiple programs and either run them in parallel (network slicing) or as hot-swappable snapshots; and virtual networking between programs (supporting program composition or multi-tenant service interaction). HyPer4 permits modifying the set of programs, as well as the virtual network connecting them, at runtime, without disrupting currently active programs. We show that realistic ASICs-based hardware would be capable of running HyPer4 today.

[1]  David Walker,et al.  Composing Software Defined Networks , 2013, NSDI.

[2]  Jamal Hadi Salim,et al.  Linux Netlink as an IP Services Protocol , 2003, RFC.

[3]  Ehab Al-Shaer,et al.  FlowChecker: configuration analysis and verification of federated openflow infrastructures , 2010, SafeConfig '10.

[4]  Nick Feamster,et al.  The road to SDN: an intellectual history of programmable networks , 2014, CCRV.

[5]  Rittwik Jana,et al.  Understanding the bottlenecks in virtualizing cellular core network functions , 2015, The 21st IEEE International Workshop on Local and Metropolitan Area Networks.

[6]  Fernando M. V. Ramos,et al.  Software-Defined Networking: A Comprehensive Survey , 2014, Proceedings of the IEEE.

[7]  G.J. Minden,et al.  A survey of active network research , 1997, IEEE Communications Magazine.

[8]  Rob Sherwood,et al.  FlowVisor: A Network Virtualization Layer , 2009 .

[9]  George Varghese,et al.  P4: programming protocol-independent packet processors , 2013, CCRV.

[10]  Nick McKeown,et al.  OpenFlow: enabling innovation in campus networks , 2008, CCRV.

[11]  Minlan Yu,et al.  NOSIX: a lightweight portability layer for the SDN OS , 2014, CCRV.

[12]  Fulvio Risso,et al.  Supporting Fine-Grained Network Functions through Intel DPDK , 2014, 2014 Third European Workshop on Software Defined Networks.

[13]  Nick Feamster,et al.  Design and implementation of a routing control platform , 2005, NSDI.

[14]  Eddie Kohler,et al.  The Click modular router , 1999, SOSP.

[15]  Shawana Tabassum,et al.  Low power high speed Ternary Content Addressable Memory design using 8 MOSFETs and 4 memristors - hybrid structure , 2014, 8th International Conference on Electrical and Computer Engineering.

[16]  Ramesh Govindan,et al.  Flow-level state transition as a new switch primitive for SDN , 2014, HotSDN.

[17]  John V. Guttag,et al.  ANTS: a toolkit for building and dynamically deploying network protocols , 1998, 1998 IEEE Open Architectures and Network Programming.

[18]  Timothy Sherwood,et al.  Modeling TCAM power for next generation network devices , 2006, 2006 IEEE International Symposium on Performance Analysis of Systems and Software.

[19]  George Varghese,et al.  Forwarding metamorphosis: fast programmable match-action processing in hardware for SDN , 2013, SIGCOMM.

[20]  Brighten Godfrey,et al.  VeriFlow: verifying network-wide invariants in real time , 2012, HotSDN '12.

[21]  Ellen W. Zegura,et al.  An architecture for active networking , 1997, HPN.

[22]  Fernando Pedone,et al.  NetPaxos: consensus at network speed , 2015, SOSR.

[23]  Ram Dantu,et al.  Forwarding and Control Element Separation (ForCES) Framework , 2004, RFC.

[24]  Manoj Sachdev,et al.  A Low-Power Ternary CAM With Positive-Feedback Match-Line Sense Amplifiers , 2009, IEEE Transactions on Circuits and Systems I: Regular Papers.

[25]  Anirudh Sivaraman,et al.  In-band Network Telemetry via Programmable Dataplanes , 2015 .

[26]  Yi Wang,et al.  Virtual routers on the move: live router migration as a network-management primitive , 2008, SIGCOMM '08.

[27]  Glen Gibb,et al.  NetFPGA--An Open Platform for Gigabit-Rate Network Switching and Routing , 2007, 2007 IEEE International Conference on Microelectronic Systems Education (MSE'07).

[28]  W. David Sincoskie,et al.  SwitchWare: Accelerating Network Evolution (White Paper) , 1996 .

[29]  K. K. Ramakrishnan,et al.  NetVM: High Performance and Flexible Networking Using Virtualization on Commodity Platforms , 2014, IEEE Transactions on Network and Service Management.

[30]  Philipp Winter,et al.  ScrambleSuit: a polymorphic network protocol to circumvent censorship , 2013, WPES.

[31]  Syed Iftekhar Ali,et al.  An Energy Efficient Design of High-Speed Ternary CAM Using Match-Line Segmentation and Resistive Feedback in Sense Amplifier , 2012, J. Comput..

[32]  Haoyu Song,et al.  Protocol-oblivious forwarding: unleash the power of SDN through a future-proof forwarding plane , 2013, HotSDN '13.

[33]  Giuseppe Bianchi,et al.  OpenState: programming platform-independent stateful openflow applications inside the switch , 2014, CCRV.

[34]  Ye Wang,et al.  Shadow configuration as a network management primitive , 2008, SIGCOMM '08.

[35]  Nick McKeown,et al.  PISCES: A Programmable, Protocol-Independent Software Switch , 2016, SIGCOMM.

[36]  Thierry Turletti,et al.  A Survey of Software-Defined Networking: Past, Present, and Future of Programmable Networks , 2014, IEEE Communications Surveys & Tutorials.

[37]  K. K. Ramakrishnan,et al.  Toward a software-based network: integrating software defined networking and network function virtualization , 2015, IEEE Network.

[38]  David Mazières,et al.  Tiny packet programs for low-latency network control and monitoring , 2013, HotNets.