Netgraph was originally designed and implemented at Whistle Communications by Julian Elischer and Archie Cobbs for the Whistle InterJet small office router product. The purpose of the project was to create a flexible framework for implementing new networking protocols. Key requirements included the ability to prototype with user-space programs while still retaining the ability to interact with data flows normally hidden within the kernel.