Bug #3089
closedvtnet(4) - disable TCP checksum offload by default
Description
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:
166c166
< static int vtnet_csum_disable = 0;
---
static int vtnet_csum_disable = 1; //broken for IPv6, disable by default
Updated by vadaszi about 7 years ago
I cherry-picked 849f77c77acc4d5041fa638b364cb6a296a8051b (from a few days ago, which is also just disabling checksum offload) from git master to the DragonFly_RELEASE_5_0 branch.
Updated by vadaszi about 7 years ago
- Status changed from New to In Progress
- Assignee set to vadaszi
Updated by liweitianux about 7 years ago
- Related to Bug #3090: VirtIO/vtnet: very poor IPv6 receiving performance (~100x slower) added
Updated by daftaupe almost 2 years ago
- Status changed from In Progress to Closed
% uname -a
DragonFly dfly 6.5-DEVELOPMENT DragonFly v6.5.0.2.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.