From: Petr Machata <petrm@nvidia.com>
To: Jakub Kicinski <kuba@kernel.org>
Cc: Petr Machata <petrm@nvidia.com>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Paolo Abeni <pabeni@redhat.com>, <netdev@vger.kernel.org>,
David Ahern <dsahern@kernel.org>, Shuah Khan <shuah@kernel.org>,
Ido Schimmel <idosch@nvidia.com>, <mlxsw@nvidia.com>
Subject: Re: [PATCH net-next 0/5] net: Extend address label support
Date: Mon, 13 Mar 2023 14:26:56 +0100 [thread overview]
Message-ID: <87sfe8sniw.fsf@nvidia.com> (raw)
In-Reply-To: <20230310171257.0127e74c@kernel.org>
Jakub Kicinski <kuba@kernel.org> writes:
> On Fri, 10 Mar 2023 12:44:53 +0100 Petr Machata wrote:
>> IPv4 addresses can be tagged with label strings. Unlike IPv6 addrlabels,
>> which are used for prioritization of IPv6 addresses, these "ip address
>> labels" are simply tags that the userspace can assign to IP addresses
>> arbitrarily.
>>
>> IPv4 has had support for these tags since before Linux was tracked in GIT.
>> However it has never been possible to change the label after it is once
>> defined. This limits usefulness of this feature. A userspace that wants to
>> change a label might drop and recreate the address, but that disrupts
>> routing and is just impractical.
>>
>> IPv6 addresses lack support for address labels (in the sense of address
>> tags) altogether.
>>
>> In this patchset, extend IPv4 to allow changing the label defined at an
>> address (in patch #1). Then, in patches #2 and #3, extend IPv6 with a suite
>> of address label operations fully analogous with those defined for IPv4.
>> Then in patches #4 and #5 add selftest coverage for the feature.
>
> Feels a bit like we're missing motivation for this change.
> I thought address labels were legacy cruft.
The immutability and lack of IPv6 support is seriously limiting, so the
fact nobody is using this is not that surprising.
> Also the usual concern about allowing to change things is that some
> user space will assume it's immutable. The label could until this
> set be used as part of a stable key, right?
Maybe. But to change a label, you need to be an admin, so yeah, you can
screw things up if you want to. You could e.g. delete the address
outright. In the end it should be on me as an admin to run a stack that
is not stumbling over itself.
As for the motivation: the use case we are eying in particular is
advertisement of MLAG anycast addresses. One label would be used to mark
anycast addresses if they shouldn't be advertised by the routing stack
yet, a different label for those that can be advertised. Which labels
mean what would be a protocol between the two daemons involved.
Other userspace stacks might use this to their own ends to annotate sets
of addresses according to their needs. Like they can today, if the sets
only involve IPv4 addresses that never migrate from set to set :)
next prev parent reply other threads:[~2023-03-13 15:03 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-10 11:44 [PATCH net-next 0/5] net: Extend address label support Petr Machata
2023-03-10 11:44 ` [PATCH net-next 1/5] net: ipv4: Allow changing IPv4 labels Petr Machata
2023-03-10 11:44 ` [PATCH net-next 2/5] net: ipv6: addrconf: Support IPv6 address labels Petr Machata
2023-03-10 11:44 ` [PATCH net-next 3/5] net: ipv6: addrconf: Expose IPv6 address labels through netlink Petr Machata
2023-03-10 11:44 ` [PATCH net-next 4/5] selftests: rtnetlink: Make the set of tests to run configurable Petr Machata
2023-03-10 11:44 ` [PATCH net-next 5/5] selftests: rtnetlink: Add an address label test Petr Machata
2023-03-11 1:12 ` [PATCH net-next 0/5] net: Extend address label support Jakub Kicinski
2023-03-13 13:26 ` Petr Machata [this message]
2023-03-13 22:10 ` Jakub Kicinski
2023-03-14 9:44 ` Petr Machata
2023-03-14 17:43 ` Ido Schimmel
2023-03-15 4:37 ` Jakub Kicinski
2023-03-11 3:41 ` Stephen Hemminger
2023-03-13 13:17 ` Petr Machata
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87sfe8sniw.fsf@nvidia.com \
--to=petrm@nvidia.com \
--cc=davem@davemloft.net \
--cc=dsahern@kernel.org \
--cc=edumazet@google.com \
--cc=idosch@nvidia.com \
--cc=kuba@kernel.org \
--cc=mlxsw@nvidia.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=shuah@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).