case IFLA_IFALIAS:
case IFLA_QDISC:
return add_rtattr(m, type, data, strlen(data) + 1);
+ case IFLA_MASTER:
case IFLA_MTU:
case IFLA_LINK:
return add_rtattr(m, type, data, sizeof(uint32_t));
else if ((size_t) k < sizeof(struct nlmsghdr) ||
(size_t) k < m->hdr->nlmsg_len)
k = -EIO; /* too small (we do accept too big though) */
- else if (m->hdr->nlmsg_pid != nl->sockaddr.nl.nl_pid)
- k = 0; /* not for us */
+ else if (m->hdr->nlmsg_pid && m->hdr->nlmsg_pid != nl->sockaddr.nl.nl_pid)
+ k = 0; /* not broadcast and not for us */
if (k > 0)
switch (m->hdr->nlmsg_type) {