Hi misc@,

I figure this may not be worthy of tech@. Just wanted to mention
some thoughts.

I see a lot of work done around the various NIC offloading features.
Personally, I've had a lot of problems with these. Typically involving
virtualization at the guest level or the host level.

Now a lot of my experience here comes from Linux many moons ago.
But I found a lot of hardware that wouldn't play nicely unless
offloading was disabled, with the most aggravating bugs. There's
also minor nuisances, like checksums not matching in tcpdump under
some circumstances. And some NICs would seem to "go bad" at some
point at not play nicely with those settings enabled.

I'm not 100% sure what the CPU savings are, but for my cases I've
never found a situation that was impacted an obvious amount by
having offloading features disabled. I also think that there can
be some security issues where a packet might get by that the NIC
splits up (I think segmentation offloading can do this) and it gets
broken into another packet that would normally not be permitted.

I certainly don't have all the answers here, and my experience on
the matter is rather old. I just had enough of a persistently poor
experience with offloading features to where I assume that I would
rather not have any offloading code at all.

That said, maybe some chipsets work great. And maybe some of the
features, especially say outbound, are quite reliable. I'm just a
skeptic after being bitten by it. Maybe some of it was Linux related?

I'm sure someone here has had a more positive experience with it,
or can attest that the performance gains are worthwhile, or that
it can be utilized only on hardware known to be reliable with it.

Most of my experience involves gigabit hardware and performance
requirements, so I can see how at say 40gbit/sec, offloading is 40x
more valuable.

Thanks for reading.

-Henrich

Reply via email to