Bug #3089
closed
vtnet(4) - disable TCP checksum offload by default
Added by jlane about 7 years ago.
Updated almost 2 years ago.
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
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.
- Status changed from New to In Progress
- Assignee set to vadaszi
- Related to Bug #3090: VirtIO/vtnet: very poor IPv6 receiving performance (~100x slower) added
- Target version changed from 5.0 to 6.0
- 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>
https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/dddbf4cd54036c88ab90de54668f542d70b771b0?hp=22b7a3dbf6551c308d235ec4c6c793098ee0a61e
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.
Also available in: Atom
PDF