| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The routing table is not an optional component of the network stack
and initializing it inside the "routing domain" requires some ugly
introspection in the domain interface.
This put the rtable* layer at the same level of the if* level. These
two subsystem are organized around the two global data structure used
in the network stack:
- the global &ifnet list, to be used in process context only, and
- the routing table which can be read in interrupt context.
This change makes the rtable_* layer domain-aware and extends the
"struct domain" such that INET, INET6 and MPLS can specify the length
of the binary key used in lookups. This allows us to keep, or move
towards, AF-free route and rtable layers.
While here stop the madness and pass the size of the maximum key length
in *byte* to rn_inithead0().
ok claudio@, mikeb@
|
|
|
|
|
|
| |
Tested by <mxb AT alumni DOT chalmers DOT se>.
ok dlg@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
length of the key as argument.
This way every consumer of the radix tree has a chance to explicitly
initialize the shared data structures and no longer rely on another
subsystem to do the initialization.
As a bonus ``dom_maxrtkey'' is no longer used an die.
ART kernels should now be fully usable because pf(4) and IPSEC properly
initialized the radix tree.
ok chris@, reyk@
|
|
|
|
|
|
|
| |
As a side effect there's no need to run if_attachdomain() after the
list of domains has been built.
ok claudio@, reyk@
|
|
|
|
|
|
|
|
|
|
| |
Code abusing the radix internals for the routing table should now
includes <net/rtable.h> and only deal with "struct rtentry".
Code using a radix tree for another purpose can still include
<net/radix.h>.
Inputs from and ok claudio@, mikeb@
|
|
|
|
|
| |
long live the one true internet.
ok henning mikeb
|
|
|
|
| |
ok mikeb@, krw@, bluhm@, tedu@
|
|
|
|
|
|
|
| |
with autoconf enabled.
If one is doing SLAAC one does already trust link local icmp6 so the
policy for icmp6 redirects should be the same.
pointed out by & OK bluhm@; OK henning@
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
accept rtadvs on that interface. the global net.inet6.ip6.accept_rtadv
sysctl just doesn't cut it, even tho the spec wants that - but in their
little absurd world, a host just has one interface by definition anyway...
the sysctlgoes away.
lots of head scratching, brain cell elemination etc from bluhm benno stsp
florian, excitement from simon and todd, ok bluhm stsp benno florian
|
|
|
|
| |
ok henning@ stu@, Yay! weerd@
|
|
|
|
|
| |
disables responses to RFC4620 IPv6 Node Information Queries.
ok florian henning bluhm
|
|
|
|
|
| |
making the code the same as netinet4 along the way.
ok bluhm phessler
|
|
|
|
|
|
|
| |
created a bunch of useless dependencies. Remove this implicit
inclusion and do an explicit #include <netinet6/in6_var.h> when it
is needed.
OK mpi@ henning@
|
|
|
|
| |
declare them once in their corresponding header file.
|
|
|
|
| |
Ok claudio@
|
|
|
|
|
|
| |
dhill.
ok krw@, mikeb@, tedu@ (implicit)
|
|
|
|
|
|
|
| |
the code relevant for UDP from sosend() and soreceive() into somove().
That allows the kernel to directly transfer the UDP data from one
socket to another.
OK claudio@
|
|
|
|
|
|
|
| |
input routine allowing us to bridge two IPv4 networks over an IPv6
link with gif(4).
ok henning, sthen, ok and tests phessler, "lets get this in!" todd
|
|
|
|
| |
ok claudio@
|
|
|
|
|
|
| |
what we do for IPv4. rtsol will turn it back on if -F is used.
After discussion with bluhm@, fgsch@, sthen@ and deraadt@
OK sthen@
|
|
|
|
|
|
|
| |
The data received on the source socket will automatically be sent
on the drain socket. This allows to write relay daemons with zero
data copy.
ok markus@
|
|
|
|
| |
ok stsp@ henning@ claudio@
|
|
|
|
|
|
| |
tested by phessler@ pyr@
ok claudio@
"go ahead" deraadt@
|
|
|
|
| |
ok fries, hshoexer, claudio
|
|
|
|
| |
ok mpf naddy
|
|
|
|
|
|
|
| |
take a proc argument, theres no need for these, since
they are just wrappers.
OK claudio@
|
| |
|
|
|
|
| |
provide netstat(1) with data it needs; ok claudio reyk
|
|
|
|
|
| |
more then 10 headers nested.
OK deraadt@ henning@ mcbride@
|
|
|
|
| |
deraadt ok. manpage nit by jmc.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To minimise path disruptions, this implements recommendations made in RFC2992 -
the hash-threshold mechanism to select paths based on source/destination IP
address pairs, and inserts multipath routes in the middle of the route table.
To enable multipath distribution, use:
sysctl net.inet.ip.multipath=1
and/or:
sysctl net.inet6.ip6.multipath=1
testing norby@
ok claudio@ henning@ hshoexer@
|
| |
|
|
|
|
| |
and additionaly make the code part of the MROUTING option. Put it in deraadt@
|
|
|
|
| |
ok deraadt@
|
|
|
|
|
|
|
|
| |
style as vlan(4). carp interfaces no longer require the physical interface
to be on the same subnet as the carp interface, or even that the physical
interface has an adress at all, so CARP can now be used on /30 networks.
ok deraadt@ henning@
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
user visible changes:
- you can add multiple routes with same key (route add A B then route add A C)
- you have to specify gateway address if there are multiple entries on the table
(route delete A B, instead of route delete A)
kernel change:
- radix_node_head has an extra entry
- rnh_deladdr takes extra argument
TODO:
- actually take advantage of multipath (rtalloc -> rtalloc_mpath)
|
|
|
|
| |
ok deraadt@
|
| |
|
|
|
|
| |
rescinded 22 July 1999. Proofed by myself and Theo.
|
|
|
|
| |
From: Krister Walfridsson <cato@df.lth.se>
|
| |
|
| |
|
| |
|
|
|
|
| |
rip6 stats. sync w/kame
|
|
|
|
| |
as well as set/getsockopt(IPV6_V6ONLY).
|
| |
|
|
|
|
| |
fight against lots-of-frags DoS attacks. sync w/kame
|