diff -ruN collectd/Makefile collectd.new/Makefile --- collectd/Makefile 2014-06-11 16:49:59.000000000 +0200 +++ collectd.new/Makefile 2014-07-04 23:38:45.292748000 +0200 @@ -3,7 +3,7 @@ PORTNAME= collectd PORTVERSION= 4.10.9 -PORTREVISION= 7 +PORTREVISION= 8 CATEGORIES= net-mgmt MASTER_SITES= http://collectd.org/files/ diff -ruN collectd/files/patch-src__interface.c collectd.new/files/patch-src__interface.c --- collectd/files/patch-src__interface.c 1970-01-01 01:00:00.000000000 +0100 +++ collectd.new/files/patch-src__interface.c 2014-07-04 23:38:34.833755000 +0200 @@ -0,0 +1,36 @@ +--- src/interface.c.orig 2014-01-05 00:36:58.000000000 +0400 ++++ src/interface.c 2014-01-05 00:45:10.000000000 +0400 +@@ -212,20 +212,19 @@ static int interface_read (void) + return (-1); + + for (if_ptr = if_list; if_ptr != NULL; if_ptr = if_ptr->ifa_next) +- { +- if ((if_data = (struct IFA_DATA *) if_ptr->ifa_data) == NULL) +- continue; +- +- if_submit (if_ptr->ifa_name, "if_octets", +- if_data->IFA_RX_BYTES, +- if_data->IFA_TX_BYTES); +- if_submit (if_ptr->ifa_name, "if_packets", +- if_data->IFA_RX_PACKT, +- if_data->IFA_TX_PACKT); +- if_submit (if_ptr->ifa_name, "if_errors", +- if_data->IFA_RX_ERROR, +- if_data->IFA_TX_ERROR); +- } ++ if (if_ptr->ifa_addr != NULL && if_ptr->ifa_addr->sa_family == AF_LINK) { ++ if_data = (struct IFA_DATA *) if_ptr->ifa_data; ++ ++ if_submit (if_ptr->ifa_name, "if_octets", ++ if_data->IFA_RX_BYTES, ++ if_data->IFA_TX_BYTES); ++ if_submit (if_ptr->ifa_name, "if_packets", ++ if_data->IFA_RX_PACKT, ++ if_data->IFA_TX_PACKT); ++ if_submit (if_ptr->ifa_name, "if_errors", ++ if_data->IFA_RX_ERROR, ++ if_data->IFA_TX_ERROR); ++ } + + freeifaddrs (if_list); + /* #endif HAVE_GETIFADDRS */