freebsd-dev/sys/contrib
Marcin Wojtas d17b7d87ee Introduce NETMAP support in ENA
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.

Differential Revision: https://reviews.freebsd.org/D21934
Submitted by: Rafal Kozik <rk@semihalf.com>
              Michal Krawczyk <mk@semihalf.com>
Obtained from: Semihalf
Sponsored by:  Amazon, Inc.
2019-10-31 15:51:18 +00:00
..
alpine-hal Update Annapurna Alpine HAL 2016-09-20 09:19:22 +00:00
ck Import CK as of 21d3e319407d19dece16ee317c757ffc54a452bc, which makes its 2018-11-27 12:35:51 +00:00
cloudabi Import the latest CloudABI definitions, v0.18. 2017-11-21 20:46:21 +00:00
dev Add firmware images for Intel 9000-series wifi chips. 2019-10-30 19:36:50 +00:00
edk2 Copy needed include files from EDK2. This is a minimal set gleened 2017-03-08 02:47:59 +00:00
ena-com Introduce NETMAP support in ENA 2019-10-31 15:51:18 +00:00
ipfilter/netinet Widen NET_EPOCH coverage. 2019-10-07 22:40:05 +00:00
libb2 MFV: libb2: use native calls for secure memory clearance 2018-03-27 14:55:01 +00:00
libfdt MFV r328490: Update libfdt to github:f1879e1 2018-01-27 21:25:45 +00:00
libnv The nvlist_report_missing is also used by the cnvlist. 2019-04-11 04:24:41 +00:00
libsodium Bring in libsodium to sys/contrib 2018-08-17 00:23:50 +00:00
ncsw Fix read past end of struct in ncsw glue code. 2019-10-12 23:16:17 +00:00
ngatm
octeon-sdk octeon-sdk: suppress another set of warnings under clang 2019-09-22 18:32:05 +00:00
rdma/krping Notify all sleeping threads of device removal in krping. 2019-10-02 09:03:48 +00:00
v4l
vchiq/interface Change synchonization rules for vm_page reference counting. 2019-09-09 21:32:42 +00:00
x86emu Optimize ROL and ROR emulations and fix comments. 2016-02-18 23:03:37 +00:00
xz-embedded Modularize xz. 2019-02-26 19:55:03 +00:00
zlib MFV r351500: Fix CLEAR_HASH macro to be usable as a single statement. 2019-08-26 00:46:39 +00:00
zstd Stopgap fix for gcc platforms. 2019-08-08 20:09:36 +00:00