mbuf chains / records in networking

Mr Y yonyossef.lists at gmail.com
Tue Apr 15 19:00:21 UTC 2008

I'm porting an Ethernet driver LRO mechanism (Large Recieve Offload) from
Linux to FreeBSD.

I learned a bit about mbuf chains and records, but i couldn't understand
whether the OS is capable of "eating" a whole mbuf record (mbuf linked using
m_cat, by their m_nextpkt pointer) on the RX side.

Can I simply concat my incoming network mbufs, each one with his own TCP/IP
headers, and push the whole record up the stack in one operation?
or should I strip all the packets and build a single TCP/IP header in the
first mbuf before I push the record up?


More information about the freebsd-questions mailing list