Age | Commit message (Collapse) | Author |
|
This function will help splitting the IPv6 input path in two, in
order to run the first part without KERNEL_LOCK() held.
Tested by Hrvoje Popovski, ok bluhm@
|
|
|
|
addresses set on p2p interfaces.
Found the hardway by naddy@
|
|
ok bluhm@
|
|
corresponding to a route.
ok florian@ on a previous version, input and ok bluhm@
|
|
send traffic to link-local addresses without default route.
Fix a regression reported by Michael Lechtermann, ok stsp@, sthen@
|
|
ok sthen@ bluhm@
|
|
Useful to implement GTSM support in daemons such as bgpd(8). Diff from
2013 revived by renato@. Input from bluhm@, ok bluhm@ deraadt@
|
|
loop when we worked out that no IPsec is needed which led to a NULL
de-ref on the next iteration.
Fix this by making the code more similar to the IPv4 case.
Found the hard way by me, OK mpi@
|
|
has been moved to nd6_resolve().
ok visa@, millert@, florian@, sthen@
|
|
in{,6}_ioctl() that do not deal with sockets.
This will allow to automagically configure interface addresses in
the kernel without too many layer violations.
Required by upcoming umb(4).
|
|
rename it to nd6_resolve().
This allows us to get rid of non-Ethernet hacks by moving Ethernet
specific logic in the appropriate layer.
ok sthen@
|
|
nd6.c's nd6_output() decides whether link-layer address resolution is needed
before sending the packet. Up to r1.178 packets for many non-ethernet interface
types were sent directly without checking the gateway or determining if link-
layer address resolution was needed. In r1.179 this was changed to skip some
decision making for gif(4) but moved the short-circuiting for those interface
types to *after* the gateway was checked. In my v6 pppoe setup, rt_checkgate
is returning EHOSTUNREACH so this move prevented it from working.
ok mpi@
|
|
time_second can be jumped by clock changes, while time_uptime will
always progress monotonically.
it is still translated to time_seconds for export to userland though.
ok mpi@
|
|
most callers are working in seconds, internally it uses seconds, and
you can call timeout_add_sec as easily as timeout_add.
this also fixes an issue with an nd_defrouter expire which was
incorrectly scaled with ticks in a comparison.
ok mpi@
|
|
We don't support Router Renumbering and there are no plans to change
that. ok mpi@
|
|
Callers MUST do a route lookup before sending a packet.
Tested by Hrvoje Popovski, ok visa@, bluhm@
|
|
the nd6 code for managing expiries is never asked to handle intervals
greater than what timeouts can handle, so we dont need to overcompensate.
the code was also incorrect by using a long, which isnt that long
on ILP32 machines.
ok mpi@ millert@ benno@
|
|
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@
|
|
to [::]. We should be able to send from a socket bound to [::] while using
sockets bound to specified addresses for reception.
Spotted with regress/usr.sbin/syslogd/args-client-bind-only6.pl test case.
"makes sense to me" millert@, ok benno@, ok bluhm@
|
|
Tested by naddy@
|
|
ok sthen@, visa@
|
|
callbacks return EAGAIN if they modify the routing table. While we're here,
simplify life for rtable_walk callers by moving the loop that restarts the
walk on EAGAIN into rtable_walk itself.
Flushing cloned routes on interface state changes becomes a bit more
inefficient, but this can be improved later.
ok mpi@ dlg@
|
|
ok benno@, visa@
|
|
is not intended and will behave unexpectedly if the address is
already used in another domain. It did not work anyway, as the PCB
ended in the wrong hash bucket after changing the rtable. Fail
with EBUSY if the socket is already bound and rehash the PCB if its
rtable changes.
input claudio@; OK mpi@
|
|
|
|
Since the rtalloc(9) rewrite no route lookup is done in this function so
there's no need for a destination or a rtable ID.
|
|
when the next packet needs to be forwarded, just like if the route
was invalid.
ok mikeb@, claudio@
|
|
to get rid of the now useless foreign address and ports parameters.
ok mpi@
|
|
quite unsafe. Juste delete it.
Ok mpi@
|
|
ok jca@, phessler@, mikeb@
|
|
Kill old comments while at it.
Ok mpi@ bluhm@
|
|
regressions with dhcpcd.
Ok sthen@
|
|
broad search and in_pcbconnect() already uses in_pcbhashlookup().
ok bluhm@ mpi@ jca@
|
|
Since mpath is not enabled in RAMDISK, proxy ARP won't work there either.
ok bluhm@
|
|
ok bluhm@ jca@
|
|
in6_pcbbind() into in_pcbbind().
Ok jca@ mpi@
|
|
checking for source availability in udp6_output(); This time with
all the files.
Ok jca@ bluhm@
|
|
Spotted by deraadt@
|
|
checking for source availability in udp6_output().
Ok jca@ bluhm@
|
|
ok beck@ deraadt@
|
|
ok mpi@ bluhm@
|
|
ok mpi@ millert@
|
|
This restore the previous behavior without looking at the reference
counter of route entries.
Static entries might not have a cloning route to re-create them and
when their timer expires they were completly gone as found the hardway
by matthieu@.
ok matthieu@
|
|
Router renumbering was never supported, prefix ioctls were deprecated
~15 years ago. Move some items in netinet6/nd6.h where they are still
used.
ok mikeb@ mpi@
|
|
Those ioctls never made sense, IPv6 was designed right from the start
with support for multiple addresses by interface.
ok mikeb@ mpi@
|
|
As described in NetBSD kern/35897 PR, the parameters
this ioctl needs overlay each other in a union. The ioctl
cannot have worked properly.
Discovered while discussing overflow checks with mmcc@ and mpi@
The checks were part of the removed code.
ok deraadt@
|
|
an interface joined a specific multicast group.
ok phessler@, visa@, dlg@
|
|
ok mpi@
|
|
ok mikeb@, bluhm@
|