Sync up advanced transmitter descriptor setup code to the upstream. There are a number of bugs that this commit fixes.  The main issue is that ixgbe_tx_ctx_setup sets up a descriptor for TCP and UDP checksum calculation, but not for IP, therefore it must use TXSM instead of IXSM.  Which is what FreeBSD does now.  I've tested this on 82599 with TCP, UDP, ICMP, ICMP6, VLANs and OSPF with TCP and UDP checksums turned on against oce(4).  ixgbe_tso_setup is updated as well, albeit remains disabled (as well as checksums themselves). Parts of the change were obtained from brad's diff he sent me a while ago.
Sync up advanced transmitter descriptor setup code to the upstream.
There are a number of bugs that this commit fixes.  The main issue
is that ixgbe_tx_ctx_setup sets up a descriptor for TCP and UDP
checksum calculation, but not for IP, therefore it must use TXSM
instead of IXSM.  Which is what FreeBSD does now.  I've tested this
on 82599 with TCP, UDP, ICMP, ICMP6, VLANs and OSPF with TCP and
UDP checksums turned on against oce(4).  ixgbe_tso_setup is updated
as well, albeit remains disabled (as well as checksums themselves).
Parts of the change were obtained from brad's diff he sent me a
while ago.

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