The document discusses the goals and requirements of an abstraction layer (AL) for networking applications. The AL aims to decouple innovation between network application vendors and hardware vendors to allow both sides to innovate independently. It seeks to define a common interface that supports different hardware architectures, provides offloads, and enables applications to efficiently move packets while being hypervisor agnostic and portable across systems. The requirements include functional characteristics like packet processing as well as non-functional aspects like security, performance, extensibility, and manageability.