Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 Jun 2020 22:10:04 +0100
From:      Alexander V. Chernikov <melifaro@ipfw.ru>
To:        "current@FreeBSD.org" <current@freebsd.org>, net <net@freebsd.org>, freebsd-hackers <freebsd-hackers@freebsd.org>
Subject:   Re: net.inet6.ip6.deembed_scopeid removal
Message-ID:  <645741592773762@mail.yandex.ru>
In-Reply-To: <626011592740709@mail.yandex.ru>
References:  <626011592740709@mail.yandex.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
[re-sending email with as non-html]

Hey,

I would like to deprecate net.inet6.ip6.deembed_scopeid sysctl while leaving the current default behaviour.

This sysctl controls whether IPv6 scope is embedded in the IPv6 address or not when reading or writing route/interface/ifaddr data via rtsock/sysctl.

Embedding scope in the address is a hack, that overwrites some of the bits that can be used otherwise. It was probably implemented that way to simplify route table interactions, as rtable uses this hack to add link-local addresses to the same radix tree.

The change to fix the userland api by filling in sin6_scopeid and avoid touching IPv6 address was added in r243187, 7 years ago. It provided the sysctl in question, allowing to preserve compatibility with older applications, by reverting to the old behavior.

7 years looks like enough timeframe for the applications to be adjusted. Unless any major objections arise, I'm going to remove the code and make de-embedded IPv6 addresses the only option on July 5 2020.

/Alexander



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?645741592773762>