summaryrefslogtreecommitdiff
path: root/src/libsystemd/sd-rtnl/rtnl-message.c
diff options
context:
space:
mode:
authorTom Gundersen <teg@jklm.no>2014-03-16 13:02:16 +0100
committerTom Gundersen <teg@jklm.no>2014-03-16 13:05:04 +0100
commit1f0db3ed88015a0510b8bf4723af2121ee55d9a8 (patch)
treeaabad4190b147ce043793385e71468e61e8e7f6e /src/libsystemd/sd-rtnl/rtnl-message.c
parente09826dcf13a17cd63d900502282c511a06ecbe8 (diff)
sd-rtnl: never treat broadcasts as replies
Otherwise the sequence number of a broadcast may match the sequence number of a pending unicast message and cause confusion.
Diffstat (limited to 'src/libsystemd/sd-rtnl/rtnl-message.c')
-rw-r--r--src/libsystemd/sd-rtnl/rtnl-message.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/libsystemd/sd-rtnl/rtnl-message.c b/src/libsystemd/sd-rtnl/rtnl-message.c
index 7ea68f18ae..e243c7b075 100644
--- a/src/libsystemd/sd-rtnl/rtnl-message.c
+++ b/src/libsystemd/sd-rtnl/rtnl-message.c
@@ -295,6 +295,12 @@ int sd_rtnl_message_get_type(sd_rtnl_message *m, uint16_t *type) {
return 0;
}
+int sd_rtnl_message_is_broadcast(sd_rtnl_message *m) {
+ assert_return(m, -EINVAL);
+
+ return !m->hdr->nlmsg_pid;
+}
+
int sd_rtnl_message_link_get_ifindex(sd_rtnl_message *m, int *ifindex) {
struct ifinfomsg *ifi;