Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 Sep 2025 23:44:16 +0200
From:      Michael Tuexen <michael.tuexen@lurchi.franken.de>
To:        John Nielsen <lists@jnielsen.net>
Cc:        net@freebsd.org, virtualization@freebsd.org, np@freebsd.org
Subject:   Re: Chelsio (cxgbe) VF on FreeBSD guest under KVM requires -rxcsum
Message-ID:  <FA555678-F299-43BB-BF65-5A429CDF495E@lurchi.franken.de>
In-Reply-To: <B648CE12-8D42-4978-A50B-DE5E7F39A512@jnielsen.net>
References:  <CF7D677F-2D3A-41B5-A3F1-0FCA844D206F@lurchi.franken.de> <B648CE12-8D42-4978-A50B-DE5E7F39A512@jnielsen.net>

next in thread | previous in thread | raw e-mail | index | archive | help
> On 26. Sep 2025, at 20:52, John Nielsen <lists@jnielsen.net> wrote:
>=20
>> On Sep 26, 2025, at 1:46=E2=80=AFAM, Michael Tuexen =
<michael.tuexen@lurchi.franken.de> wrote:
>> =EF=BB=BF
>>>=20
>>> On 26. Sep 2025, at 02:58, John Nielsen <lists@jnielsen.net> wrote:
>>>=20
>>> Not sure if this is a known issue or even an issue on the FreeBSD =
side but decided to ask here first. I=E2=80=99m happy to put in a bug =
report if appropriate.
>>>=20
>>> I have a hypervisor machine running Arch Linux with KVM, Qemu and =
libvirtd. The machine has a Chelsio T520-CR adapter. I recently began =
passing through virtual functions of the NIC to several of the guests I =
run on the hypervisor. One of the guests runs Windows 11, and the change =
was seamless. Two of the guests are running FreeBSD (14.3 or so). On =
each of them the VFs were readily identified and configured (using DHCP =
in one case), and ping and ARP appeared to work fine. However, TCP and =
UDP traffic to the guests never received a response. After some =
head-scratching and troubleshooting I discovered that running =
=E2=80=9Cifconfig cxlv0 -rxcsum=E2=80=9D immediately allowed traffic to =
flow as expected.
>>=20
>> I don't have access to such a network card. Just to be clear: you are =
running the =E2=80=9Cifconfig cxlv0 -rxcsum=E2=80=9D command inside the =
guest running FreeBSD, right?
>=20
> Yes.
>=20
>> What is the peer, when you mention TCP and UDP do not work? Is it the =
host running Linux? Is it another VM? Is it some external host?
>=20
> My laptop on the same subnet primarily, but. Also tested from another =
physical machine running FreeBSD.
OK. That does not seem to be related to what I initially thought.

Could you run
tcpdump -i outgoing_interface -w laptop.pcap
on your laptop and
tcpdump -i cxlv0 -w vm.pcap
on your vm at the same time and try to do some TCP based communication.
Maybe two times, one time with ifconfig cxlv0 rxcsum and one time with =
ifconfig cxlv0 -rxcsum.

If you are fine with doing the measurements, you can send the .pcap =
files
to tuexen@freebsd.org <mailto:tuexen@freebsd.org>.

At least I would like to understand what is going on.

Best regards
Michael
>=20
>>> As workarounds go that isn=E2=80=99t terrible, but I was surprised =
that the FreeBSD guests required this adjustment while the Windows one =
did not.
>>>=20
>>> As a point of reference I have another hypervisor machine that runs =
FreeBSD 14-STABLE. It also has a
>> So the host runs FreeBSD and you use bhyve to run some VM?
>=20
> Yes
>=20
>>> Chelsio T520-CR adapter. FreeBSD guests on that machine do not =
require =E2=80=9C-rxcsum=E2=80=9D in order to use the Chelsio virtual =
functions.
>> The guests run FreeBSD-STABLE or Freebsd 14.3?
>> What is the peer, when you mention TCP and UDP do not work? Is it the =
host running Linux? Is it another VM? Is it some external host?
>=20
> FreeBSD 14-STABLE circa 14.3
>=20
> Multiple off-box same-subnet peers in this scenario as well including =
my laptop.
>=20
> I=E2=80=99m aware that VF-to-PF communication is a special case.
>=20
> JN




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?FA555678-F299-43BB-BF65-5A429CDF495E>