Page MenuHomeFreeBSD

msvoelker (Timo Völker)
User

Projects

User is not a member of any projects.

User Details

User Since
Jul 13 2025, 2:07 PM (68 w, 5 d)

Recent Activity

Wed, Nov 4

pi renamed msvoelker.
Wed, Nov 4, 11:44 AM

Oct 2 2026

msvoelker added a comment to D51688: bhyve: add checksum offloading for tap.
In D51688#1381752, @cc wrote:
In D51688#1381454, @cc wrote:
In D51688#1381014, @timo.voelker_fh-muenster.de wrote:

The throughput is about 60 Mbit/s higher with transmit checksum offloading (txcsum). That's something. I expect a bigger win with TSO and checksum offloading is a requirement for TSO.

How to enable TSO in the vtnet0 of VM? I can enable TSO in the tap0 of the host. But didn't find out TSO enabled in the VM. And the VM sysctl dev.vtnet.0.txq0 below shows TSO not used in the test traffic.

Oct 2 2026, 6:54 AM

Sep 30 2026

msvoelker added a comment to D51688: bhyve: add checksum offloading for tap.
In D51688#1378630, @cc wrote:

In your test, will this checksum offloading save some CPU cycles. If so, is there any benchmark showing that stats?

Sep 30 2026, 7:28 PM

Aug 24 2026

msvoelker accepted D59142: tcp: minor cleanup.

Looks like code improvements to me. I also don't see a functional change.

Aug 24 2026, 10:49 AM

Aug 22 2026

msvoelker reopened D57299: vtnet: move offload functions to virtio_net.h to share them.
Aug 22 2026, 9:19 AM
msvoelker updated the diff for D57299: vtnet: move offload functions to virtio_net.h to share them.

vtnet defined the receive-side offload functions only if INET or INET6 were defined. While I copied this to virtio_net.h, I missed checking if INET or INET6 was defined when calling one of these functions from tuntap.

Aug 22 2026, 9:18 AM

Aug 20 2026

msvoelker requested review of D59052: vtnet: offer VIRTIO_NET_F_GUEST_CSUM independently of RXCSUM.
Aug 20 2026, 6:31 PM

Aug 11 2026

msvoelker requested review of D58786: epair: allow disabling receive checksum offloading.
Aug 11 2026, 1:35 PM

Aug 10 2026

msvoelker updated the diff for D57299: vtnet: move offload functions to virtio_net.h to share them.

Changes how virtio_net.h does byte conversion. Instead of using virtio_gtoh16, which is unintuitive when called from the host, it uses the new macro VIRTIO_NET_TX_MODERN_LE.

Aug 10 2026, 4:00 PM

Jul 8 2026

msvoelker updated the diff for D57299: vtnet: move offload functions to virtio_net.h to share them.

Rebased the patch on the current FreeBSD main branch.

Jul 8 2026, 9:14 AM

Jul 4 2026

msvoelker added a comment to D57988: tests: fix checksum computation.

I still can't understand :(

It is not the loopback that does checksum validation. It has never validated the checksum.
Before my change (D57518), loopback lied. For each packet, loopback just indicated that it has validated the checksum and that the checksum is correct. In consequence, IP skipped checksum validation.
In general, this kind of lying for a packet received is problematic. If the packet is not for the host and the host sends it out (e.g., due to IP routing), the packet goes on the wire without a valid checksum.

How is it possible that a packet received on loopback would go outside? I can imagine only policy routing by ipfw/pf.

Jul 4 2026, 8:23 AM

Jul 1 2026

msvoelker accepted D57988: tests: fix checksum computation.

After applying this patch, the ip_reass_test tests pass on my system.

Jul 1 2026, 3:52 PM
msvoelker added a comment to D57988: tests: fix checksum computation.

Thanks! Stupid question: how did that happen that after Timo's change the loopback actually does check checksums?

Jul 1 2026, 3:48 PM
msvoelker accepted D57988: tests: fix checksum computation.

It seems this bug shows only after D57518 because, before that change, the loopback interface with IFCAP_RXCSUM enabled just told IP for each packet that the checksum has been checked and is valid. After that change, the loopback interface does not pretend that anymore, and IP validates the checksum.

Jul 1 2026, 7:30 AM

Jun 29 2026

msvoelker requested review of D57945: loopback: use new names for checksum offloading flags.
Jun 29 2026, 2:08 PM

Jun 24 2026

