Age | Commit message (Collapse) | Author |
|
This matches what IPv4 is doing and unbreak carp(4) when the same
address is set twice, for example when running netstart(8) multiple
times.
Issue reported by and fix from Simon Mages.
|
|
|
|
Reported by Heiko on bugs@.
ok stsp@, claudio@
|
|
convert in_selectsrc() prototype to match.
Ok bluhm@ mpi@.
|
|
(we got lucky before, because the variable that used to be checked was
always available)
OK bluhm@
|
|
state key is linked to a socket inp.
OK mpi@ henning@
|
|
anycast address.
This will allow us to split ip6_input() in two parts using a queue
in the middle.
ok jca@, florian@, bluhm@
|
|
to store a field in an extra variable that is only accessed twice.
OK mpi@
|
|
destination as per RFC4213.
We're not in 1999 anymore, what was earlier a "stronger check than
RFC1933" is now a best practice. This matches the behavior of the
reject (R) routes added by default by netstart(8).
ok jca@, florian@, claudio@, bluhm@
|
|
instead of abusing RTF_CLONING.
Fix a leak reporeted by Aaron Riekenberg on misc@, ok sthen@
|
|
this makes it more consistent with arp, and makes expiries visible
via route(8) get as well as ndp(8).
ok mpi@ florian@
|
|
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@
|