netgraph is the graph based kernel networking subsystem of FreeBSD since 3.4 and DragonFly BSD since the fork from FreeBSD.[1] Netgraph provides support for L2TP, PPTP, ATM, Bluetooth using a modular set of nodes that are the graph.

Netgraph has also been ported on other Operating Systems:

  • NetBSD kernel 1.5V[2] (not integrated into mainline kernel)
  • Linux kernel 2.4 and 2.6 by 6WIND (Commercial closed source port)
  • Linux kernel 3.0 by LANA

History

edit

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.

References

edit
  1. ^ "netgraph.4". Super User's BSD Cross Reference. DragonFly BSD. 2014-12-12. Retrieved 2019-03-04.
  2. ^ Barnim Dzwillo, tech-net mailing list, 2001
edit