]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: address: read flags from message header when IFA_FLAGS is not supported... 21672/head
authorYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 7 Dec 2021 20:35:37 +0000 (05:35 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 7 Dec 2021 20:40:09 +0000 (05:40 +0900)
Follow-up for 0828a38605975b68c14c9194a1ee2c5c2ff7038f.

Fixes #21670.

src/network/networkd-address.c

index 826b061f24e2214c080f11f96a24613159a57c10..6eea4ff0bda21f82908955e20bb6cc489279a585 100644 (file)
@@ -1314,6 +1314,14 @@ int manager_rtnl_process_address(sd_netlink *rtnl, sd_netlink_message *message,
         }
 
         r = sd_netlink_message_read_u32(message, IFA_FLAGS, &tmp->flags);
+        if (r == -ENODATA) {
+                unsigned char flags;
+
+                /* For old kernels. */
+                r = sd_rtnl_message_addr_get_flags(message, &flags);
+                if (r >= 0)
+                        tmp->flags = flags;
+        }
         if (r < 0) {
                 log_link_warning_errno(link, r, "rtnl: received address message without flags, ignoring: %m");
                 return 0;