tweak vmxnet3_load_mbuf to use m_pulldown to safely reach into the mbuf for the tcp/udp headers and to make theyre contiguous for the hypervisors offload to work correctly.
tweak vmxnet3_load_mbuf to use m_pulldown to safely reach into the mbuf for
the tcp/udp headers and to make theyre contiguous for the hypervisors
offload to work correctly.

use m_defrag instead of handrolling a copy of a heavily fragmented mbuf
into a single mbuf or cluster.

ok reyk@ yasuoka@

orumin/openbsd-efivars,orumin/openbsd-efivars,orumin/openbsd-efivars,orumin/openbsd-efivars