Discussion:
removal of rtsol{d}
(too old to reply)
Roy Marples
2014-09-08 10:24:30 UTC
Permalink
Hi

rtsol and rtsold have historically been used to send ICMPv6 Router
Solicitation
messages on specified interfaces and expected the kernel to fully parse
the
resultant Router Advertisement message. Of course, this turned out to be
a bad
idea because some userland options crept into the Router Advertisement,
such
as DNS options and wanting more configuration via DHCPv6.

dhcpcd has supported the sending of ICMPv6 RS and processing the
resultant RA
packets for some time now, thus making rtsol and rtsold redundant. I
would like
to propose that we remove rtsold from NetBSD as dhcpcd supplies the
equivalent
functionality. For example, you can launch dhcpcd in IPv6 only mode,
disable
DHCPv6 like so:
dhcpcd -6 --nodhcp6 bge0

I also propose we change ip6mode `autohost` to start dhcpcd if not
started in
rc.conf. Also, the static DAD sleep timings should be removed as dhcpcd
will
ensure DAD has completed before forking if a carrier is present (if no
carrier
then the static sleep is pointless anyway and dhcpcd will fork).

For the ip6mode == host | router users I suggest we add a new command to
ifconfig, like say ifconfig -w, so that ifconfig will spin until all
addresses
have finished DAD which would result in a potentially faster and
certainly
more accurate boot than just sleeping.

Comments as always are welcome.

Roy

--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Martin Husemann
2014-09-08 10:46:40 UTC
Permalink
Post by Roy Marples
rc.conf. Also, the static DAD sleep timings should be removed as dhcpcd
will
ensure DAD has completed before forking if a carrier is present (if no
carrier
then the static sleep is pointless anyway and dhcpcd will fork).
I run several machines that will require configuration changes to adapt,
but I wholeheartedly support the suggestion!

I have some semi-static setups and no DHCPv6 anywhere - and the old scheme
misses RAs every second boot and requires manual intervention. Using dhcpcd
for those cases did not occur to me, but now I'll just wait for you to solve
it for me ,-)

Martin

--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Roy Marples
2014-09-08 14:32:16 UTC
Permalink
Post by Roy Marples
I also propose we change ip6mode `autohost` to start dhcpcd if not
started in
rc.conf. Also, the static DAD sleep timings should be removed as dhcpcd
will
ensure DAD has completed before forking if a carrier is present (if no
carrier
then the static sleep is pointless anyway and dhcpcd will fork).
For the ip6mode == host | router users I suggest we add a new command to
ifconfig, like say ifconfig -w, so that ifconfig will spin until all
addresses
have finished DAD which would result in a potentially faster and
certainly
more accurate boot than just sleeping.
I'm not sure I can do the first part.
rc.d/network expects $rtsol_flags to be defined and doesn't actually do
anything for rtsold
As such, I think the best we can do is show a warning if rtsol is set
and dhcpcd isn't.

Here's a patch which does this and adds the -w command to ifconfig(8).
The bootup of my laptop is noticeably faster now when processing the
network script.

Comments welcome.

Roy
Roy Marples
2014-09-08 14:33:34 UTC
Permalink
Post by Martin Husemann
Post by Roy Marples
rc.conf. Also, the static DAD sleep timings should be removed as dhcpcd
will
ensure DAD has completed before forking if a carrier is present (if no
carrier
then the static sleep is pointless anyway and dhcpcd will fork).
I run several machines that will require configuration changes to adapt,
but I wholeheartedly support the suggestion!
Yes, just enable dhcpcd and disable rtsold and/or rtsol if they are
defined :)
Post by Martin Husemann
I have some semi-static setups and no DHCPv6 anywhere - and the old scheme
misses RAs every second boot and requires manual intervention. Using dhcpcd
for those cases did not occur to me, but now I'll just wait for you to solve
it for me ,-)
Done as best I can, waiting review.

Roy

--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
der Mouse
2014-09-08 15:12:04 UTC
Permalink
Post by Roy Marples
rtsol and rtsold have historically been used to send ICMPv6 Router
Solicitation messages [...] expected the kernel to fully parse the
resultant Router Advertisement message. Of course, this turned out
to be a bad idea because some userland options crept into the Router
Advertisement, such as DNS options and wanting more configuration via
DHCPv6.
I'm not sure that makes it a bad idea. The kernel could export the
userland portions by any of several mechanisms.

Not that that makes it a good idea either, and it sounds as though it's
water under the bridge at the moment anyway.
Post by Roy Marples
I would like to propose that we remove rtsold from NetBSD as dhcpcd
supplies the equivalent functionality.
If this is done, I strongly suggest that rtsol and rtsold manpages be
added back in which explain that the functionality has been moved to
dhcpd. Not everyone reads tech-net. Might be a good idea to warn if
rc.conf attempts to turn rtsol and/or rtsold on, too.
Post by Roy Marples
I also propose we change ip6mode `autohost` to start dhcpcd if not
started in rc.conf.
I'd rather see that happen if dhcpd is not _specified_ in rc.conf. If
it's specified NO, print a warning that autohost won't work without it,
maybe, but ignoring an explicit specification sounds like a very bad
idea to me. There's precedent for warning about apparently
inconsistent configurations, such as (to pick an older example, because
that's what I have at ready hand - though it may still be current too)
ip6mode=autohost and defaultroute6 set.

/~\ The ASCII Mouse
\ / Ribbon Campaign
X Against HTML ***@rodents-montreal.org
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B

--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Christos Zoulas
2014-09-08 17:41:07 UTC
Permalink
-=-=-=-=-=-
Post by Roy Marples
I also propose we change ip6mode `autohost` to start dhcpcd if not
started in
rc.conf. Also, the static DAD sleep timings should be removed as dhcpcd
will
ensure DAD has completed before forking if a carrier is present (if no
carrier
then the static sleep is pointless anyway and dhcpcd will fork).
For the ip6mode == host | router users I suggest we add a new command to
ifconfig, like say ifconfig -w, so that ifconfig will spin until all
addresses
have finished DAD which would result in a potentially faster and
certainly
more accurate boot than just sleeping.
I'm not sure I can do the first part.
rc.d/network expects $rtsol_flags to be defined and doesn't actually do
anything for rtsold
As such, I think the best we can do is show a warning if rtsol is set
and dhcpcd isn't.
Here's a patch which does this and adds the -w command to ifconfig(8).
The bootup of my laptop is noticeably faster now when processing the
network script.
Comments welcome.
Perhaps not wait forever? Maybe add -w <secs> instead?

christos


--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Hubert Feyrer
2014-09-08 17:49:42 UTC
Permalink
Post by Christos Zoulas
Perhaps not wait forever? Maybe add -w <secs> instead?
There are other events that can configure an interface, e.g. (IIRC) pppoe
& wpa-supplicant. To monitor an interface if it's up or not maybe
ifwatchd(8) is of help...?

See also:
http://www.feyrer.de/NetBSD/blog.html/nb_20070816_1133.html


- Hubert

--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Roy Marples
2014-09-08 18:03:39 UTC
Permalink
Post by Hubert Feyrer
Post by Christos Zoulas
Perhaps not wait forever? Maybe add -w <secs> instead?
It will only wait forever with a buggy kernel, but sure I can add a
timeout too.
Post by Hubert Feyrer
There are other events that can configure an interface, e.g. (IIRC)
pppoe & wpa-supplicant. To monitor an interface if it's up or not
maybe ifwatchd(8) is of help...?
Not sure how this relates to waiting for DAD to complete on our
statically assigned addresses?

Roy

--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Loading...