Page MenuHomeFreeBSD

Mock implementation of NETMAP support in ENA
ClosedPublic

Authored by mk_semihalf.com on Oct 8 2019, 8:20 AM.
Referenced Files
Unknown Object (File)
Thu, Mar 7, 8:41 PM
Unknown Object (File)
Feb 22 2024, 4:29 PM
Unknown Object (File)
Feb 18 2024, 3:40 AM
Unknown Object (File)
Feb 11 2024, 3:40 PM
Unknown Object (File)
Feb 7 2024, 4:43 AM
Unknown Object (File)
Jan 16 2024, 3:09 AM
Unknown Object (File)
Dec 24 2023, 3:02 PM
Unknown Object (File)
Dec 20 2023, 1:26 AM

Details

Summary

Mock implementation of NETMAP routines is located in ena_netmap.c/.h
files. All code is protected under the DEV_NETMAP macro. Makefile was
updated with files and flag.

As ENA driver provide own implementations of (un)likely it must be
undefined before including NETMAP headers.

ena_netmap_attach function is called on the end of NIC attach. It fills
structure with NIC configuration and callbacks. Then provides it to
netmap_attach. Similarly netmap_detach is called during ena_detach.

Three callbacks are used.
nm_register is implemented by ena_netmap_reg. It is called when user
space application open or close NIC in NETMAP mode. Current action is
recognized based on onoff parameter: true means on and false off. As
NICs rings need to be reconfigured ena_down and ena_up are reused.
When user space application wants to receive new packets from NIC
nm_rxsync is called, and when there are new packets ready for Tx
nm_txsync is called.

Submitted by: Rafal Kozik <rk@semihalf.com>

Michal Krawczyk <mk@semihalf.com>

Obtained from: Semihalf
Sponsored by: Amazon, Inc.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

Adding netmap module dependency in this patch (it was added in the previous one by accident)

This revision was not accepted when it landed; it landed in state Needs Review.Oct 31 2019, 3:51 PM
Closed by commit rS354221: Introduce NETMAP support in ENA (authored by mw). · Explain Why
This revision was automatically updated to reflect the committed changes.