chiark / gitweb /
sd-rtnl: improve detection of broadcast messages
[elogind.git] / src / libsystemd / sd-rtnl / rtnl-message.c
index 8bb7bcdd05750209df1d439074ef5c702157f9e0..d24769b4b99905b05094d782dff6fe48bb1ed31d 100644 (file)
@@ -654,7 +654,7 @@ int sd_rtnl_message_get_family(sd_rtnl_message *m, int *family) {
 int sd_rtnl_message_is_broadcast(sd_rtnl_message *m) {
         assert_return(m, -EINVAL);
 
-        return !m->hdr->nlmsg_pid;
+        return m->broadcast;
 }
 
 int sd_rtnl_message_link_get_ifindex(sd_rtnl_message *m, int *ifindex) {
@@ -1577,6 +1577,8 @@ int socket_read_message(sd_rtnl *rtnl) {
                 if (r < 0)
                         return r;
 
+                m->broadcast = !!group;
+
                 m->hdr = memdup(new_msg, new_msg->nlmsg_len);
                 if (!m->hdr)
                         return -ENOMEM;