FreeBSD src
Go to file
Konrad Sewiłło-Jopek c9a5c48ae8 arp: Implement sticky ARP mode for interfaces.
Provide sticky ARP flag for network interface which marks it as the
"sticky" one similarly to what we have for bridges. Once interface is
marked sticky, any address resolved using the ARP will be saved as a
static one in the ARP table. Such functionality may be used to prevent
ARP spoofing or to decrease latencies in Ethernet networks.

The drawbacks include potential limitations in usage of ARP-based
load-balancers and high-availability solutions such as carp(4).

The implemented option is disabled by default, therefore should not
impact the default behaviour of the networking stack.

Sponsored by:		Conclusive Engineering sp. z o.o.
Reviewed By:		melifaro, pauamma_gundo.com
Differential Revision: https://reviews.freebsd.org/D35314
MFC after:		2 weeks
2022-05-27 12:41:30 +00:00
.cirrus-ci Cirrus-CI: add some timing info on pkg install failure 2021-08-04 15:02:00 -04:00
.github Vendor import of OpenSSH 9.0p1 2022-04-08 13:19:17 -04:00
bin sleep.1: Fix mdoc style 2022-05-25 10:11:33 +02:00
cddl zfs: merge openzfs/zfs@c0cf6ed67 2022-05-19 00:55:59 +02:00
contrib irdma: Add RDMA driver for Intel(R) Ethernet Controller E810 2022-05-23 16:52:49 -07:00
crypto ssh: update sshd_config for prohibit-password option 2022-05-12 11:16:09 -04:00
etc Merge llvm-project release/14.x llvmorg-14.0.3-0-g1f9140064dfb 2022-05-14 13:46:42 +02:00
gnu libdialog: Bump shared library version to 10. 2021-10-27 09:30:24 -07:00
include libzfs: constify zfs_strip_partition(), zfs_strip_path() 2022-05-16 15:56:53 -07:00
kerberos5 pkgbase: Create a FreeBSD-kerberos package 2021-09-07 10:23:14 +02:00
lib libpmc: Another update of x86 event definitions. 2022-05-26 22:07:42 -04:00
libexec libexec/rc.d/hostapd: Down/up interface when interface is specified 2022-04-22 09:15:49 -07:00
release release: Use full window size for installer over serial lines 2022-05-05 19:07:54 +01:00
rescue Fix conflict between libnvpair and libnv when building rescue binaries. 2022-05-24 23:59:33 +03:00
sbin arp: Implement sticky ARP mode for interfaces. 2022-05-27 12:41:30 +00:00
secure OpenSSL: Merge OpenSSL 1.1.1o 2022-05-03 15:12:42 -04:00
share syscons: note incompatibility with UEFI 2022-05-25 20:25:41 -04:00
stand Set mm before passing it to the UEFI firmware 2022-05-21 11:45:41 +01:00
sys arp: Implement sticky ARP mode for interfaces. 2022-05-27 12:41:30 +00:00
targets bintrans: move files to a new directory 2022-04-18 10:53:11 +02:00
tests tests/unix_passfd: sending many and too many SCM_RIGHTS 2022-05-25 13:28:40 -07:00
tools Remove referenes to net.inet.tcp.local_slowstart_flightsize 2022-05-24 16:04:57 +02:00
usr.bin diff3: Add help and version options 2022-05-25 14:53:06 +01:00
usr.sbin etcupdate: Preserve permissions when installing a resolved file. 2022-05-25 14:20:40 -07:00
.arcconfig Remove history.immutable from .arcconfig 2021-04-13 12:36:25 +01:00
.arclint arc lint: ignore /tests/ in chmod 2017-12-19 03:38:06 +00:00
.cirrus.yml Cirrus-CI: Switch to llvm14 toolchain package 2022-05-24 16:58:20 -04:00
.clang-format clang-format: Add bitset loop macros 2021-09-21 12:08:01 -04:00
.gitattributes Add a basic clang-format configuration file 2019-06-07 15:23:52 +00:00
.gitignore .gitignore: Restore inadvertently deleted file 2022-01-18 08:00:42 -08:00
COPYRIGHT Welcome 2022, update copyrights. 2022-01-01 09:49:49 -07:00
LOCKS LOCKS: update current locks 2018-06-09 03:08:04 +00:00
MAINTAINERS Remove myself from bhyve maintenance; ENOTIME. 2021-11-19 07:09:30 +10:00
Makefile Switch to GCC 9 for the GCC tinderbox. 2022-05-20 10:16:57 -07:00
Makefile.inc1 Merge llvm-project release/14.x llvmorg-14-init-18315-g190be5457c90 2022-05-14 13:45:25 +02:00
Makefile.libcompat Makefile.libcompat: Sort 2022-02-02 14:34:29 -07:00
Makefile.sys.inc AUTO_OBJ: For all top-level targets enforce using an OBJDIR. 2017-12-05 21:29:47 +00:00
ObsoleteFiles.inc Add newline after 20220524 entry in ObsoleteFiles.inc 2022-05-26 16:31:51 +02:00
README.md README.md: update gnu directory description 2021-12-17 08:45:31 -05:00
RELNOTES RELNOTES: Add an entry for boottrace(4) 2022-03-29 13:35:14 +02:00
UPDATING UPDATING: Fix a few typos 2022-04-10 10:11:17 +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.

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.
sys/arch/conf Kernel configuration files. GENERIC is the configuration used in release builds. NOTES contains documentation of all possible entries.
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.