[Bug 276760] vtnet driver incorrectly calculates checksums

From: <bugzilla-noreply_at_freebsd.org>
Date: Thu, 16 Oct 2025 16:19:49 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276760

--- Comment #30 from vova@fbsd.ru ---
(In reply to Michael Tuexen from comment #29)

hm ... good question, I've created a new VM and did series of tests:

CPX22 (2 vCPU 4GB RAM, old CX11 is not available any more)

IPv4, Nuremberg

just install 14.3, upgrade to 14.3p4 (with freebsd-update), install
speedtest-go package, copy stable/14-087fc6ae0a8c kernel build outside as
alternative

summarized results:

FreeBSD Offloading      Try     Download  Upload
                                Mbps      Mbps

14.3p4          yes     1        1,413   736 
14.3p4          yes     2        1,348   833 
14.3p4          yes     3        1,377   901 
14.3p4          yes     4        1,357   737 
14.3p4          yes     5        1,352   571 
14.3p4          yes     6        1,247   776 
14.3p4          yes     avg      1,349   759 
                        CV%     4.11%   14.71%

14.3p4          no      1        1,574   681 
14.3p4          no      2        1,598   702 
14.3p4          no      3        1,237   602 
14.3p4          no      4        1,537   778 
14.3p4          no      5        1,541   745 
14.3p4          no      6        1,568   623 
14.3p4          no      avg      1,509   688 
                        CV%     8.96%   9.90%

14-087fc6ae0a8c yes     1        1,210   675 
14-087fc6ae0a8c yes     2        1,332   707 
14-087fc6ae0a8c yes     3        1,684   703 
14-087fc6ae0a8c yes     4        1,320   460 
14-087fc6ae0a8c yes     5        1,333   694 
14-087fc6ae0a8c yes     6        1,279   825 
14-087fc6ae0a8c yes     avg      1,360   677 
                        CV%     12.18%  17.58%

14-087fc6ae0a8c no      1        1,466   807 
14-087fc6ae0a8c no      2        1,213   751 
14-087fc6ae0a8c no      3        1,527   678 
14-087fc6ae0a8c no      4        1,825   1,037 
14-087fc6ae0a8c no      5        1,185   1,064 
14-087fc6ae0a8c no      6        1,230   1,086 
14-087fc6ae0a8c no      avg      1,408   904 
                        CV%     17.71%  19.81%

What is seen:
1. diviations/variations is quite high, so, clearely does not worth to trust
data after one measurement (my bad)

2. still incomparable with yours 260 Mbps (both up and down) - we masure
something different?

3. turning off TSOs add ~10-12% of download consistently, but for upload ->
sometimes improves, sometimes not
(ifconfig vtnet0 -tso4 -tso6 -lro -rxcsum)

4. and these results still did not match what I have in my production VM 
(will re-test with multiple measurements)

# sysctl dev.vtnet.0
dev.vtnet.0.txq0.rescheduled: 0
dev.vtnet.0.txq0.tso: 1388393
dev.vtnet.0.txq0.csum: 20810001
dev.vtnet.0.txq0.omcasts: 0
dev.vtnet.0.txq0.obytes: 18916415358
dev.vtnet.0.txq0.opackets: 20810007
dev.vtnet.0.rxq0.rescheduled: 0
dev.vtnet.0.rxq0.host_lro: 216036
dev.vtnet.0.rxq0.csum_failed: 0
dev.vtnet.0.rxq0.csum: 17119906
dev.vtnet.0.rxq0.ierrors: 0
dev.vtnet.0.rxq0.iqdrops: 0
dev.vtnet.0.rxq0.ibytes: 36642213337
dev.vtnet.0.rxq0.ipackets: 24902539
dev.vtnet.0.tx_task_rescheduled: 0
dev.vtnet.0.tx_tso_offloaded: 0
dev.vtnet.0.tx_csum_offloaded: 0
dev.vtnet.0.tx_defrag_failed: 0
dev.vtnet.0.tx_defragged: 0
dev.vtnet.0.tx_tso_without_csum: 0
dev.vtnet.0.tx_tso_not_tcp: 0
dev.vtnet.0.tx_csum_proto_mismatch: 0
dev.vtnet.0.tx_csum_unknown_ethtype: 0
dev.vtnet.0.rx_task_rescheduled: 0
dev.vtnet.0.rx_csum_offloaded: 0
dev.vtnet.0.rx_csum_failed: 0
dev.vtnet.0.rx_csum_bad_proto: 0
dev.vtnet.0.rx_csum_bad_offset: 0
dev.vtnet.0.rx_csum_bad_ipproto: 0
dev.vtnet.0.rx_csum_bad_ethtype: 0
dev.vtnet.0.rx_mergeable_failed: 0
dev.vtnet.0.rx_enq_replacement_failed: 0
dev.vtnet.0.rx_frame_too_large: 0
dev.vtnet.0.mbuf_alloc_failed: 0
dev.vtnet.0.act_vq_pairs: 1
dev.vtnet.0.req_vq_pairs: 1
dev.vtnet.0.max_vq_pairs: 1
dev.vtnet.0.%iommu:
dev.vtnet.0.%parent: virtio_pci1
dev.vtnet.0.%pnpinfo: vendor=0x00001af4 device=0x1041 subvendor=0x1af4
device_type=0x00000001
dev.vtnet.0.%location:
dev.vtnet.0.%driver: vtnet
dev.vtnet.0.%desc: VirtIO Networking Adapter

# sysctl hw.vtnet
hw.vtnet.lro_mbufq_depth: 0
hw.vtnet.lro_entry_count: 128
hw.vtnet.rx_process_limit: 1024
hw.vtnet.tso_maxlen: 65535
hw.vtnet.mq_max_pairs: 32
hw.vtnet.mq_disable: 0
hw.vtnet.lro_disable: 1
hw.vtnet.tso_disable: 0
hw.vtnet.fixup_needs_csum: 0
hw.vtnet.csum_disable: 0

-- 
You are receiving this mail because:
You are on the CC list for the bug.