msvoelker added a comment to D55915: pciconf: Add option to write into a BAR region.
In D55915#1324504, @jhb wrote:

Yes, this looks good to me. I'm about to land my style fixes change and can land this one next. Do you have a git commit I can cherry-pick?

Jun 24 2026, 6:55 AM

Jun 23 2026

msvoelker added a comment to D57392: virtio: remove byte conversion function calls in modern pci.

The change itself looks fine but I think the commit message needs rewriting. It is quite verbose on irrelevant details (like how bus_(space_)* foo work under the hood), and talks about data on the PCI bus (which is implementation, not architecture). Also the bug reference should follow the proper format (see tools/tools/git/hooks/prepare-commit-msg). Honestly the commit message would be better if it was entirely replaced with something like:

virtio_pci_modern: Remove endianness conversion for config space

The bus_* functions already handle converting from PCI endianness (i.e.
little-endian) to native endianness when accessing the config space (see
ofw_pcib_bus_get_bus_tag), so converting again with virtio_htogX/virtio_gtohX
undoes any byte-swapping and breaks big-endian systems. They should only be
used for operating on shared memory.

Note part of this reverts commit fb53b42e36a9 ("virtio-modern: fix PCI
common read/write functions on big endian targets").

PR		294706
Fixes:		fb53b42e36a9 ("virtio-modern: fix PCI common read/write functions on big endian targets")
Fixes:		9da9560c4dd3 ("virtio: Add VirtIO PCI modern (V1) support")
MFC after:	1 week
Jun 23 2026, 7:19 AM

Jun 22 2026

msvoelker added inline comments to D55915: pciconf: Add option to write into a BAR region.
Jun 22 2026, 1:55 PM
msvoelker updated the diff for D55915: pciconf: Add option to write into a BAR region.

@jhb's comments addressed.

Jun 22 2026, 1:25 PM
msvoelker added a comment to D56564: offload: Compute and insert checksums as late as possible.

@pouria, thanks for the clarifications. Your inline comments in if_offload.c and if_offload.h disappeared after I renamed them to if_tx_offload.c and if_tx_offload.h. I created new inline comments and quoted your text.

Jun 22 2026, 8:02 AM
msvoelker updated the summary of D56564: offload: Compute and insert checksums as late as possible.
Jun 22 2026, 7:22 AM
msvoelker updated the diff for D56564: offload: Compute and insert checksums as late as possible.

Addresses @pouria's comments.

Jun 22 2026, 7:21 AM

Jun 10 2026

msvoelker requested review of D57518: loopback: checksum offloading.
Jun 10 2026, 7:38 AM

Jun 9 2026

msvoelker planned changes to D54948: bridge: Add checksum offloading.

Plan changed. Instead of computing the checksum in the bridge, do it right before the driver gets the packet: D56564

Jun 9 2026, 7:40 AM

Jun 6 2026

msvoelker added a comment to D56564: offload: Compute and insert checksums as late as possible.

Thanks for your review!

Jun 6 2026, 8:12 AM

Jun 3 2026

msvoelker added a comment to D57392: virtio: remove byte conversion function calls in modern pci.

Neat! So hm what devices are on the virtio pci bus? storage, net, anything else? I'm just trying to imagine the device testing map for this change.

Thanks for chasing this down!

Jun 3 2026, 2:56 PM

Jun 2 2026

msvoelker requested review of D57392: virtio: remove byte conversion function calls in modern pci.
Jun 2 2026, 11:39 AM

May 31 2026

msvoelker updated the diff for D57299: vtnet: move offload functions to virtio_net.h to share them.

Call virtio_net_rx_csum() only if VIRTIO_NET_HDR_F_NEEDS_CSUM or VIRTIO_NET_HDR_F_DATA_VALID is set.

May 31 2026, 6:52 PM

May 30 2026

msvoelker abandoned D51291: tuntap: add IFCAP_TXCSUM and IFCAP_TXCSUM_IPV6.

This patch was needed for D51688, but D51688 has changed and now uses the fact that the capabilities are added when a vnet_hdr_len > 0 is set, which obsoletes this patch.

May 30 2026, 8:38 PM
msvoelker added inline comments to D51688: bhyve: add checksum offloading for tap.
May 30 2026, 1:23 PM
msvoelker updated the diff for D51688: bhyve: add checksum offloading for tap.

Update the vnet_hdr_len in tap_set_cap().

May 30 2026, 1:20 PM

May 28 2026

msvoelker requested review of D57299: vtnet: move offload functions to virtio_net.h to share them.
May 28 2026, 12:21 PM

May 19 2026

msvoelker requested review of D57091: ipfw: fix checksum after NAT.
May 19 2026, 12:55 PM

Apr 26 2026

msvoelker added inline comments to D55915: pciconf: Add option to write into a BAR region.
Apr 26 2026, 10:31 AM
msvoelker updated the diff for D55915: pciconf: Add option to write into a BAR region.

Addresses @bcr's comment.

Apr 26 2026, 10:31 AM
msvoelker added inline comments to D56564: offload: Compute and insert checksums as late as possible.
Apr 26 2026, 10:05 AM
msvoelker added a comment to D56564: offload: Compute and insert checksums as late as possible.

To check the impact of IPv4 header checksum, I ran tests.

Apr 26 2026, 10:00 AM
msvoelker accepted D56623: if_awg: improve transmit checksum offload.

Offloading of IP header and TCP/UDP checksum need to work independently. This solves a bug.

Apr 26 2026, 8:37 AM

Apr 25 2026

msvoelker added inline comments to D56564: offload: Compute and insert checksums as late as possible.
Apr 25 2026, 1:58 PM
msvoelker updated the diff for D56564: offload: Compute and insert checksums as late as possible.

Addresses @kp's comment.

Apr 25 2026, 1:51 PM
msvoelker updated the diff for D56564: offload: Compute and insert checksums as late as possible.

Leave the lines that initialize ip_sum with 0, which some NICs require.

Apr 25 2026, 1:35 PM
msvoelker updated the diff for D55915: pciconf: Add option to write into a BAR region.

Change option syntax from -Bw to -W, add -R, and revise the code.

Apr 25 2026, 8:21 AM

Apr 24 2026

msvoelker added a comment to D56564: offload: Compute and insert checksums as late as possible.

I'd suggest to add links to the discussing about defer calculating the checksum. I believe I saw that before, but I can not find it now.

Apr 24 2026, 9:29 AM
msvoelker updated the summary of D56564: offload: Compute and insert checksums as late as possible.
Apr 24 2026, 9:15 AM

Apr 23 2026

msvoelker added inline comments to D56564: offload: Compute and insert checksums as late as possible.
Apr 23 2026, 10:45 AM
msvoelker updated the diff for D56564: offload: Compute and insert checksums as late as possible.

Addresses @gallatin's comments.

Apr 23 2026, 10:24 AM

Apr 22 2026

msvoelker updated the diff for D56564: offload: Compute and insert checksums as late as possible.

Addresses @gallatin's comment.

Apr 22 2026, 8:19 AM
msvoelker added inline comments to D56564: offload: Compute and insert checksums as late as possible.
Apr 22 2026, 8:17 AM

Apr 21 2026

msvoelker requested review of D56564: offload: Compute and insert checksums as late as possible.
Apr 21 2026, 9:11 PM

Apr 19 2026

msvoelker added a comment to D51289: tuntap: add SIOCGIFCAP and SIOCSIFCAP ioctls.

Since @markj accepted this revision too. I'll commit this one.

Let me double check with Timo. This is part of a series and I am not sure about that state.

Apr 19 2026, 1:55 PM

Mar 22 2026

msvoelker added a comment to D55915: pciconf: Add option to write into a BAR region.
In D55915#1281289, @kib wrote:
In D55915#1281101, @timo.voelker_fh-muenster.de wrote:
In D55915#1280245, @kib wrote:

You only write a single value into the specified offset, right?
This should be clearly explained in the man page addition.
Or consider adding a possibility of writing the series of values starting at the given offset, of the specified width for each value (IMO it is fine as is, but needs to be properly documented).

In my use case, I only had to write a single value. Do you know use cases where a series of values needs to be written to a BAR region?

I tried to make it similar to -w (write to config space). This is the man page part about -w:

The -w option writes the value into a configuration space register at byte offset addr of device selector.

Do you find this more clear?

Yes

Mar 22 2026, 7:56 AM

Mar 21 2026

msvoelker added a comment to D55915: pciconf: Add option to write into a BAR region.
In D55915#1280245, @kib wrote:

You only write a single value into the specified offset, right?
This should be clearly explained in the man page addition.
Or consider adding a possibility of writing the series of values starting at the given offset, of the specified width for each value (IMO it is fine as is, but needs to be properly documented).

Mar 21 2026, 8:21 AM
msvoelker added a comment to D55915: pciconf: Add option to write into a BAR region.
In D55915#1279706, @jhb wrote:

I think rather than trying to overload -B, it would be better to just use a different getopt() letter for this mode. I would suggest using -R for reading from a BAR but keep 'D' as an alias for backwards compatibility, and using -W for writing into a BAR.

Mar 21 2026, 7:53 AM

Mar 18 2026

msvoelker updated the diff for D55915: pciconf: Add option to write into a BAR region.
Mar 18 2026, 1:38 PM
msvoelker requested review of D55915: pciconf: Add option to write into a BAR region.
Mar 18 2026, 1:34 PM

Mar 17 2026

msvoelker added a comment to D55894: virtio: use modern mode for transitional device by default.

Why changing hw.virtio.pci.transitional to 1 by default:

Mar 17 2026, 3:16 PM
msvoelker requested review of D55894: virtio: use modern mode for transitional device by default.
Mar 17 2026, 10:07 AM

Mar 2 2026

msvoelker added inline comments to D54948: bridge: Add checksum offloading.
Mar 2 2026, 3:23 PM
msvoelker added inline comments to D54948: bridge: Add checksum offloading.
Mar 2 2026, 8:29 AM

Mar 1 2026

msvoelker added inline comments to D54948: bridge: Add checksum offloading.
Mar 1 2026, 8:47 PM

Feb 28 2026

msvoelker requested review of D55588: vtnet: remove loader tunable fixup_needs_csum.
Feb 28 2026, 8:49 AM
msvoelker added inline comments to D55533: virtio: add loader tunables to sysctl.
Feb 28 2026, 8:11 AM
msvoelker updated the diff for D55533: virtio: add loader tunables to sysctl.

Addressed comments from @tuexen and @ziaee.

Feb 28 2026, 8:04 AM
msvoelker added a comment to D55534: arm64/pmap: Modify condition of valid_memattr that cannot be true.

Does this patch solve any problem?

Feb 28 2026, 7:31 AM

Feb 26 2026

msvoelker requested review of D55534: arm64/pmap: Modify condition of valid_memattr that cannot be true.
Feb 26 2026, 4:07 PM
msvoelker requested review of D55533: virtio: add loader tunables to sysctl.
Feb 26 2026, 3:15 PM

Feb 22 2026

msvoelker accepted D55415: tcp: cleanup.

Looks good to me. It improves readability, in my opinion. Also, it eliminates unnecessary m_freem calls with a null pointer.

Feb 22 2026, 11:04 AM
msvoelker added a comment to D55410: tcp: improve validation of received TCP over UDP packets.

I agree on @pouria's comment.

Feb 22 2026, 10:53 AM

Feb 19 2026

msvoelker added a comment to D55367: icmp6: Remove csum_flags on mbuf reused for ICMP message.

Solves this bug:

Feb 19 2026, 12:16 PM
msvoelker requested review of D55367: icmp6: Remove csum_flags on mbuf reused for ICMP message.
Feb 19 2026, 12:15 PM

Feb 10 2026

msvoelker accepted D55188: ure: improve receive checksum offloading.
Feb 10 2026, 7:53 AM

Feb 9 2026

msvoelker added inline comments to D55188: ure: improve receive checksum offloading.
Feb 9 2026, 1:36 PM

Feb 3 2026

msvoelker updated the diff for D54948: bridge: Add checksum offloading.

Allow enabling/disabling the new capabilities: IFCAP_TXCSUM, IFCAP_TXCSUM_IPV6, and IFCAP_VLAN_HWCSUM.

Feb 3 2026, 2:43 PM
msvoelker updated the diff for D55055: ifinfo: Print names of CSUM bits.

Use CSUM_BITS string defined in sys/mbuf.h for output.

Feb 3 2026, 1:56 PM
msvoelker added inline comments to D55055: ifinfo: Print names of CSUM bits.
Feb 3 2026, 9:29 AM

Feb 2 2026

msvoelker requested review of D55055: ifinfo: Print names of CSUM bits.
Feb 2 2026, 4:49 PM

Feb 1 2026

msvoelker added a comment to D52465: epair: add VLAN_HWTAGGING.

Please bear in mind that the above change, as well as "epair: add support for checksum offloading" (https://reviews.freebsd.org/D51639) are incompatible with netmap(4). If the epair(4) interface is used in netmap mode, communication is broken. It never happens on physical interfaces with netmap support, like for example ix(4) where these NIC capabilities don't need to be disabled.

Feb 1 2026, 8:56 AM

Jan 31 2026

msvoelker added a comment to D54948: bridge: Add checksum offloading.
Jan 31 2026, 9:32 AM
msvoelker updated the diff for D54948: bridge: Add checksum offloading.

Addressed @tuxen's style comments.

Jan 31 2026, 9:27 AM
msvoelker accepted D54974: ure: improve checksum offloading.

Without this patch, transmit checksum offloading for TCP/IPv6 and UDP/IPv6 is never used and transmit checksum offloading for IPv4, TCP/IPv4 and UDP/IPv4 is always used, even if disabled via ifconfig ue? -txcsum.

Jan 31 2026, 9:01 AM

Jan 29 2026

msvoelker requested review of D54948: bridge: Add checksum offloading.
Jan 29 2026, 8:40 PM
msvoelker accepted D54893: dpaa2: add support for some interface counter.

I see the code of this driver the first time, but incrementing IFCOUNTER_OERRORS everywhere where tx_dropped is incremented makes sense. The positions of the lines where the other IFCOUNTER_* counters are incremented seems correct to me as well.

Jan 29 2026, 8:47 AM

Jan 22 2026

msvoelker accepted D54809: dpnaa2: announce transmit checksum support.

Based on Dmitry's explanation

Jan 22 2026, 3:28 PM
msvoelker added a comment to D54805: dpaa2: cleanup.

Seems to improve the code. Less lines and it looks less complex. This changes the functionality only if IFCAP_RXCSUM and IFCAP_RXCSUM_IPV6 or IFCAP_TXCSUM and IFCAP_TXCSUM_IPV6 get out of sync but, in my understanding of the code, this cannot happen.

Jan 22 2026, 10:25 AM

Jan 20 2026

msvoelker accepted D54788: dwc: cleanup.

Looks good to me. I see no functional change but less lines of code and a more consistent way to change capenable and hwassist.

Jan 20 2026, 8:22 AM

Jan 17 2026

msvoelker accepted D54756: dwc: add receive checksum offload for IPv6.

Looks good to me.

Jan 17 2026, 1:54 PM
msvoelker accepted D54754: dwc: add transmit checksum offload for IPv6.

Looks good. It makes sense to add TXCSUM_IPV6 since the interface supports it.

Jan 17 2026, 1:41 PM

Jan 12 2026

msvoelker added inline comments to D54455: ip: improve deferred computation of checksums.
Jan 12 2026, 9:05 AM

Jan 10 2026

msvoelker updated the diff for D54455: ip: improve deferred computation of checksums.

To address @tuexen's and @p.mousavizadeh_protonmail.com's comments, I restrict the code changes in this review to the changes required to process incoming packets with IP checksum offloading and leave code improvements for another review.

Jan 10 2026, 1:40 PM

Jan 8 2026

msvoelker accepted D54486: bge: disable TXCSUM if UDP transmit checksum offloading is disabled.

The question is, what means TXCSUM?

Jan 8 2026, 3:18 PM

Jan 2 2026

msvoelker added inline comments to D54455: ip: improve deferred computation of checksums.
Jan 2 2026, 10:12 PM
msvoelker requested review of D54455: ip: improve deferred computation of checksums.
Jan 2 2026, 2:34 PM
msvoelker accepted D54394: ipv6: account for jumbo payload option.

I agree @markj. It is not easy to understand the code. However, before this patch, without any other options, optlen is 0 and, thus, the jumbo option will never be added.

Jan 2 2026, 9:36 AM
msvoelker accepted D54395: dwc: improve checksum offloading.
Jan 2 2026, 9:19 AM
msvoelker added a comment to D54395: dwc: improve checksum offloading.

The different checksum offloading features should work independently.

Jan 2 2026, 9:19 AM

Dec 19 2025

msvoelker accepted D54286: printf.9: Support more than 32 bits in %b.
Dec 19 2025, 3:51 PM
msvoelker accepted D54288: vtnet: expose features via sysctl tree.
Dec 19 2025, 3:43 PM

Dec 18 2025

msvoelker accepted D54283: vtnet: expose flags via sysctl tree.
Dec 18 2025, 1:57 PM
msvoelker updated the summary of D54269: netinet: fix checksum calculation bug.
Dec 18 2025, 12:10 PM
msvoelker updated the diff for D54269: netinet: fix checksum calculation bug.

Use the same semantic for cklen as in the UDP case.

Dec 18 2025, 11:10 AM