History log of /openbsd/sys/netinet6/nd6_rtr.c (Results 1 – 25 of 170)
Revision Date Author Comments
# 3a3a7575 31-Mar-2023 bluhm <bluhm@openbsd.org>

Fix white space.


# 2a46a9b4 10-Dec-2022 kn <kn@openbsd.org>

Merge nd6_option_init() into nd6_options()

All call-sites call nd6_options() directly after nd6_option_init().
Fold them to simplify the logic and do less pointing around.

Feedback OK bluhm florian


# eaf13d83 09-Dec-2022 claudio <claudio@openbsd.org>

Switch nd_opts from a union to just a struct.
The ND6 option handling in the kernel got a lot simpler since only
the tgt and src lladdr option are inspected by the kernel. The magic
of assigning opti

Switch nd_opts from a union to just a struct.
The ND6 option handling in the kernel got a lot simpler since only
the tgt and src lladdr option are inspected by the kernel. The magic
of assigning options via one side of the union and accessing them
via the other is total overkill and actually quite error prone.
OK florian@

show more ...


# cf34c7c3 21-Jun-2019 mpi <mpi@openbsd.org>

Prevent recursions by not deleting entries inside rtable_walk(9).

rtable_walk(9) now passes a routing entry back to the caller when
a non zero value is returned and if it asked for it.
This allows u

Prevent recursions by not deleting entries inside rtable_walk(9).

rtable_walk(9) now passes a routing entry back to the caller when
a non zero value is returned and if it asked for it.
This allows us to call rtdeletemsg()/rtrequest_delete() from the
caller without creating a recursion because of rtflushclone().

Multicast code hasn't been adapted and is still possibly creating
recursions. However multicast route entries aren't cloned so if
a recursion exists it isn't because of rtflushclone().

Fix stack exhaustion triggered by the use of "-msave-args".

Issue reported by Dániel Lévai on bugs@ confirmed by and ok bluhm@.

show more ...


# c69ca9a4 23-Jan-2018 bluhm <bluhm@openbsd.org>

The IPv6 gateway address passed to rt6_flush() comes either from a
packet through ip6_input() or from the routing table. In both cases
the KAME hack has added the embeded scope to the address, so it

The IPv6 gateway address passed to rt6_flush() comes either from a
packet through ip6_input() or from the routing table. In both cases
the KAME hack has added the embeded scope to the address, so it is
not necessary to fill the scope id again in rt6_flush(). Assert
that it is already there.
OK mpi@

show more ...


# 79e100a6 03-Nov-2017 florian <florian@openbsd.org>

We are processing Router Solicitation / Advertisement messages only
for the Source Link-layer Address Options.
Merge nd6_rs_input() and nd6_ra_input() into one generic function that
does just that.

We are processing Router Solicitation / Advertisement messages only
for the Source Link-layer Address Options.
Merge nd6_rs_input() and nd6_ra_input() into one generic function that
does just that.

input & OK mpi

show more ...


# 6e010a8d 09-Aug-2017 florian <florian@openbsd.org>

We are no longer processing router advertisements in the
kernel.
OK mpi


# 4a2f474d 11-Jul-2017 florian <florian@openbsd.org>

Purging is at last at hand. Day of Doom is here. All that is evil
shall all be cleansed.

Remove sending of router solicitations and processing of router
advertisements from the kernel. It's handled

Purging is at last at hand. Day of Doom is here. All that is evil
shall all be cleansed.

Remove sending of router solicitations and processing of router
advertisements from the kernel. It's handled by slaacd(8) these days.

Input & OK bluhm@, mpi@

show more ...


# 569c7b0b 08-Jul-2017 florian <florian@openbsd.org>

Enable slaacd on the installer and temporarily neuter router
advertisement processing and solicitation sending like we already did
for the non-install kernels.

Next step will be to tedu all that cod

Enable slaacd on the installer and temporarily neuter router
advertisement processing and solicitation sending like we already did
for the non-install kernels.

Next step will be to tedu all that code from the kernel.

OK rpe@ for the installer bits
move forward deraadt@

show more ...


# da42a81b 09-Jun-2017 mpi <mpi@openbsd.org>

Replace rtrequest(RTM_DELETE...) rtrequest_delete() and do not even
try to remove a route from the table if it is and invalid cache.

This is a step towards decoupling code dealing with userland and

Replace rtrequest(RTM_DELETE...) rtrequest_delete() and do not even
try to remove a route from the table if it is and invalid cache.

This is a step towards decoupling code dealing with userland and kernel
inserted routes.

ok bluhm@

show more ...


# 3431983c 07-Jun-2017 mpi <mpi@openbsd.org>

