From: Yu Watanabe Date: Mon, 6 Dec 2021 20:47:31 +0000 (+0900) Subject: network/netdev: create stacked netdevs after all set-link operations are finished X-Git-Tag: v250-rc1~41^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f7144e7b0f146799ffde7cda13788fd9712c4326;p=thirdparty%2Fsystemd.git network/netdev: create stacked netdevs after all set-link operations are finished E.g. setting MAC address must be done before creating VLAN interface. --- diff --git a/src/network/netdev/netdev.c b/src/network/netdev/netdev.c index 9f9519fa50c..7797f2a693d 100644 --- a/src/network/netdev/netdev.c +++ b/src/network/netdev/netdev.c @@ -612,8 +612,6 @@ int netdev_join(NetDev *netdev, Link *link, link_netlink_message_handler_t callb } static bool netdev_is_ready_to_create(NetDev *netdev, Link *link) { - Request req; - assert(netdev); assert(link); @@ -625,13 +623,7 @@ static bool netdev_is_ready_to_create(NetDev *netdev, Link *link) { link->state != LINK_STATE_CONFIGURED) return false; - req = (Request) { - .link = link, - .type = REQUEST_TYPE_SET_LINK, - .set_link_operation_ptr = INT_TO_PTR(SET_LINK_MTU), - }; - - if (ordered_set_contains(link->manager->request_queue, &req)) + if (link->set_link_messages > 0) return false; return true;