┌──────────────────────────────────────────────┐
│ headroom │ packet data │ tailroom │
└──────────────────────────────────────────────┘
tail →
tailroom is the contiguous region after packet data in a packet buffer.
it is used to append headers or trailers without reallocating memory.
RX: [ alloc ] ┌──────────────────────────────┐ │ head | data | tailroom │ └──────────────────────────────┘ TX: push() ┌──────────────────────────────┐ │ head | expanded data | tail │ └──────────────────────────────┘
used in linux skb, xdp, af_xdp, dpdk.
if tailroom is wrong you corrupt memory or fall off fast path.
// idea data + tailroom == in-place packet growth
move pointers, not packets.