# Netgraph

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/Netgraph
> Markdown URL: https://mediated.wiki/source/Netgraph.md
> Source: https://en.wikipedia.org/wiki/Netgraph
> Source revision: 1146876402
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

{{short description|Graph based kernel networking subsystem of FreeBSD and DragonFly BSD}}
{{lowercase}}
'''netgraph''' is the [graph](/source/Graph_(discrete_mathematics)) based [kernel](/source/Kernel_(operating_system)) [networking](/source/Computer_network) subsystem of [FreeBSD](/source/FreeBSD) since 3.4 and [DragonFly BSD](/source/DragonFly_BSD) since the fork from FreeBSD.<ref>{{cite web |url= http://BXR.SU/DragonFly/share/man/man4/netgraph.4 |title= netgraph.4 |publisher= [DragonFly BSD](/source/DragonFly_BSD) | website = Super User's BSD Cross Reference |date=2014-12-12 |accessdate=2019-03-04}}</ref> Netgraph provides support for [L2TP](/source/Layer_2_Tunneling_Protocol), [PPTP](/source/Point-to-Point_Tunneling_Protocol), [ATM](/source/Asynchronous_Transfer_Mode), [Bluetooth](/source/Bluetooth) using a modular set of nodes that are the graph.

Netgraph has also been ported on other Operating Systems:
* [NetBSD](/source/NetBSD) kernel 1.5V<ref>[http://mail-index.netbsd.org/tech-net/2001/08/17/0000.html Barnim Dzwillo, tech-net mailing list, 2001]</ref> (not integrated into mainline kernel)
* [Linux](/source/Linux) kernel 2.4 and 2.6 by [http://www.6wind.com/ 6WIND] (Commercial closed source port)
* [Linux](/source/Linux) kernel 3.0 by [http://repo.or.cz/w/ana-net.git/ LANA]

== History ==
Netgraph was originally designed and implemented at [Whistle Communications](/source/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 ==
{{reflist}}

== External links ==
* [http://www.freebsd.org/cgi/man.cgi?query=netgraph&sektion=4 netgraph(4) man page]
* [https://people.freebsd.org/~julian/netgraph.html Netgraph article]

{{FreeBSD}}
{{DragonFly}}

{{Compu-network-stub}}

Category:BSD_software
Category:Free network-related software

---
Adapted from the Wikipedia article [Netgraph](https://en.wikipedia.org/wiki/Netgraph) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/Netgraph?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
