I was thinking along similar lines. The 4K boundary requirement for Virtio is interesting. It seems desireable to have a generic framework that does not need to know about requirements of any particular network device, e.g.  with a kind of "shim" layer that transforms the raw packet buffers into a standard format (and vice versa). This was sort of the idea of my datagram class.

Does this Intel "split" feature have any kind of intelligence or does it simply map a fixed number of bytes into a separate buffer?

The system should also be able to deal with non-standard packets (like very large headers) with an "acceptable" performance penalty.