OPNsense - FreeBSD source
Find a file
Timo Völker 57f383bbc6 epair: add support for checksum offloading
Add capabilities RXCSUM and RXCSUM6 as well as TXCSUM and TXCSUM6 for
for receive and transmit checksum offloading for TCP and UDP to the
epair interface and enable them by default.
RXCSUM and RXCSUM6 are enabled because an epair interface may receive
a packet with the csum_flag CSUM_DATA_VALID set, which is expected
only if these capabilities are enabled. Since it seems not helpful to
remove this flag, it is not possible to disable these capabilities.
TXCSUM and TXCSUM6 are synchronized between the two epair interface
ends. If enabled/disabled on one end, it will be enabled/disabled on
the other end. If the sending epair interface end has TXCSUM or TXCSUM6
enabled and the receiving end is in a bridge, it is assumed that all
interfaces in the bridge have that capability enabled. Otherwise the
bridge would have disabled that capability on the receiving epair
interface end in the bridge which would have disabled that capability
on the sending epair interface end as well due to the synchronization.

Reviewed by:		bcr, Seyed Pouria Mousavizadeh Tehrani
Differential Revision:	https://reviews.freebsd.org/D51639

(cherry picked from commit e4ea162509e400340a2bc3e755071a92f3465e2d)
2025-10-07 12:15:01 +02:00
.cirrus-ci Cirrus-CI: add some timing info on pkg install failure 2021-08-04 15:02:00 -04:00
.github/ISSUE_TEMPLATE github: sync our issue template and remove FreeBSD stuff 2025-07-09 10:05:47 +02:00
bin date: Include old and new time in audit log (#221) 2025-07-09 10:05:47 +02:00
cddl libdtrace: Fix an off-by-one in CPU ID handling 2025-04-02 15:14:37 +00:00
contrib kyua: Improve required_kmods metadata 2025-10-07 12:08:43 +02:00
crypto Fix multiple security issues in OpenSSL. 2025-10-06 16:54:53 +02:00
etc tee: add some basic tests 2025-04-25 22:19:48 -05:00
gnu Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:55:03 -06:00
include Add POSIX psiginfo(3) call 2025-04-24 03:27:57 +03:00
kerberos5 kerberos5: Mitigate the possibility of using an old libcrypto 2024-01-22 07:49:05 -08:00
lib atf, kyua: Implement require.kmods. 2025-10-07 12:08:43 +02:00
libexec atf, kyua: Implement require.kmods. 2025-10-07 12:08:43 +02:00
release 14.3: Switch from "quarterly" to "release" pkgs 2025-05-29 15:18:34 -07:00
rescue zfs: merge openzfs/zfs@32949f256 (zfs-2.2-release) into stable/14 2023-09-03 09:15:24 +02:00
sbin ipfw: Add tests for the NPTv6 rule parser 2025-10-07 12:08:43 +02:00
secure openssh: Request the OpenSSL 1.1 API 2025-04-03 04:33:21 +00:00
share epair: add support for checksum offloading 2025-10-07 12:15:01 +02:00
stand Add a new sysctl in order to diffrentiate UEFI architectures 2025-08-08 11:49:17 +02:00
sys epair: add support for checksum offloading 2025-10-07 12:15:01 +02:00
targets rtlbtfw: Firmware loader for Realtek 87XX/88XX bluetooth USB adaptors 2024-12-22 06:34:35 +03:00
tests atf, kyua: Implement require.kmods. 2025-10-07 12:08:43 +02:00
tools stress2: exlock2.sh: Fix impact of previous '-U' removal 2025-05-13 14:41:33 +02:00
usr.bin kyua: Improve required_kmods metadata 2025-10-07 12:08:43 +02:00
usr.sbin bsdinstall: Drop outdated comments about ZFS dataset compression 2025-10-06 17:02:32 +02:00
.arcconfig arcanist: use FreeBSD/git project repository instead of FreeBSD/svn 2022-08-23 14:16:41 +00:00
.arclint arc lint: ignore /tests/ in chmod 2017-12-19 03:38:06 +00:00
.cirrus.yml .cirrus-ci: Update the non-manual GCC build job to GCC 14 2025-04-29 16:43:03 -04:00
.clang-format clang-format: Minor tweaks 2024-05-20 09:42:32 -04:00
.git-blame-ignore-revs .git-blame-ignore-revs: queue(3): Single space after all #define 2025-05-01 21:48:36 +02:00
.gitattributes Add a basic clang-format configuration file 2019-06-07 15:23:52 +00:00
.gitignore Packaging: Auto-generate changelog during configure (#15528) 2023-11-16 14:23:03 -08:00
CONTRIBUTING.md CONTRIBUTING.md: fix typo from commmit to commit 2024-03-22 09:30:30 -04:00
COPYRIGHT Happy New Year 2023! 2023-01-01 13:44:43 +08:00
LOCKS Remove $FreeBSD$: one-line bare tag 2023-08-16 11:55:20 -06:00
MAINTAINERS Remove $FreeBSD$: one-line bare tag 2023-08-16 11:55:20 -06:00
Makefile universe: Update the default GCC toolchain to GCC 14 2025-04-29 16:43:10 -04:00
Makefile.inc1 Fix build with WITH_CLANG_BOOTSTRAP and WITHOUT_CLANG 2025-04-23 21:36:00 +02:00
Makefile.libcompat build{libcompat}: Pass UNIVERSE_TOOLCHAIN_PATH to the _lc_build-tools submake 2023-08-21 21:00:45 -07:00
Makefile.sys.inc Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:55:03 -06:00
ObsoleteFiles.inc zoneinfo: don't install version 2025-05-24 11:33:02 +06:00
README.md FreeBSD: remove support for FreeBSD < 13.0-RELEASE (#16372) 2024-11-15 10:15:00 -08:00
RELNOTES RELNOTES: ps(1): Document change in behavior for '-a'/'-A' 2025-05-13 14:41:26 +02:00
UPDATING Add UPDATING entries and bump version. 2025-10-06 16:54:54 +02:00

FreeBSD Source:

This is the top level of the FreeBSD source directory.

FreeBSD is an operating system used to power modern servers, desktops, and embedded platforms. A large community has continually developed it for more than thirty years. Its advanced networking, security, and storage features have made FreeBSD the platform of choice for many of the busiest web sites and most pervasive embedded networking and storage devices.

For copyright information, please see the file COPYRIGHT in this directory. Additional copyright information also exists for some sources in this tree - please see the specific source directories for more information.

The Makefile in this directory supports a number of targets for building components (or all) of the FreeBSD source tree. See build(7), config(8), FreeBSD handbook on building userland, and Handbook for kernels for more information, including setting make(1) variables.

For information on the CPU architectures and platforms supported by FreeBSD, see the FreeBSD website's Platforms page.

Source Roadmap:

Directory Description
bin System/user commands.
cddl Various commands and libraries under the Common Development and Distribution License.
contrib Packages contributed by 3rd parties.
crypto Cryptography stuff (see crypto/README).
etc Template files for /etc.
gnu Commands and libraries under the GNU General Public License (GPL) or Lesser General Public License (LGPL). Please see gnu/COPYING and gnu/COPYING.LIB for more information.
include System include files.
kerberos5 Kerberos5 (Heimdal) package.
lib System libraries.
libexec System daemons.
release Release building Makefile & associated tools.
rescue Build system for statically linked /rescue utilities.
sbin System commands.
secure Cryptographic libraries and commands.
share Shared resources.
stand Boot loader sources.
sys Kernel sources (see sys/README.md).
targets Support for experimental DIRDEPS_BUILD
tests Regression tests which can be run by Kyua. See tests/README for additional information.
tools Utilities for regression testing and miscellaneous tasks.
usr.bin User commands.
usr.sbin System administration commands.

For information on synchronizing your source tree with one or more of the FreeBSD Project's development branches, please see FreeBSD Handbook.