Appendix B. The FreeBSD Netgraph Facility
Netgraph is a kernel-space networking facility (subsystem) with an architecture that consists of nodes (the tools) and edges (connectors) that connect to certain hooks of neighbor nodes and form a "graph." Data packets are passed along following this graph from node to node; out-of-band control messages and reply control messages do not follow the connectors; they are passed back and forth directly between the nodes. Within a node, data packets are processed, modified, or just passed along edges to other nodes. A node also can terminate a flow or act as the originating source for new data. Entire network architectures and stacks could be built upon this foundation.