  Software is often used for Network Functions (NFs) -- such as firewalls, NAT,
deep packet inspection, and encryption -- that are applied to traffic in the
network. The community has hoped that NFV would enable rapid development of new
NFs and leverage commodity computing infrastructure. However, the challenge for
researchers and operators has been to align the square peg of high-speed packet
processing with the round hole of cloud computing infrastructures and
abstractions, all while delivering performance, scalability, and isolation.
Past work has led to the belief that NFV is different enough that it requires
novel, custom approaches that deviate from today's norms. To the contrary, we
show that we can achieve performance, scalability, and isolation in NFV
judiciously using mechanisms and abstractions of FaaS, the Linux kernel, NIC
hardware, and OpenFlow switches. As such, with our system Galleon, NFV can be
practically-deployable today in conventional cloud environments while
delivering up to double the performance per core compared to the state of the
art.
