zbufs vs. mbufs vs. BSD sockets: which one?
>From a complete zbufs/mbufs novice:
In a system running VxW 5.4, my code must afford the greatest
reasonable overall (weeks at a time) throughput with the fewest errors
from an input TCP port to an output TCP port. Very heavy, constant
traffic where each incoming packet gets an additional layer of
encapsulation and then sent on the output port.
I must decide if it's worth the effort and risk to learn and then use
zbufs or mbufs; or if I should forget about them and go with vanilla
sockets. If it seems worthwhile to use either zbufs or mbufs, then I
must choose between them.
Ten years ago, WRS claimed big improvements using zbufs over BSD
sockets. By contrast, Hwa Jin Bae (and he should know) in Part 4 of
the FAQ says "You cannot achieve [my goal] by adding zBuf." If even a
10% improvement is straightforwardly achieved with zbufs, then it's
worth my while to use zbufs. In my circumstances, shall I believe WRS?
Or does Hwa Jin Bae's statement still hold?
If zbufs suck, then maybe mbufs is the answer. It's for sure that mbufs
are never going away, but I see very little documentation for mbufs. Is
there enough detailed description around that an mbufs novice (that's
me) can trust them? Where is it? And what/how many show-stopping
gotcha's am I likely to trip on if I commit to mbufs?
Thanks, everyone. I appreciate your help very much.
-- Pete Wilson (pete who'sat pwilson dot net)