User Details
- User Since
- Jul 13 2025, 2:07 PM (14 w, 2 d)
Tue, Sep 30
I did some tests to understand the consequence of disabling "hardware LRO".
Sun, Sep 28
Right, I remember disabling txcsum, which didn't take affect, because hwassist wasn't updated. The patch seems to solve this issue. Thanks!
Fri, Sep 26
Removing the ifdefs and allow receive checksum offloading for IPv6 is a good thing. Also, enabling/disabling receive checksum pairwise for IPv4 and IPv6 make sense for VirtIO.
Thu, Sep 25
Sep 16 2025
Addressed comment from @tuexen
The suggested changes in the summary make sense to me and the changes in sys/conf/files seem to correctly correspond to them. Looks all good to me. However, I haven't touched this file and don't know enough to review it.
Sep 15 2025
Sep 10 2025
Sep 9 2025
Sep 8 2025
Sep 3 2025
I rebased my changes on the current state of FreeBSD head and addressed the comments from @tuexen.
Sep 2 2025
Addressing comments from a chat with @tuexen.
Sep 1 2025
For SIOCSIFCAP, check if requested capabilities are supported before enabling them.
Aug 28 2025
Addressing @tuexen's comment by adding a sentence in the man page that explains the sync of TXCSUM and TXCSUM6.
I tested this patch with D51686 applied by looking at the csum counters per queue and the general rx_csum_offloaded counter with sysctl dev.vtnet. With nc, I sent TCP packets from a Linux host to a FreeBSD VM that uses virtio with multiple queues.
Aug 27 2025
To focus on the guest-side in this review, I removed the tuntap related code and extended the vtnet code instead.
Addressing comments from @bcr
My only concern now is the need for the LOCK mechanism itself.
Addressing comments
Aug 20 2025
Why not adding these includes in virtio_net.h?
Aug 19 2025
Aug 10 2025
Removed the changes that are in review D51289.
Aug 2 2025
Addressed @kevans's comment regarding using a lock for SIOCGIFCAP.
virtio_net_rx_csum_by_offset now returns (1) in case INET and INET6 are not defined (as suggested by @tuexen)
Aug 1 2025
Changed type of variable isipv6 from int to bool.
I worked on a similar problem. I somehow found this related review afterwards. My code changes are in review D51688.
No functional changes. Just modified comments and code style.
Jul 31 2025
For SIOCSIFCAP, ifr->ifr_reqcap is assigned directly to ifp->if_capenable instead of masking it with if_capabilities. The man page of ifnet told me that the masking is done earlier in the ioctl call chain.
My general concern here is that we could put ourselves into a weird position if we start disabling capabilities that we'd expect if tun_vhdrlen != 0 and that it'd be better to force TAPSVNETHDR to disable it instead
Currently, I don't need SIOCSIFCAP. I can just remove the code if that resolves concerns.
I think I'm OK either way- you're preserving an existing problem at most, and it's not even a major problem.
Jul 30 2025
Thanks for your review @markj
Thanks for your review @kevans
- No code changes.
- Removed epair code and documentation (will be added with a separate commit)
- Addressed @tuexen comments on documentation in mbuf man page and mbuf.h.
Jul 29 2025
Did a rebase after the change of the mbuf man page via D51590.
The description from sysctl -d is probably correct. Making the man page more complete is a good thing.
Jul 28 2025
It improves the documentation because it describes more of what is implemented.
Addressing comments from @tuexen I got from a chat. I touched only the code I added before.
Jul 26 2025
- Removed the tap changes to focus this revision more on the handling of incoming packets with checksum offloading flags.
- Added code to handle SCTP packets.
- Added documentation in mbuf man page and mbuf.h.
- Extended changes in epair to be able to get and set interface capabilities.
Jul 23 2025
Jul 16 2025
Jul 15 2025
Addresses @ivy's comment.