public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
* fbnic qemu is open source
@ 2026-03-09 18:38 Jakub Kicinski
  2026-03-17 19:41 ` Mina Almasry
  0 siblings, 1 reply; 4+ messages in thread
From: Jakub Kicinski @ 2026-03-09 18:38 UTC (permalink / raw)
  To: netdev; +Cc: Zinc Lim, almasrymina, willemb

Hi!

The fbnic QEMU repo is now open source and available at:

https://github.com/facebook/fbnic_qemu

It contains the emulated datapath for the fbnic device, the FW
components are not included (PHY programming, NC-SI, init, sensors 
and such). 

The main practical use I imagine is being able to test TCP Rx zero
copy (kernel and/or user space) without any HW dependency.
There's work on adding relevant features to virtio but it's going 
a little slowly. Also being able to test code and selftests with 
a more "real" device than netdevsim with vng is super convenient :)

Big thanks to Zinc Lim for the open source heavy lifting (isolating 
and mocking out the FW parts, cleaning up the code base and getting 
it thru corporate reviews).

No plans at this stage to upstream it to QEMU because TBH I don't
expect that QEMU would care to carry random HW emulation drivers.

Sorry if the announcement is a bit self-serving but folks expressed
interest off list in being able to test the queue API and zero-copy 
Rx without real HW so I thought it's relevant.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: fbnic qemu is open source
  2026-03-09 18:38 fbnic qemu is open source Jakub Kicinski
@ 2026-03-17 19:41 ` Mina Almasry
  2026-03-17 21:34   ` Jakub Kicinski
  0 siblings, 1 reply; 4+ messages in thread
From: Mina Almasry @ 2026-03-17 19:41 UTC (permalink / raw)
  To: Jakub Kicinski; +Cc: netdev, Zinc Lim, willemb

On Mon, Mar 9, 2026 at 11:38 AM Jakub Kicinski <kuba@kernel.org> wrote:
>
> Hi!
>
> The fbnic QEMU repo is now open source and available at:
>
> https://github.com/facebook/fbnic_qemu
>
> It contains the emulated datapath for the fbnic device, the FW
> components are not included (PHY programming, NC-SI, init, sensors
> and such).
>
> The main practical use I imagine is being able to test TCP Rx zero
> copy (kernel and/or user space) without any HW dependency.
> There's work on adding relevant features to virtio but it's going
> a little slowly. Also being able to test code and selftests with
> a more "real" device than netdevsim with vng is super convenient :)
>
> Big thanks to Zinc Lim for the open source heavy lifting (isolating
> and mocking out the FW parts, cleaning up the code base and getting
> it thru corporate reviews).
>
> No plans at this stage to upstream it to QEMU because TBH I don't
> expect that QEMU would care to carry random HW emulation drivers.
>
> Sorry if the announcement is a bit self-serving but folks expressed
> interest off list in being able to test the queue API and zero-copy
> Rx without real HW so I thought it's relevant.

Wow, very cool! (Sorry I missed this announcement initially) I'm a bit
of a noob but I'm a bit surprised a 'real' driver can work no qemu
with a bit of magic.

Is fbnic-on-qemu about as feature-rich as fbnic-on-real-hardware? Do
most of what it can do on real hardware it can do on qemu, or is it
just really zerocopy that fully works?

-- 
Thanks,
Mina

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: fbnic qemu is open source
  2026-03-17 19:41 ` Mina Almasry
@ 2026-03-17 21:34   ` Jakub Kicinski
  2026-03-17 21:42     ` Adam Young
  0 siblings, 1 reply; 4+ messages in thread
From: Jakub Kicinski @ 2026-03-17 21:34 UTC (permalink / raw)
  To: Mina Almasry; +Cc: netdev, Zinc Lim, willemb

On Tue, 17 Mar 2026 12:41:39 -0700 Mina Almasry wrote:
> > No plans at this stage to upstream it to QEMU because TBH I don't
> > expect that QEMU would care to carry random HW emulation drivers.
> >
> > Sorry if the announcement is a bit self-serving but folks expressed
> > interest off list in being able to test the queue API and zero-copy
> > Rx without real HW so I thought it's relevant.  
> 
> Wow, very cool! (Sorry I missed this announcement initially) I'm a bit
> of a noob but I'm a bit surprised a 'real' driver can work no qemu
> with a bit of magic.
> 
> Is fbnic-on-qemu about as feature-rich as fbnic-on-real-hardware? Do
> most of what it can do on real hardware it can do on qemu, or is it
> just really zerocopy that fully works?

We implement the driver and QEMU side by side pre-silicon so the QEMU
should cover what the driver can do. Keep in mind it's a pretty simple
NIC, even "in the flesh".

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: fbnic qemu is open source
  2026-03-17 21:34   ` Jakub Kicinski
@ 2026-03-17 21:42     ` Adam Young
  0 siblings, 0 replies; 4+ messages in thread
From: Adam Young @ 2026-03-17 21:42 UTC (permalink / raw)
  To: Jakub Kicinski, Mina Almasry; +Cc: netdev, Zinc Lim, willemb

I think I see a pattern of this happening.  I wrote a Qemu driver  for 
the MCTP-over-PCC Kernel driver as well.  I wonder if there is a 
right-sized organizational scheme for these kind of drivers?

On 3/17/26 17:34, Jakub Kicinski wrote:
> On Tue, 17 Mar 2026 12:41:39 -0700 Mina Almasry wrote:
>>> No plans at this stage to upstream it to QEMU because TBH I don't
>>> expect that QEMU would care to carry random HW emulation drivers.
>>>
>>> Sorry if the announcement is a bit self-serving but folks expressed
>>> interest off list in being able to test the queue API and zero-copy
>>> Rx without real HW so I thought it's relevant.
>> Wow, very cool! (Sorry I missed this announcement initially) I'm a bit
>> of a noob but I'm a bit surprised a 'real' driver can work no qemu
>> with a bit of magic.
>>
>> Is fbnic-on-qemu about as feature-rich as fbnic-on-real-hardware? Do
>> most of what it can do on real hardware it can do on qemu, or is it
>> just really zerocopy that fully works?
> We implement the driver and QEMU side by side pre-silicon so the QEMU
> should cover what the driver can do. Keep in mind it's a pretty simple
> NIC, even "in the flesh".
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-03-17 21:42 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-09 18:38 fbnic qemu is open source Jakub Kicinski
2026-03-17 19:41 ` Mina Almasry
2026-03-17 21:34   ` Jakub Kicinski
2026-03-17 21:42     ` Adam Young

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox