errno = EBADMSG;
return -1;
}
+
+ /* Ignore messages generated by us.
+ * For some reason we get messages generated by us
+ * with a very large value in nlmsg_pid that seems to be
+ * sequentially changing. Is there a better test for this? */
+ if (nlm->nlmsg_pid > get_max_pid_t())
+ return 1;
+
ifa = NLMSG_DATA(nlm);
if ((ifp = if_findindex(ctx->ifaces, ifa->ifa_index)) == NULL) {
/* We don't know about the interface the address is for