What are mbufs

From PFSenseDocs
Jump to: navigation, search

From the FreeBSD mbuf(9) man page:

An mbuf is a basic unit of memory management in the kernel IPC subsystem. Network packets and socket buffers are stored in mbufs. A network packet may span multiple mbufs arranged into a mbuf chain (linked list), which allows adding or trimming network headers with little overhead.
An mbuf consists of a variable-sized header and a small internal buffer for data.

For more detail, there is a paper published on the subject:
Network Buffer Allocation in the FreeBSD Operating System (May 2004) Bosko Milekic <bmilekic@FreeBSD.org>

If there are concerns about mbuf usage on a firewall, see Tuning and Troubleshooting Network Cards.