From: "Antonin Godard" <antonin.godard@bootlin.com>
To: "Quentin Schulz" <quentin.schulz@cherry.de>,
<docs@lists.yoctoproject.org>
Cc: "Thomas Petazzoni" <thomas.petazzoni@bootlin.com>,
"Koen Kooi" <koen.kooi@oss.qualcomm.com>,
"Ross Burton" <Ross.Burton@arm.com>
Subject: Re: [docs] [PATCH] migration-guides/migration-5.3.rst: add note on systemd pni-names change
Date: Fri, 12 Sep 2025 13:27:45 +0200 [thread overview]
Message-ID: <DCQSB16YG4WC.12YXCXX57B55Q@bootlin.com> (raw)
In-Reply-To: <f270625a-1bb3-4f42-b8ad-4ef13aced825@cherry.de>
On Wed Sep 10, 2025 at 4:08 PM CEST, Quentin Schulz wrote:
> Hi Antonin,
>
> On 9/10/25 3:32 PM, Antonin Godard via lists.yoctoproject.org wrote:
>> On Wed Sep 10, 2025 at 3:16 PM CEST, Quentin Schulz via lists.yoctoproject.org wrote:
>>> Hi Antonin,
>>>
>>> On 9/10/25 3:08 PM, Antonin Godard wrote:
>>>> On Tue Sep 9, 2025 at 3:59 PM CEST, Quentin Schulz via lists.yoctoproject.org wrote:
>>>>> Hi Antonin,
>>>>>
>>>>> On 9/9/25 3:29 PM, Antonin Godard via lists.yoctoproject.org wrote:
>>>>>> Add a migration note on the pni-names default policy change after commit
>>>>>> <> in OE-Core.
>>>>>>
>>>>>
>>>>> General question, the systemd manpage specifies the policy as mac and
>>>>> not MAC, should we follow that as well?
>>>>>
>>>>>> Cc: Koen Kooi <koen.kooi@oss.qualcomm.com>
>>>>>> Cc: Ross Burton <Ross.Burton@arm.com>
>>>>>> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
>>>>>> ---
>>>>>> documentation/migration-guides/migration-5.3.rst | 25 ++++++++++++++++++++++++
>>>>>> 1 file changed, 25 insertions(+)
>>>>>>
>>>>>> diff --git a/documentation/migration-guides/migration-5.3.rst b/documentation/migration-guides/migration-5.3.rst
>>>>>> index 2d2f8d91a..8aa7b537f 100644
>>>>>> --- a/documentation/migration-guides/migration-5.3.rst
>>>>>> +++ b/documentation/migration-guides/migration-5.3.rst
>>>>>> @@ -118,6 +118,31 @@ class. Instead, one should create a new recipe to build this FIT image, as
>>>>>> described in the :ref:`Removed Classes <migration-guides/migration-5.3:Removed
>>>>>> Classes>` section of the Migration notes for |yocto-ver| (|yocto-codename|).
>>>>>>
>>>>>> +systemd Predictable Interface Names no longer MAC policy by default
>>>>>> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>>> +
>>>>>> +The :oe_git:`systemd recipe </openembedded-core/tree/meta/recipes-core/systemd>`
>>>>>> +used to forcibly set the MAC policy by default when the ``pni-names``
>>>>>> +:term:`distro feature <DISTRO_FEATURES>` was enabled. See
>>>>>
>>>>> s/was/is/ ?
>>>>>
>>>>>> +https://www.freedesktop.org/software/systemd/man/latest/systemd.link.html#AlternativeNamesPolicy=.
>>>>>> +
>>>>>> +This is no longer the case. Instead, when the ``pni-names`` :term:`distro
>>>>>
>>>>> SHould we justify here why it is no longer the case?
>>>>>
>>>>>> +feature <DISTRO_FEATURES>` is enabled, the default policy from systemd is
>>>>>> +selected (from https://github.com/systemd/systemd/blob/main/network/99-default.link).
>>>>>> +
>>>>>> +To set the MAC policy to systemd, add the following to a systemd ``.bbappend``
>>>>>
>>>>> s/to systemd/in systemd/ ?
>>>>>
>>>>>> +file in your custom layer::
>>>>>> +
>>>>>> + do_install:append() {
>>>>>> + if ${@bb.utils.contains('PACKAGECONFIG', 'pni-names', 'true', 'false', d)}; then
>>>>>> + if ! grep -q '^NamePolicy=.*mac' ${D}${nonarch_libdir}/systemd/network/99-default.link; then
>>>>>> + sed -i '/^NamePolicy=/s/$/ mac/' ${D}${nonarch_libdir}/systemd/network/99-default.link
>>>>>> + fi
>>>>>> + if ! grep -q 'AlternativeNamesPolicy=.*mac' ${D}${nonarch_libdir}/systemd/network/99-default.link; then
>>>>>> + sed -i '/AlternativeNamesPolicy=/s/$/ mac/' ${D}${nonarch_libdir}/systemd/network/99-default.link
>>>>>> + fi
>>>>>
>>>>> My brain's sh parser says this is invalid because we're missing a
>>>>> closing fi for the outermost if block.
>>>>
>>>> Yes, my bad I must have removed it by mistake
>>>>
>>>>> I'm also a bit worried about this code snippet as it'll just not be
>>>>> tested or maintained once this gets merged.
>>>>
>>>> This snippet belongs to a release note for 5.3 so it already matches the Yocto
>>>> version? I will include the version of systemd version here at the time of
>>>> writing to give some more context.
>>>>
>>>
>>> Does this mean that we already know it's not going to be compatible with
>>> Wrynose?
>>>
>>> People are told to follow each migration manual between their current
>>> and target Yocto releases, so this will essentially be understood as
>>> "apply for any release starting from 5.3".
>>>
>>> We already saw how well maintained old example recipes were since we
>>> don't test them, I'm not sure it makes sense to have code snippets we'll
>>> likely never test as well?
>>
>> A simpler approach could be to say:
>>
>> """
>> To set the mac policy to systemd, modify the ``99-default-link.link`` file
>> provided by systemd in a ``.bbappend`` file to set the ``NamePolicy=`` and
>> ``AlternativeNamesPolicy=`` settings to "mac".
>> """
>>
>> This should not require maintenance. Do you agree?
>>
[...]
> We could simply say that when pni-names is unset, NamePolicy and
> AlternativeNamesPolicy are unset. Otherwise, the systemd upstream
> default is used.
>
> Maybe add a link to the manpage as well, via :manpage:`systemd.link(5)`
> (not tested)?
>
> No better suggestion though :/
Yes, I think we both want to keep things simple. I'll send a v2 with a link to
the manpage and just mention the NamePolicy and AlternativeNamesPolicy options,
as you phrased it.
Thanks!
Antonin
--
Antonin Godard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
prev parent reply other threads:[~2025-09-12 11:28 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-09 13:29 [PATCH] migration-guides/migration-5.3.rst: add note on systemd pni-names change Antonin Godard
2025-09-09 13:59 ` [docs] " Quentin Schulz
2025-09-10 13:08 ` Antonin Godard
2025-09-10 13:16 ` Quentin Schulz
2025-09-10 13:32 ` Antonin Godard
2025-09-10 14:08 ` Quentin Schulz
2025-09-12 11:27 ` Antonin Godard [this message]
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=DCQSB16YG4WC.12YXCXX57B55Q@bootlin.com \
--to=antonin.godard@bootlin.com \
--cc=Ross.Burton@arm.com \
--cc=docs@lists.yoctoproject.org \
--cc=koen.kooi@oss.qualcomm.com \
--cc=quentin.schulz@cherry.de \
--cc=thomas.petazzoni@bootlin.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.