Hello,

On Wed Sep 23, 2026 at 10:39 AM CEST, Akash Hadke via lists.openembedded.org 
wrote:
> From: Akash Hadke <[email protected]>
>
> Backport upstream systemd PR #41000 to v255.22 to fix route handling
> in systemd-networkd when routes are configured on links that are not
> yet up.
>
> In 255.21, networkd only checks link readiness when configuring
> explicit nexthops. Routes using an implicit nexthop can therefore
> be processed while the bound link is still down, which breaks setups
> using ConfigureWithoutCarrier= and BindCarrier=. One visible symptom
> is that static multicast routes are not installed until much later,
> or are missed entirely, even though the address configuration succeeds.
>
> The upstream fix makes the readiness checks consistent by introducing
> a common link_is_up() helper, limiting gateway readiness checks to
> nexthops that are actually bound to a link, and moving the
> "link must be up" check into the shared gateway readiness path so both
> explicit and implicit nexthops follow the same logic. Upstream also
> adds a regression test for issue #40106.
>
> This backport is needed to keep route configuration reliable on
> carrier-dependent interfaces in our 255.22-based systemd.
>
> Ref: https://github.com/systemd/systemd/pull/41000
> https://github.com/systemd/systemd/issues/40106
>
> Tested:
> - Built core-image-minimal with INIT_MANAGER = "systemd" on qemux86-64.
> - Verified functional test case in QEMU:
>   * Setup dummy parent (carrier off) and VLAN child with BindCarrier=.
>   * Verified multicast route remains deferred while carrier is down.
>   * Verified multicast route installs immediately upon carrier up.
>   * Verified clean route recovery across carrier toggles.
>
> Signed-off-by: Akash Hadke <[email protected]>
> Signed-off-by: Akash Hadke <[email protected]>
> ---
>  ...introduce-link_is_up-helper-function.patch | 166 ++++++++++++++++++
>  ...ly-when-the-nexthop-is-bound-to-link.patch |  72 ++++++++
>  ...nd-to-a-link-requires-the-link-is-up.patch |  57 ++++++
>  ...etwork-add-test-case-for-issue-40106.patch | 117 ++++++++++++
>  meta/recipes-core/systemd/systemd_255.22.bb   |   4 +
>  5 files changed, 416 insertions(+)
>  create mode 100644 
> meta/recipes-core/systemd/systemd/0023-network-introduce-link_is_up-helper-function.patch
>  create mode 100644 
> meta/recipes-core/systemd/systemd/0024-network-check-if-gateway-is-ready-only-when-the-nexthop-is-bound-to-link.patch
>  create mode 100644 
> meta/recipes-core/systemd/systemd/0025-network-route-bound-to-a-link-requires-the-link-is-up.patch
>  create mode 100644 
> meta/recipes-core/systemd/systemd/0026-test-network-add-test-case-for-issue-40106.patch
>
> diff --git 
> a/meta/recipes-core/systemd/systemd/0023-network-introduce-link_is_up-helper-function.patch
>  
> b/meta/recipes-core/systemd/systemd/0023-network-introduce-link_is_up-helper-function.patch
> new file mode 100644
> index 0000000000..04f7963a8a
> --- /dev/null
> +++ 
> b/meta/recipes-core/systemd/systemd/0023-network-introduce-link_is_up-helper-function.patch
> @@ -0,0 +1,166 @@
> +From ec4f646759d6625bbafcd4ce67224fb63b99a96c Mon Sep 17 00:00:00 2001
> +From: Yu Watanabe <[email protected]>
> +Date: Mon, 9 Mar 2026 10:57:06 +0900
> +Subject: [PATCH] network: introduce link_is_up() helper function
> +
> +Upstream-Status: Backport 
> [https://github.com/systemd/systemd/pull/41000/commits/ec4f646759d6625bbafcd4ce67224fb63b99a96c]

Can you check if this patch is needed for wrynose as well? If that is
the case, then, you will have to send it for wrynose.

> +Comment: Patch is refreshed based on the 255.22 codebase
> +Did not pick changes from the below files as it is not matches to our code 
> base.
> +src/network/netdev/bond.c
> +src/network/networkd-route.c
> +
> +Signed-off-by: Akash Hadke <[email protected]>

This patch has formating issues (see below):
> +---
> + src/network/networkd-link.c    | 21 +++++++++++----------
> + src/network/networkd-link.h    |  1 +
> + src/network/networkd-nexthop.c |  4 ++--
> + src/network/networkd-route.c   |  2 +-
> + src/network/networkd-setlink.c | 11 +++++------
> + 6 files changed, 21 insertions(+), 20 deletions(-)
> +
> +diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
> +index e49d5946aa67d..c77b02b8e0192 100644
> +--- a/src/network/networkd-link.c
> ++++ b/src/network/networkd-link.c
> +@@ -726,7 +726,6 @@ int link_ipv6ll_gained(Link *link) {
> +
   ^ missing a space marking an emtpy context line here

Every other issues:

Error: Malformed patch line at 
meta/recipes-core/systemd/systemd/0023-network-introduce-link_is_up-helper-function.patch:26
Line content: '\n'
Context lines must start with exactly one space. This line is missing its 
prefix.
Error: Malformed patch line at 
meta/recipes-core/systemd/systemd/0023-network-introduce-link_is_up-helper-function.patch:31
Line content: '\n'
Context lines must start with exactly one space. This line is missing its 
prefix.
Error: Malformed patch line at 
meta/recipes-core/systemd/systemd/0023-network-introduce-link_is_up-helper-function.patch:36
Line content: '\n'
Context lines must start with exactly one space. This line is missing its 
prefix.
Error: Malformed patch line at 
meta/recipes-core/systemd/systemd/0023-network-introduce-link_is_up-helper-function.patch:45
Line content: '\n'
Context lines must start with exactly one space. This line is missing its 
prefix.
Error: Malformed patch line at 
meta/recipes-core/systemd/systemd/0023-network-introduce-link_is_up-helper-function.patch:52
Line content: '\n'
Context lines must start with exactly one space. This line is missing its 
prefix.
Error: Malformed patch line at 
meta/recipes-core/systemd/systemd/0023-network-introduce-link_is_up-helper-function.patch:66
Line content: '\n'
Context lines must start with exactly one space. This line is missing its 
prefix.
Error: Malformed patch line at 
meta/recipes-core/systemd/systemd/0023-network-introduce-link_is_up-helper-function.patch:78
Line content: '\n'
Context lines must start with exactly one space. This line is missing its 
prefix.
Error: Malformed patch line at 
meta/recipes-core/systemd/systemd/0023-network-introduce-link_is_up-helper-function.patch:82
Line content: '\n'
Context lines must start with exactly one space. This line is missing its 
prefix.
Error: Malformed patch line at 
meta/recipes-core/systemd/systemd/0023-network-introduce-link_is_up-helper-function.patch:85
Line content: '\n'
Context lines must start with exactly one space. This line is missing its 
prefix.
Error: Malformed patch line at 
meta/recipes-core/systemd/systemd/0023-network-introduce-link_is_up-helper-function.patch:92
Line content: '\n'
Context lines must start with exactly one space. This line is missing its 
prefix.
Error: Malformed patch line at 
meta/recipes-core/systemd/systemd/0023-network-introduce-link_is_up-helper-function.patch:99
Line content: '\n'
Context lines must start with exactly one space. This line is missing its 
prefix.
Error: Malformed patch line at 
meta/recipes-core/systemd/systemd/0023-network-introduce-link_is_up-helper-function.patch:110
Line content: '\n'
Context lines must start with exactly one space. This line is missing its 
prefix.

Regards,
-- 
Yoann Congal
Smile ECS

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#247017): 
https://lists.openembedded.org/g/openembedded-core/message/247017
Mute This Topic: https://lists.openembedded.org/mt/121389801/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to