- struct ifinfomsg *msg;
- int msg_len;
- struct rtattr *attrs[IFLA_MAX + 1];
- struct rtnl_link_stats *stats;
-
- const char *dev;
-
- if (nmh->nlmsg_type != RTM_NEWLINK)
- {
- ERROR ("netlink plugin: link_filter: Don't know how to handle type %i.",
- nmh->nlmsg_type);
- return (-1);
- }
-
- msg = NLMSG_DATA (nmh);
-
- msg_len = nmh->nlmsg_len - sizeof (struct ifinfomsg);
- if (msg_len < 0)
- {
- ERROR ("netlink plugin: link_filter: msg_len = %i < 0;", msg_len);
- return (-1);
- }
-
- memset (attrs, '\0', sizeof (attrs));
- if (parse_rtattr (attrs, IFLA_MAX, IFLA_RTA (msg), msg_len) != 0)
- {
- ERROR ("netlink plugin: link_filter: parse_rtattr failed.");
- return (-1);
- }
-
- if (attrs[IFLA_IFNAME] == NULL)
- {
- ERROR ("netlink plugin: link_filter: attrs[IFLA_IFNAME] == NULL");
- return (-1);
- }
- dev = RTA_DATA (attrs[IFLA_IFNAME]);
-