freebsd-nq/sys
Andrey V. Elsukov aee793eec9 Add GRE-in-UDP encapsulation support as defined in RFC8086.
This GRE-in-UDP encapsulation allows the UDP source port field to be
used as an entropy field for load-balancing of GRE traffic in transit
networks. Also most of multiqueue network cards are able distribute
incoming UDP datagrams to different NIC queues, while very little are
able do this for GRE packets.

When an administrator enables UDP encapsulation with command
`ifconfig gre0 udpencap`, the driver creates kernel socket, that binds
to tunnel source address and after udp_set_kernel_tunneling() starts
receiving of all UDP packets destined to 4754 port. Each kernel socket
maintains list of tunnels with different destination addresses. Thus
when several tunnels use the same source address, they all handled by
single socket.  The IP[V6]_BINDANY socket option is used to be able bind
socket to source address even if it is not yet available in the system.
This may happen on system boot, when gre(4) interface is created before
source address become available. The encapsulation and sending of packets
is done directly from gre(4) into ip[6]_output() without using sockets.

Reviewed by:	eugen
MFC after:	1 month
Relnotes:	yes
Differential Revision:	https://reviews.freebsd.org/D19921
2019-04-24 09:05:45 +00:00
..
amd64 Since r339624 HEAD does not need for backslashes in syscalls.master, 2019-04-23 18:10:46 +00:00
arm Move the reporting of spurious interrupts under bootverbose control, because 2019-04-21 17:39:01 +00:00
arm64 Add SY8106A Buck Regulator and Allwinner CIR devices to GENERIC arm64 kernel. 2019-04-20 03:21:47 +00:00
bsm Create new EINTEGRITY error with message "Integrity check failed". 2019-01-17 06:35:45 +00:00
cam Report DIF protection type the disk is formatted with. 2019-04-22 01:08:14 +00:00
cddl Change the way FreeBSD GID inheritance is hacked. 2019-04-19 15:44:45 +00:00
compat Enable ioremap for aarch64 in the LinuxKPI 2019-04-20 15:57:05 +00:00
conf fdt: stop installing FDT_DTS_FILE 2019-04-24 01:11:50 +00:00
contrib [ath] [ath_hal] [ath_hal_9300] Extend the start PCU receive to handle resetting ANI. 2019-04-21 02:36:01 +00:00
crypto Embedded chacha: Add 0-bit iv + 128-bit counter mode 2019-03-01 23:30:23 +00:00
ddb ddb: Print the thread's pcb in 'show thread' 2019-02-09 21:08:19 +00:00
dev Track device's NUMA domain in ifnet & alloc ifnet from NUMA local memory 2019-04-22 19:24:21 +00:00
dts arm: dts: Remove some old DTS 2019-04-10 19:18:05 +00:00
fs Add #ifdef INET as requested by bz@. 2019-04-21 22:53:51 +00:00
gdb
geom gnop(8): Nopify configuration as a kernel dump device 2019-04-22 03:25:49 +00:00
gnu Import DTS files from Linux 5.0 2019-04-10 18:15:36 +00:00
i386 Since r339624 HEAD does not need for backslashes in syscalls.master, 2019-04-23 18:10:46 +00:00
isa
kern When parsing command line stuff, treat tabs and spaces the same. 2019-04-18 22:52:12 +00:00
kgssapi * Handle SIGPIPE in gssd 2019-02-21 01:30:37 +00:00
libkern Revert r346410 and r346411 2019-04-19 22:08:17 +00:00
mips random(4): Restore availability tradeoff prior to r346250 2019-04-18 20:48:54 +00:00
modules Add GRE-in-UDP encapsulation support as defined in RFC8086. 2019-04-24 09:05:45 +00:00
net Add GRE-in-UDP encapsulation support as defined in RFC8086. 2019-04-24 09:05:45 +00:00
net80211 net80211: correct check for SMPS node flags updates 2019-03-18 02:40:22 +00:00
netgraph Remove 'dir' argument in ng_ipfw_input, since ip_fw_args now has this info. 2019-03-14 22:30:05 +00:00
netinet Add GRE-in-UDP encapsulation support as defined in RFC8086. 2019-04-24 09:05:45 +00:00
netinet6 Add GRE-in-UDP encapsulation support as defined in RFC8086. 2019-04-24 09:05:45 +00:00
netipsec Replace read_random(9) with more appropriate arc4rand(9) KPIs 2019-04-04 01:02:50 +00:00
netpfil pf: No need to M_NOWAIT in DIOCRSETTFLAGS 2019-04-18 11:37:44 +00:00
netsmb Remove unused argument to priv_check_cred. 2018-12-11 19:32:16 +00:00
nfs
nfsclient
nfsserver
nlm
ofed Mechanical cleanup of epoch(9) usage in network stack. 2019-01-09 01:11:19 +00:00
opencrypto Fix another bug introduced during the review process of r344140: 2019-02-25 19:14:16 +00:00
powerpc powerpc: Add a couple missing isyncs 2019-04-24 02:51:58 +00:00
riscv RISC-V: initialize pcpu slightly earlier 2019-04-07 20:12:24 +00:00
rpc Fix malloc stats for the RPCSEC_GSS server code when DEBUG is enabled. 2019-04-04 01:23:06 +00:00
security Create kernel module to parse Veriexec manifest based on envs 2019-04-03 03:57:37 +00:00
sparc64 Move mpr/mps drivers from per-arch NOTES files into the MI notes 2019-04-13 06:30:45 +00:00
sys This patch offers a workaround to buf_ring reordering 2019-04-23 06:36:32 +00:00
teken Attempt to complete fixing programmable function keys for syscons. 2019-02-20 02:14:41 +00:00
tests Regularize the Netflix copyright 2019-02-04 21:28:25 +00:00
tools make_dtb.sh: Use $CPP instead of assuming that cpp is in $PATH 2018-12-14 23:53:28 +00:00
ufs Handle races when remounting UFS volume from ro to rw. 2019-04-08 15:20:05 +00:00
vm Disable vm map consistency checking by default on INVARIANTS kernels. 2019-04-22 11:23:35 +00:00
x86 remove the 4GB boundary requirement on PCI DMA segments 2019-04-19 13:43:33 +00:00
xdr
xen xen: introduce a new way to setup event channel upcall 2019-01-30 11:34:52 +00:00
Makefile