mirror of
https://github.com/opnsense/src.git
synced 2026-02-19 02:30:08 -05:00
When in netmap (emulated) mode, wireguard interfaces prepend or strip a dummy ethernet header when interfacing with netmap. The netmap application thus sees unencrypted, de-encapsulated frames with a fixed header. In this mode, netmap hooks the if_input and if_transmit routines of the ifnet. Packets from the host TX ring are handled by wg_if_input(), which simply hands them to the netisr layer; packets which would otherwise be tunneled are intercepted in wg_output() and placed in the host RX ring. The "physical" TX ring is processed by wg_transmit(), which behaves identically to wg_output() when netmap is not enabled, and packets appear in the "physical" RX ring by hooking wg_deliver_in(). Reviewed by: vmaffione MFC after: 1 month Sponsored by: Klara, Inc. Sponsored by: Zenarmor Differential Revision: https://reviews.freebsd.org/D43460 (cherry picked from commit bf454ca88bdf4acfa873386e876ff5e772e6a830) |
||
|---|---|---|
| .. | ||
| compat.h | ||
| crypto.h | ||
| if_wg.c | ||
| if_wg.h | ||
| version.h | ||
| wg_cookie.c | ||
| wg_cookie.h | ||
| wg_crypto.c | ||
| wg_noise.c | ||
| wg_noise.h | ||