| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
before adding it to the routing table. The rtable code is doing memcmp()
of those rt_dest sockaddrs so it is important that they are stored in a
canonical form. To do this struct domain is extended to include the
sockaddr size for this address family.
OK bluhm@ anton@
Reported-by: syzbot+10fe9cd8d0211c562ead@syzkaller.appspotmail.com
|
|
|
|
|
| |
It was used by the original patricia tree.
OK mpi@
|
|
|
|
|
|
|
|
|
| |
while here, give us support for mpls in gif on ipv6.
this moves all the gif handling into if_gif, eg, the mpls handling
is no longer in ip_etherip.c.
ok claudio@
|
|
|
|
|
|
|
|
|
|
|
| |
the main new feature is gre keys, supported by the vnetid ioctls.
this also adds support for gre over ipv6, the use of hfsc, and
allows tx mitigation in the future.
this diff removes keepalive support, but i promised claudio@ and
patrick@ i would put it back after this goes in.
ok claudio@
|
|
|
|
|
|
| |
mp-safe.
ok bluhm@, visa@
|
|
|
|
|
| |
As a result, ip_ether.c now only deals with MPLS-in-IP. The next
commits will move & rename stuff to make this clear. ok visa@ mpi@
|
|
|
|
|
|
|
| |
The INET6 entries are not needed, not documented (use net.inet.etherip)
and do not appear in sysctl(8) output.
ok mpi@
|
|
|
|
| |
OK mpi
|
|
|
|
|
|
| |
functions to pave way for more fine grained locking.
Suggested by, comments & OK mpi
|
|
|
|
|
|
|
| |
longer tracks prefixes or default routers from router advertisements.
Pointed out by jmc.
ports tree grepping sthen, who only found nsh
OK mpi, sthen
|
|
|
|
|
|
|
|
|
|
| |
packets. This is the IP in IP protocol input function, so call it
ipip_input(). Rename the existing ipip_input() to ipip_input_gif()
as it is the input function used by the gif interface. Pass the
address family to make it consistent with pr_input. Use __func__
in debug print and panic messages. Move all ipip prototypes to the
ip_ipip.h header file.
OK dhill@ mpi@
|
|
|
|
|
|
| |
out what is going on. There were also some inconsistencies that
seem to be oversights. Use more specific the #ifdefs.
OK mpi@
|
|
|
|
|
|
|
| |
rip_output() function is never called via the pr_output pointer.
rip_usrreq(PRU_SEND) calls rip_output() directly. raw_usrreq() is
never called from inetsw. Situation in inet and inet6 is analog.
OK claudio@ mikeb@
|
|
|
|
|
|
|
| |
Attach is quite a different thing to the other PRU functions and
this should make locking a bit simpler. This also removes the ugly
hack on how proto was passed to the attach function.
OK bluhm@ and mpi@ on a previous version
|
|
|
|
| |
ok dhill@, florian@, bluhm@
|
|
|
|
|
|
|
| |
This makes it easier to grep for a member, such as .pr_usrreq, and know
which functions to review.
ok mpi@ bluhm@ jca@
|
|
|
|
|
|
|
| |
to get rid of struct ip6protosw and some wrapper functions. It is
more consistent to have less different structures. The divert_input
functions cannot be called anyway, so remove them.
OK visa@ mpi@
|
|
|
|
| |
ok mpi@
|
|
|
|
|
| |
We don't support Router Renumbering and there are no plans to change
that. ok mpi@
|
|
|
|
|
|
|
|
| |
This sysctl is a no-op, read-only since it was introduced. There are no
plans to support IPv4-mapped addresses on OpenBSD, thus this sysctl is
meaningless.
Noticed by djm@, ok claudio@ mpi@ sthen@ henning@
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
route entry in ART.
rt_plen() now represents the prefix length of a route entry and should
be used instead.
For now use a "struct sockaddr_in6" to represent the mask when needed,
this should be then replaced by the prefix length and RTA_NETMASK only
used for compatibility with userland.
ok claudio@
|
|
|
|
|
|
|
| |
This commit is not removing the existing EtherIP part of gif(4) and
it keeps EtherIP of gif(4) working.
ok jbg@ sthen@ mpi@ reyk@ yasuoka@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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@
|