vtnet(4) - disable TCP checksum offload by default
The existing TCP checksum offset for this driver causes ~95% retransmit rates for TCP IPv6 packets. This makes the driver effectively useless in its current state on IPv6 networks. Fixing the checksum offload code is beyond my expertise at this time, so we should at least disable the offload by default.
Patch for sys/dev/virtual/virtio/net/if_vtnet.c:
< static int vtnet_csum_disable = 0;
static int vtnet_csum_disable = 1; //broken for IPv6, disable by default
- Status changed from In Progress to Closed
% uname -a DragonFly dfly 6.5-DEVELOPMENT DragonFly v184.108.40.206.g030731-DEVELOPMENT % ifconfig vtnet0 vtnet0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=2a<TXCSUM,VLAN_MTU,JUMBO_MTU>
RXCSUM is disabled as default on vtnet driver. TXCSUM is advertised as being enabled as default -> manpage displays hw.vtnet_csum_disable default to 0 as a consequence and a CAVEATS section has been added too where this issue is mentionned. This seems to have solved issues about IPv6. The goal of this ticket has been achieved for me.
A new ticket would be a better place to start a discussion about how to improve that situation imo, so closing.