opnsense-src/lib/libc
Gleb Smirnoff 8624f4347e divert: declare PF_DIVERT domain and stop abusing PF_INET
The divert(4) is not a protocol of IPv4.  It is a socket to
intercept packets from ipfw(4) to userland and re-inject them
back.  It can divert and re-inject IPv4 and IPv6 packets today,
but potentially it is not limited to these two protocols.  The
IPPROTO_DIVERT does not belong to known IP protocols, it
doesn't even fit into u_char.  I guess, the implementation of
divert(4) was done the way it is done basically because it was
easier to do it this way, back when protocols for sockets were
intertwined with IP protocols and domains were statically
compiled in.

Moving divert(4) out of inetsw accomplished two important things:

1) IPDIVERT is getting much closer to be not dependent on INET.
   This will be finalized in following changes.
2) Now divert socket no longer aliases with raw IPv4 socket.
   Domain/proto selection code won't need a hack for SOCK_RAW and
   multiple entries in inetsw implementing different flavors of
   raw socket can merge into one without requirement of raw IPv4
   being the last member of dom_protosw.

Differential revision:	https://reviews.freebsd.org/D36379
2022-08-30 15:09:21 -07:00
..
aarch64 Remove "All rights reserved" where I can in libc 2022-08-05 15:11:39 +01:00
amd64
arm
capability Remove "All Rights Reserved" from FreeBSD Foundation libc copyrights 2022-07-21 09:53:31 -04:00
compat-43
db
gdtoa libc: drop "All rights reserved" from Foundation copyrights 2022-08-04 16:57:50 -04:00
gen libc: Add strverscmp(3) and versionsort(3) 2022-08-25 03:29:03 +03:00
gmon
i386
iconv libc: iconv: add mb_cur_min for encoder traits 2022-08-11 11:42:17 -05:00
include
inet
isc
locale libc: drop "All rights reserved" from Foundation copyrights 2022-08-04 16:57:50 -04:00
md
nameser
net sockatmark(3): Add references to 4.4BSD IPC tutorials 2022-07-03 15:56:42 +02:00
nls
posix1e
powerpc
powerpc64
powerpcspe
quad
regex libc: drop "All rights reserved" from Foundation copyrights 2022-08-04 16:57:50 -04:00
resolv
riscv
rpc
secure
softfloat
stdio libc: drop "All rights reserved" from Foundation copyrights 2022-08-04 16:57:50 -04:00
stdlib libc: drop "All rights reserved" from Foundation copyrights 2022-08-04 16:57:50 -04:00
stdtime libc: drop "All rights reserved" from Foundation copyrights 2022-08-04 16:57:50 -04:00
string libc: Add strverscmp(3) and versionsort(3) 2022-08-25 03:29:03 +03:00
sys divert: declare PF_DIVERT domain and stop abusing PF_INET 2022-08-30 15:09:21 -07:00
tests libc: Add strverscmp(3) and versionsort(3) 2022-08-25 03:29:03 +03:00
uuid
x86 Remove "All Rights Reserved" from FreeBSD Foundation libc copyrights 2022-07-21 09:53:31 -04:00
xdr
yp
libc.ldscript
libc_nossp.ldscript
Makefile
Makefile.depend
Makefile.depend.options
Versions.def