Stephen Ibanez

About Me

Stephen Ibanez 

I am a PhD candidate at Stanford University in the Department of Electrical Engineering. I started in Autumn 2015, and my research interests are in high performance networking and network/web security.

Advisor: Prof. Nick McKeown.



P4: A high-level language for programming protocol-independent packet processors

P4 is a high-level language for configuring network switches and routers, with the overarching goal of improving modern Software-Defined Networking (SDN) in three ways: (1) Reconfigurability in the way that switches process packets after deployment; (2) Protocol independence, allowing switches to be designed as a blank slate with no specific network protocol support; and (3) Target independence: packet-processing functionality that is completely independent of the underlying switch hardware specifics. Visit for open source P4 specification, a compiler, and other tool chains.

Compiling P4 to NetFPGA

NetFPGA is a line-rate, flexible, and open FPGA based platform for research, and classroom experimentation. Compiling P4 programs to the NetFPGA platform allows researchers to quickly evaluate the performance of their P4 switch designs in real hardware.