Date: Thu, 18 Oct 2018 23:39:26 +0700 From: Victor Sudakov <vas@mpeks.tomsk.su> To: =?utf-8?B?56We5piO6YGU5ZOJ?= <jinmei@wide.ad.jp> Cc: FreeBSD Net <freebsd-net@freebsd.org>, asomers@freebsd.org Subject: Re: why rtsold ? Message-ID: <20181018163926.GA89723@admin.sibptus.ru> In-Reply-To: <CAJE_bqcLL9Ywijrw1Nhi14=rLF%2B6LuS0c8bX=_%2BS_v4UVNBkZA@mail.gmail.com> References: <20180930022007.GA2041@admin.sibptus.ru> <CAOtMX2gDVSmEacBacumPjthNU-RxoxLanjp%2BEhPb=nefX2m5cg@mail.gmail.com> <20181018015314.GA81422@admin.sibptus.ru> <CAJE_bqcLL9Ywijrw1Nhi14=rLF%2B6LuS0c8bX=_%2BS_v4UVNBkZA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
神明達哉 wrote: > > > > Who actually processes these router advertisements: the rtsold daemon > > or the kernel itself? > > > > Is this passage: > > > > 8.1.1.4. Plug and Play > > > > Most of the IPv6 stateless address autoconfiguration is implemented in > > the kernel. Neighbor Discovery functions are implemented in the kernel > > as a whole. Router Advertisement (RA) input for hosts is implemented > > in the kernel. Router Solicitation (RS) output for endhosts, RS input > > for routers, and RA output for routers are implemented in the > > userland. > > > > still correct? > > (from https://www.freebsd.org/doc/en/books/developers-handbook/ipv6.html) > > It's slightly outdated. "RA input for hosts" was originally limited > to what's described in RFC4862, but it's been extended over time. The > RFC4862-side (aka SLAAC) is still implemented in the kernel, but DNS > configuration options (RFC8106, although the FreeBSD implementation > may still only conform to RFC6106) are used in the user space. The > current trend seems to introduce more such high level config > information to RA, so I'd expect these will also be handled in the > user space. > > BTW, regarding the original topic of 'why rtsold', my understanding is > that its original motivation is to help hosts moving links. At least > at the time of development, there was no sophisticated detection > mechanism when a host is connected to a new link, so no one else could > send RS to get new network configuration information. rtsold monitors > link status and invokes new RS-RA exchanges when it detects a change > of the link status from off to on. Address lifetime expiration is not > usually an issue since routers are supposed to send RAs periodically > (with sufficiently short intervals to prevent accidental expiration); > and in any case (AFAIK) rtsold doesn't help that situation, as it > doesn't send RSes based on address lifetimes. > > Today, we now use DNS config information provided via RA in the user > space, so another role of rtsold is to reflect any changes to it while > the host is still connected to the same link. Routers are supposed > to advertise RAs with new information, but without rtsold (or > something equivalent) no one in the user space listens to those RAs to > apply the configuration change. Thank you for the explanation. -- Victor Sudakov, VAS4-RIPE, VAS47-RIPN 2:5005/49@fidonet http://vas.tomsk.ru/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20181018163926.GA89723>