Нигде нет полного руководства. В коде лежат все файлы. Необходимых
файлов немного. Основное для понимания, почему там так всё. 1.
Библиотека стремится не выделять/освобождать память динамически.
Поэтому используется пулирование, механизм уже статически
распределенных пулов. 2. Библиотека делает все функции copy-less. .
Это позволяет делать OSI model, вложенность стека протоколов. Т.е.
принят по DMA ETH пакет, либа просто расставляет указатели и отдает
тебе на самом деле тело принятого в пул по DMA пакета, но только с передвинутым указателем на UDP data. То же самое реализуется с отправкой, именно поэтому постоянно приходится запрашивать что-л, библиотека отдает адреса в уже распределенных в памяти DMA пакетах. Это необходимая отправная база без знания которой тяжко.