His recent work has focused on providing programmable data planes and management layers for Linux supporting both software and hardware models. Prior to this John has worked on the Linux kernel and system tools enabling various protocols, vswitches, and hardware.