diff options
-rw-r--r-- | examples/genl-family-get.c | 4 | ||||
-rw-r--r-- | examples/rtnl-link-dump.c | 4 | ||||
-rw-r--r-- | examples/rtnl-link-event.c | 4 | ||||
-rw-r--r-- | examples/rtnl-route-dump.c | 4 |
4 files changed, 16 insertions, 0 deletions
diff --git a/examples/genl-family-get.c b/examples/genl-family-get.c index 3e741cb..e6033af 100644 --- a/examples/genl-family-get.c +++ b/examples/genl-family-get.c @@ -51,6 +51,10 @@ static int data_cb(const struct nlmsghdr *nlh, void *data) struct nlattr *tb[CTRL_ATTR_MAX+1]; struct genlmsghdr *genl = mnl_nlmsg_get_data(nlh); + /* this does not come from the kernel. */ + if (nlh->nlmsg_pid != 0) + return MNL_CB_OK; + mnl_attr_parse_at_offset(nlh, sizeof(*genl), tb, CTRL_ATTR_MAX); if (tb[CTRL_ATTR_FAMILY_NAME]) { printf("name=%s\t", diff --git a/examples/rtnl-link-dump.c b/examples/rtnl-link-dump.c index 7cf061d..cc3fdf7 100644 --- a/examples/rtnl-link-dump.c +++ b/examples/rtnl-link-dump.c @@ -14,6 +14,10 @@ static int data_cb(const struct nlmsghdr *nlh, void *data) int len = mnl_nlmsg_get_len(nlh); struct nlattr *attr; + /* this does not come from the kernel. */ + if (nlh->nlmsg_pid != 0) + return MNL_CB_OK; + printf("index=%d type=%d flags=%d family=%d ", ifm->ifi_index, ifm->ifi_type, ifm->ifi_flags, ifm->ifi_family); diff --git a/examples/rtnl-link-event.c b/examples/rtnl-link-event.c index ed5a577..3cff82d 100644 --- a/examples/rtnl-link-event.c +++ b/examples/rtnl-link-event.c @@ -14,6 +14,10 @@ static int data_cb(const struct nlmsghdr *nlh, void *data) int len = mnl_nlmsg_get_len(nlh); struct nlattr *attr; + /* this does not come from the kernel. */ + if (nlh->nlmsg_pid != 0) + return MNL_CB_OK; + printf("index=%d type=%d flags=%d family=%d ", ifm->ifi_index, ifm->ifi_type, ifm->ifi_flags, ifm->ifi_family); diff --git a/examples/rtnl-route-dump.c b/examples/rtnl-route-dump.c index e8f3a0c..131d344 100644 --- a/examples/rtnl-route-dump.c +++ b/examples/rtnl-route-dump.c @@ -55,6 +55,10 @@ static int data_cb(const struct nlmsghdr *nlh, void *data) int len = mnl_nlmsg_get_len(nlh); struct nlattr *attr; + /* this does not come from the kernel. */ + if (nlh->nlmsg_pid != 0) + return MNL_CB_OK; + /* protocol family = AF_INET | AF_INET6 */ printf("family=%u ", rm->rtm_family); |