Grab the KERNEL_LOCK() around rtm*() functions. Routing sockets globals
aren't protected by the NET_LOCK().

While here change lock assertions in rt_{set,put}gwroute(), the NET_LOCK()
is enough.

Te

Grab the KERNEL_LOCK() around rtm*() functions. Routing sockets globals
aren't protected by the NET_LOCK().

While here change lock assertions in rt_{set,put}gwroute(), the NET_LOCK()
is enough.

Tested by Hrvoje Popovski.

ok jmatthew@, claudio@

show more ...


# f1bb0883 30-May-2017 florian <florian@openbsd.org>

Enable slaacd(8) by default and disable router solicitation and
advertisement processing in the kernel.
Go for it!!! deraadt@
additional encouragement to push forward from at least mpi and henning
sp

Enable slaacd(8) by default and disable router solicitation and
advertisement processing in the kernel.
Go for it!!! deraadt@
additional encouragement to push forward from at least mpi and henning
special thanks to naddy for being an early adopter and finding bugs.

show more ...


# 66736630 16-May-2017 mpi <mpi@openbsd.org>

Replace remaining splsoftassert(IPL_SOFTNET) by NET_ASSERT_LOCKED().

ok visa@


# d767223c 06-Mar-2017 mpi <mpi@openbsd.org>

Prefix functions dealing with routing messages with 'rtm_' and keep
them all in net/rtsock.c.

This allows to easily spot which functions are doing a copyout(9)
when dealing with the routing midlayer

Prefix functions dealing with routing messages with 'rtm_' and keep
them all in net/rtsock.c.

This allows to easily spot which functions are doing a copyout(9)
when dealing with the routing midlayer.

ok phessler@, bluhm@, dhill@, krw@, claudio@

show more ...


# b3605584 03-Mar-2017 mpi <mpi@openbsd.org>

Iterate over the global list of interfaces instead of using the global
list of IPv6 addresses.

ok bluhm@


# 07ba5f7c 09-Feb-2017 jca <jca@openbsd.org>

percpu counters for raw ipv6 and icmp6 stats

ok mpi@


# 22e88dad 22-Dec-2016 mpi <mpi@openbsd.org>

Remove all splsoftnet() from ND6 converting the non-recrusive ones to
NET_LOCK().

ok bluhm@


# 66f69fe1 28-Nov-2016 mpi <mpi@openbsd.org>

Explicitly initialize rti_ifa when automagically adding a route.

This will allow to strengthen checks when userland adds a route.

ok phessler@, bluhm@


# 45ffa37b 28-Nov-2016 mpi <mpi@openbsd.org>

Remove multiple recursive splsoftnet().

ok bluhm@


# 86e6976c 21-Nov-2016 mpi <mpi@openbsd.org>

Assert that defrtrlist_update() is always called at IPL_SOFTNET.


# 526034be 21-Nov-2016 mpi <mpi@openbsd.org>

Assert that prelist_update() is always called at IPL_SOFTNET.

While here use __func__ in debug strings to reduce noise when grepping.


# f23cc1de 21-Nov-2016 mpi <mpi@openbsd.org>

Assert that in6_ifadd() is always called at IPL_SOFTNET.

While here us __func__ in debug strings to reduce noise when grepping.


# 56b4879e 03-Oct-2016 mpi <mpi@openbsd.org>

Convert some of the remaining usages of time_second to time_uptime.

time_second is unix time so it can be affected by clock changes.
time_uptime is monotonic so it isnt affected by clock changes. th

Convert some of the remaining usages of time_second to time_uptime.

time_second is unix time so it can be affected by clock changes.
time_uptime is monotonic so it isnt affected by clock changes. that
in turn means route expiries wont jump with clock changes if set
against time_uptime.

the expiry is translated into unix time for export to userland though.

Should fix mismatch between route timers that were already converted
and ND default routers that were still using time_second.

Tested by matthieu@ and sthen@

ok sthen@, dlg@

show more ...


# 752990ff 30-Sep-2016 florian <florian@openbsd.org>

Revert sending router solicitations when a prefix expires and go back
to previous behaviour of starting quick, exponentially backing off and
settling on every 60 seconds.
sthen@ noticed that this bro

Revert sending router solicitations when a prefix expires and go back
to previous behaviour of starting quick, exponentially backing off and
settling on every 60 seconds.
sthen@ noticed that this broke the backing off when we don't receive
an advertisment and so we would hammer the network every second which
is particularly bad on wifi networks.
OK sthen@

show more ...


# d2ba3035 26-Sep-2016 sthen <sthen@openbsd.org>

typo in comment


1234567