diff options
author | Ben Kochie <superq@gmail.com> | 2018-04-17 13:37:21 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-17 13:37:21 +0200 |
commit | 0f5be132ac5fc94ee923ec17ab3353780a76d5c4 (patch) | |
tree | 2ed0bcbc5b4010f76a811f73104d38c8946a498d | |
parent | f6008b242bead0f7b58c0aaf46d5b61e619f7fd7 (diff) | |
parent | a528966dcd5b48d9f2be2f3ebe199e6d764d7089 (diff) | |
download | prometheus_node_collector-0f5be132ac5fc94ee923ec17ab3353780a76d5c4.tar.bz2 prometheus_node_collector-0f5be132ac5fc94ee923ec17ab3353780a76d5c4.tar.xz prometheus_node_collector-0f5be132ac5fc94ee923ec17ab3353780a76d5c4.zip |
Merge pull request #904 from prometheus/superq/if_alias
Fix parsing of interface aliases in netdev linux
-rw-r--r-- | collector/fixtures/e2e-output.txt | 16 | ||||
-rw-r--r-- | collector/fixtures/proc/net/dev | 1 | ||||
-rw-r--r-- | collector/netdev_linux.go | 23 | ||||
-rw-r--r-- | collector/netdev_linux_test.go | 6 |
4 files changed, 37 insertions, 9 deletions
diff --git a/collector/fixtures/e2e-output.txt b/collector/fixtures/e2e-output.txt index 1795826..d550f87 100644 --- a/collector/fixtures/e2e-output.txt +++ b/collector/fixtures/e2e-output.txt | |||
@@ -1668,6 +1668,7 @@ node_netstat_Udp_OutDatagrams 53028 | |||
1668 | # TYPE node_network_receive_bytes_total counter | 1668 | # TYPE node_network_receive_bytes_total counter |
1669 | node_network_receive_bytes_total{device="docker0"} 6.4910168e+07 | 1669 | node_network_receive_bytes_total{device="docker0"} 6.4910168e+07 |
1670 | node_network_receive_bytes_total{device="eth0"} 6.8210035552e+10 | 1670 | node_network_receive_bytes_total{device="eth0"} 6.8210035552e+10 |
1671 | node_network_receive_bytes_total{device="ibr10:30"} 0 | ||
1671 | node_network_receive_bytes_total{device="lo"} 4.35303245e+08 | 1672 | node_network_receive_bytes_total{device="lo"} 4.35303245e+08 |
1672 | node_network_receive_bytes_total{device="lxcbr0"} 0 | 1673 | node_network_receive_bytes_total{device="lxcbr0"} 0 |
1673 | node_network_receive_bytes_total{device="tun0"} 1888 | 1674 | node_network_receive_bytes_total{device="tun0"} 1888 |
@@ -1677,6 +1678,7 @@ node_network_receive_bytes_total{device="wlan0"} 1.0437182923e+10 | |||
1677 | # TYPE node_network_receive_compressed_total counter | 1678 | # TYPE node_network_receive_compressed_total counter |
1678 | node_network_receive_compressed_total{device="docker0"} 0 | 1679 | node_network_receive_compressed_total{device="docker0"} 0 |
1679 | node_network_receive_compressed_total{device="eth0"} 0 | 1680 | node_network_receive_compressed_total{device="eth0"} 0 |
1681 | node_network_receive_compressed_total{device="ibr10:30"} 0 | ||
1680 | node_network_receive_compressed_total{device="lo"} 0 | 1682 | node_network_receive_compressed_total{device="lo"} 0 |
1681 | node_network_receive_compressed_total{device="lxcbr0"} 0 | 1683 | node_network_receive_compressed_total{device="lxcbr0"} 0 |
1682 | node_network_receive_compressed_total{device="tun0"} 0 | 1684 | node_network_receive_compressed_total{device="tun0"} 0 |
@@ -1686,6 +1688,7 @@ node_network_receive_compressed_total{device="wlan0"} 0 | |||
1686 | # TYPE node_network_receive_drop_total counter | 1688 | # TYPE node_network_receive_drop_total counter |
1687 | node_network_receive_drop_total{device="docker0"} 0 | 1689 | node_network_receive_drop_total{device="docker0"} 0 |
1688 | node_network_receive_drop_total{device="eth0"} 0 | 1690 | node_network_receive_drop_total{device="eth0"} 0 |
1691 | node_network_receive_drop_total{device="ibr10:30"} 0 | ||
1689 | node_network_receive_drop_total{device="lo"} 0 | 1692 | node_network_receive_drop_total{device="lo"} 0 |
1690 | node_network_receive_drop_total{device="lxcbr0"} 0 | 1693 | node_network_receive_drop_total{device="lxcbr0"} 0 |
1691 | node_network_receive_drop_total{device="tun0"} 0 | 1694 | node_network_receive_drop_total{device="tun0"} 0 |
@@ -1695,6 +1698,7 @@ node_network_receive_drop_total{device="wlan0"} 0 | |||
1695 | # TYPE node_network_receive_errs_total counter | 1698 | # TYPE node_network_receive_errs_total counter |
1696 | node_network_receive_errs_total{device="docker0"} 0 | 1699 | node_network_receive_errs_total{device="docker0"} 0 |
1697 | node_network_receive_errs_total{device="eth0"} 0 | 1700 | node_network_receive_errs_total{device="eth0"} 0 |
1701 | node_network_receive_errs_total{device="ibr10:30"} 0 | ||
1698 | node_network_receive_errs_total{device="lo"} 0 | 1702 | node_network_receive_errs_total{device="lo"} 0 |
1699 | node_network_receive_errs_total{device="lxcbr0"} 0 | 1703 | node_network_receive_errs_total{device="lxcbr0"} 0 |
1700 | node_network_receive_errs_total{device="tun0"} 0 | 1704 | node_network_receive_errs_total{device="tun0"} 0 |
@@ -1704,6 +1708,7 @@ node_network_receive_errs_total{device="wlan0"} 0 | |||
1704 | # TYPE node_network_receive_fifo_total counter | 1708 | # TYPE node_network_receive_fifo_total counter |
1705 | node_network_receive_fifo_total{device="docker0"} 0 | 1709 | node_network_receive_fifo_total{device="docker0"} 0 |
1706 | node_network_receive_fifo_total{device="eth0"} 0 | 1710 | node_network_receive_fifo_total{device="eth0"} 0 |
1711 | node_network_receive_fifo_total{device="ibr10:30"} 0 | ||
1707 | node_network_receive_fifo_total{device="lo"} 0 | 1712 | node_network_receive_fifo_total{device="lo"} 0 |
1708 | node_network_receive_fifo_total{device="lxcbr0"} 0 | 1713 | node_network_receive_fifo_total{device="lxcbr0"} 0 |
1709 | node_network_receive_fifo_total{device="tun0"} 0 | 1714 | node_network_receive_fifo_total{device="tun0"} 0 |
@@ -1713,6 +1718,7 @@ node_network_receive_fifo_total{device="wlan0"} 0 | |||
1713 | # TYPE node_network_receive_frame_total counter | 1718 | # TYPE node_network_receive_frame_total counter |
1714 | node_network_receive_frame_total{device="docker0"} 0 | 1719 | node_network_receive_frame_total{device="docker0"} 0 |
1715 | node_network_receive_frame_total{device="eth0"} 0 | 1720 | node_network_receive_frame_total{device="eth0"} 0 |
1721 | node_network_receive_frame_total{device="ibr10:30"} 0 | ||
1716 | node_network_receive_frame_total{device="lo"} 0 | 1722 | node_network_receive_frame_total{device="lo"} 0 |
1717 | node_network_receive_frame_total{device="lxcbr0"} 0 | 1723 | node_network_receive_frame_total{device="lxcbr0"} 0 |
1718 | node_network_receive_frame_total{device="tun0"} 0 | 1724 | node_network_receive_frame_total{device="tun0"} 0 |
@@ -1722,6 +1728,7 @@ node_network_receive_frame_total{device="wlan0"} 0 | |||
1722 | # TYPE node_network_receive_multicast_total counter | 1728 | # TYPE node_network_receive_multicast_total counter |
1723 | node_network_receive_multicast_total{device="docker0"} 0 | 1729 | node_network_receive_multicast_total{device="docker0"} 0 |
1724 | node_network_receive_multicast_total{device="eth0"} 0 | 1730 | node_network_receive_multicast_total{device="eth0"} 0 |
1731 | node_network_receive_multicast_total{device="ibr10:30"} 0 | ||
1725 | node_network_receive_multicast_total{device="lo"} 0 | 1732 | node_network_receive_multicast_total{device="lo"} 0 |
1726 | node_network_receive_multicast_total{device="lxcbr0"} 0 | 1733 | node_network_receive_multicast_total{device="lxcbr0"} 0 |
1727 | node_network_receive_multicast_total{device="tun0"} 0 | 1734 | node_network_receive_multicast_total{device="tun0"} 0 |
@@ -1731,6 +1738,7 @@ node_network_receive_multicast_total{device="wlan0"} 0 | |||
1731 | # TYPE node_network_receive_packets_total counter | 1738 | # TYPE node_network_receive_packets_total counter |
1732 | node_network_receive_packets_total{device="docker0"} 1.065585e+06 | 1739 | node_network_receive_packets_total{device="docker0"} 1.065585e+06 |
1733 | node_network_receive_packets_total{device="eth0"} 5.20993275e+08 | 1740 | node_network_receive_packets_total{device="eth0"} 5.20993275e+08 |
1741 | node_network_receive_packets_total{device="ibr10:30"} 0 | ||
1734 | node_network_receive_packets_total{device="lo"} 1.832522e+06 | 1742 | node_network_receive_packets_total{device="lo"} 1.832522e+06 |
1735 | node_network_receive_packets_total{device="lxcbr0"} 0 | 1743 | node_network_receive_packets_total{device="lxcbr0"} 0 |
1736 | node_network_receive_packets_total{device="tun0"} 24 | 1744 | node_network_receive_packets_total{device="tun0"} 24 |
@@ -1740,6 +1748,7 @@ node_network_receive_packets_total{device="wlan0"} 1.3899359e+07 | |||
1740 | # TYPE node_network_transmit_bytes_total counter | 1748 | # TYPE node_network_transmit_bytes_total counter |
1741 | node_network_transmit_bytes_total{device="docker0"} 2.681662018e+09 | 1749 | node_network_transmit_bytes_total{device="docker0"} 2.681662018e+09 |
1742 | node_network_transmit_bytes_total{device="eth0"} 9.315587528e+09 | 1750 | node_network_transmit_bytes_total{device="eth0"} 9.315587528e+09 |
1751 | node_network_transmit_bytes_total{device="ibr10:30"} 0 | ||
1743 | node_network_transmit_bytes_total{device="lo"} 4.35303245e+08 | 1752 | node_network_transmit_bytes_total{device="lo"} 4.35303245e+08 |
1744 | node_network_transmit_bytes_total{device="lxcbr0"} 2.630299e+06 | 1753 | node_network_transmit_bytes_total{device="lxcbr0"} 2.630299e+06 |
1745 | node_network_transmit_bytes_total{device="tun0"} 67120 | 1754 | node_network_transmit_bytes_total{device="tun0"} 67120 |
@@ -1749,6 +1758,7 @@ node_network_transmit_bytes_total{device="wlan0"} 2.85164936e+09 | |||
1749 | # TYPE node_network_transmit_carrier_total counter | 1758 | # TYPE node_network_transmit_carrier_total counter |
1750 | node_network_transmit_carrier_total{device="docker0"} 0 | 1759 | node_network_transmit_carrier_total{device="docker0"} 0 |
1751 | node_network_transmit_carrier_total{device="eth0"} 0 | 1760 | node_network_transmit_carrier_total{device="eth0"} 0 |
1761 | node_network_transmit_carrier_total{device="ibr10:30"} 0 | ||
1752 | node_network_transmit_carrier_total{device="lo"} 0 | 1762 | node_network_transmit_carrier_total{device="lo"} 0 |
1753 | node_network_transmit_carrier_total{device="lxcbr0"} 0 | 1763 | node_network_transmit_carrier_total{device="lxcbr0"} 0 |
1754 | node_network_transmit_carrier_total{device="tun0"} 0 | 1764 | node_network_transmit_carrier_total{device="tun0"} 0 |
@@ -1758,6 +1768,7 @@ node_network_transmit_carrier_total{device="wlan0"} 0 | |||
1758 | # TYPE node_network_transmit_colls_total counter | 1768 | # TYPE node_network_transmit_colls_total counter |
1759 | node_network_transmit_colls_total{device="docker0"} 0 | 1769 | node_network_transmit_colls_total{device="docker0"} 0 |
1760 | node_network_transmit_colls_total{device="eth0"} 0 | 1770 | node_network_transmit_colls_total{device="eth0"} 0 |
1771 | node_network_transmit_colls_total{device="ibr10:30"} 0 | ||
1761 | node_network_transmit_colls_total{device="lo"} 0 | 1772 | node_network_transmit_colls_total{device="lo"} 0 |
1762 | node_network_transmit_colls_total{device="lxcbr0"} 0 | 1773 | node_network_transmit_colls_total{device="lxcbr0"} 0 |
1763 | node_network_transmit_colls_total{device="tun0"} 0 | 1774 | node_network_transmit_colls_total{device="tun0"} 0 |
@@ -1767,6 +1778,7 @@ node_network_transmit_colls_total{device="wlan0"} 0 | |||
1767 | # TYPE node_network_transmit_compressed_total counter | 1778 | # TYPE node_network_transmit_compressed_total counter |
1768 | node_network_transmit_compressed_total{device="docker0"} 0 | 1779 | node_network_transmit_compressed_total{device="docker0"} 0 |
1769 | node_network_transmit_compressed_total{device="eth0"} 0 | 1780 | node_network_transmit_compressed_total{device="eth0"} 0 |
1781 | node_network_transmit_compressed_total{device="ibr10:30"} 0 | ||
1770 | node_network_transmit_compressed_total{device="lo"} 0 | 1782 | node_network_transmit_compressed_total{device="lo"} 0 |
1771 | node_network_transmit_compressed_total{device="lxcbr0"} 0 | 1783 | node_network_transmit_compressed_total{device="lxcbr0"} 0 |
1772 | node_network_transmit_compressed_total{device="tun0"} 0 | 1784 | node_network_transmit_compressed_total{device="tun0"} 0 |
@@ -1776,6 +1788,7 @@ node_network_transmit_compressed_total{device="wlan0"} 0 | |||
1776 | # TYPE node_network_transmit_drop_total counter | 1788 | # TYPE node_network_transmit_drop_total counter |
1777 | node_network_transmit_drop_total{device="docker0"} 0 | 1789 | node_network_transmit_drop_total{device="docker0"} 0 |
1778 | node_network_transmit_drop_total{device="eth0"} 0 | 1790 | node_network_transmit_drop_total{device="eth0"} 0 |
1791 | node_network_transmit_drop_total{device="ibr10:30"} 0 | ||
1779 | node_network_transmit_drop_total{device="lo"} 0 | 1792 | node_network_transmit_drop_total{device="lo"} 0 |
1780 | node_network_transmit_drop_total{device="lxcbr0"} 0 | 1793 | node_network_transmit_drop_total{device="lxcbr0"} 0 |
1781 | node_network_transmit_drop_total{device="tun0"} 0 | 1794 | node_network_transmit_drop_total{device="tun0"} 0 |
@@ -1785,6 +1798,7 @@ node_network_transmit_drop_total{device="wlan0"} 0 | |||
1785 | # TYPE node_network_transmit_errs_total counter | 1798 | # TYPE node_network_transmit_errs_total counter |
1786 | node_network_transmit_errs_total{device="docker0"} 0 | 1799 | node_network_transmit_errs_total{device="docker0"} 0 |
1787 | node_network_transmit_errs_total{device="eth0"} 0 | 1800 | node_network_transmit_errs_total{device="eth0"} 0 |
1801 | node_network_transmit_errs_total{device="ibr10:30"} 0 | ||
1788 | node_network_transmit_errs_total{device="lo"} 0 | 1802 | node_network_transmit_errs_total{device="lo"} 0 |
1789 | node_network_transmit_errs_total{device="lxcbr0"} 0 | 1803 | node_network_transmit_errs_total{device="lxcbr0"} 0 |
1790 | node_network_transmit_errs_total{device="tun0"} 0 | 1804 | node_network_transmit_errs_total{device="tun0"} 0 |
@@ -1794,6 +1808,7 @@ node_network_transmit_errs_total{device="wlan0"} 0 | |||
1794 | # TYPE node_network_transmit_fifo_total counter | 1808 | # TYPE node_network_transmit_fifo_total counter |
1795 | node_network_transmit_fifo_total{device="docker0"} 0 | 1809 | node_network_transmit_fifo_total{device="docker0"} 0 |
1796 | node_network_transmit_fifo_total{device="eth0"} 0 | 1810 | node_network_transmit_fifo_total{device="eth0"} 0 |
1811 | node_network_transmit_fifo_total{device="ibr10:30"} 0 | ||
1797 | node_network_transmit_fifo_total{device="lo"} 0 | 1812 | node_network_transmit_fifo_total{device="lo"} 0 |
1798 | node_network_transmit_fifo_total{device="lxcbr0"} 0 | 1813 | node_network_transmit_fifo_total{device="lxcbr0"} 0 |
1799 | node_network_transmit_fifo_total{device="tun0"} 0 | 1814 | node_network_transmit_fifo_total{device="tun0"} 0 |
@@ -1803,6 +1818,7 @@ node_network_transmit_fifo_total{device="wlan0"} 0 | |||
1803 | # TYPE node_network_transmit_packets_total counter | 1818 | # TYPE node_network_transmit_packets_total counter |
1804 | node_network_transmit_packets_total{device="docker0"} 1.929779e+06 | 1819 | node_network_transmit_packets_total{device="docker0"} 1.929779e+06 |
1805 | node_network_transmit_packets_total{device="eth0"} 4.3451486e+07 | 1820 | node_network_transmit_packets_total{device="eth0"} 4.3451486e+07 |
1821 | node_network_transmit_packets_total{device="ibr10:30"} 0 | ||
1806 | node_network_transmit_packets_total{device="lo"} 1.832522e+06 | 1822 | node_network_transmit_packets_total{device="lo"} 1.832522e+06 |
1807 | node_network_transmit_packets_total{device="lxcbr0"} 28339 | 1823 | node_network_transmit_packets_total{device="lxcbr0"} 28339 |
1808 | node_network_transmit_packets_total{device="tun0"} 934 | 1824 | node_network_transmit_packets_total{device="tun0"} 934 |
diff --git a/collector/fixtures/proc/net/dev b/collector/fixtures/proc/net/dev index 96dffa0..8b2dd6c 100644 --- a/collector/fixtures/proc/net/dev +++ b/collector/fixtures/proc/net/dev | |||
@@ -7,3 +7,4 @@ veth4B09XN: 648 8 0 0 0 0 0 0 1943284 | |||
7 | lxcbr0: 0 0 0 0 0 0 0 0 2630299 28339 0 0 0 0 0 0 | 7 | lxcbr0: 0 0 0 0 0 0 0 0 2630299 28339 0 0 0 0 0 0 |
8 | wlan0: 10437182923 13899359 0 0 0 0 0 0 2851649360 11726200 0 0 0 0 0 0 | 8 | wlan0: 10437182923 13899359 0 0 0 0 0 0 2851649360 11726200 0 0 0 0 0 0 |
9 | docker0: 64910168 1065585 0 0 0 0 0 0 2681662018 1929779 0 0 0 0 0 0 | 9 | docker0: 64910168 1065585 0 0 0 0 0 0 2681662018 1929779 0 0 0 0 0 0 |
10 | ibr10:30: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ||
diff --git a/collector/netdev_linux.go b/collector/netdev_linux.go index 19f60d7..468e444 100644 --- a/collector/netdev_linux.go +++ b/collector/netdev_linux.go | |||
@@ -27,7 +27,8 @@ import ( | |||
27 | ) | 27 | ) |
28 | 28 | ||
29 | var ( | 29 | var ( |
30 | procNetDevFieldSep = regexp.MustCompile("[ :] *") | 30 | procNetDevInterfaceRE = regexp.MustCompile(`^([\w:]+): *(.+)$`) |
31 | procNetDevFieldSep = regexp.MustCompile(` +`) | ||
31 | ) | 32 | ) |
32 | 33 | ||
33 | func getNetDevStats(ignore *regexp.Regexp) (map[string]map[string]string, error) { | 34 | func getNetDevStats(ignore *regexp.Regexp) (map[string]map[string]string, error) { |
@@ -52,28 +53,34 @@ func parseNetDevStats(r io.Reader, ignore *regexp.Regexp) (map[string]map[string | |||
52 | 53 | ||
53 | receiveHeader := strings.Fields(parts[1]) | 54 | receiveHeader := strings.Fields(parts[1]) |
54 | transmitHeader := strings.Fields(parts[2]) | 55 | transmitHeader := strings.Fields(parts[2]) |
55 | headerLength := len(receiveHeader) + len(transmitHeader) + 1 | 56 | headerLength := len(receiveHeader) + len(transmitHeader) |
56 | 57 | ||
57 | netDev := map[string]map[string]string{} | 58 | netDev := map[string]map[string]string{} |
58 | for scanner.Scan() { | 59 | for scanner.Scan() { |
59 | line := strings.TrimLeft(scanner.Text(), " ") | 60 | line := strings.TrimLeft(scanner.Text(), " ") |
60 | parts := procNetDevFieldSep.Split(line, -1) | 61 | parts := procNetDevInterfaceRE.FindStringSubmatch(line) |
61 | if len(parts) != headerLength { | 62 | if len(parts) != 3 { |
62 | return nil, fmt.Errorf("invalid line in net/dev: %s", scanner.Text()) | 63 | return nil, fmt.Errorf("couldn't get interface name, invalid line in net/dev: %q", line) |
63 | } | 64 | } |
64 | 65 | ||
65 | dev := parts[0][:len(parts[0])] | 66 | dev := parts[1] |
66 | if ignore.MatchString(dev) { | 67 | if ignore.MatchString(dev) { |
67 | log.Debugf("Ignoring device: %s", dev) | 68 | log.Debugf("Ignoring device: %s", dev) |
68 | continue | 69 | continue |
69 | } | 70 | } |
71 | |||
72 | values := procNetDevFieldSep.Split(strings.TrimLeft(parts[2], " "), -1) | ||
73 | if len(values) != headerLength { | ||
74 | return nil, fmt.Errorf("couldn't get values, invalid line in net/dev: %q", parts[2]) | ||
75 | } | ||
76 | |||
70 | netDev[dev] = map[string]string{} | 77 | netDev[dev] = map[string]string{} |
71 | for i := 0; i < len(receiveHeader); i++ { | 78 | for i := 0; i < len(receiveHeader); i++ { |
72 | netDev[dev]["receive_"+receiveHeader[i]] = parts[i+1] | 79 | netDev[dev]["receive_"+receiveHeader[i]] = values[i] |
73 | } | 80 | } |
74 | 81 | ||
75 | for i := 0; i < len(transmitHeader); i++ { | 82 | for i := 0; i < len(transmitHeader); i++ { |
76 | netDev[dev]["transmit_"+transmitHeader[i]] = parts[i+1+len(receiveHeader)] | 83 | netDev[dev]["transmit_"+transmitHeader[i]] = values[i+len(receiveHeader)] |
77 | } | 84 | } |
78 | } | 85 | } |
79 | return netDev, scanner.Err() | 86 | return netDev, scanner.Err() |
diff --git a/collector/netdev_linux_test.go b/collector/netdev_linux_test.go index 2adc12d..1c655b9 100644 --- a/collector/netdev_linux_test.go +++ b/collector/netdev_linux_test.go | |||
@@ -43,11 +43,15 @@ func TestNetDevStats(t *testing.T) { | |||
43 | t.Errorf("want netstat tun0 packets %s, got %s", want, got) | 43 | t.Errorf("want netstat tun0 packets %s, got %s", want, got) |
44 | } | 44 | } |
45 | 45 | ||
46 | if want, got := 6, len(netStats); want != got { | 46 | if want, got := 7, len(netStats); want != got { |
47 | t.Errorf("want count of devices to be %d, got %d", want, got) | 47 | t.Errorf("want count of devices to be %d, got %d", want, got) |
48 | } | 48 | } |
49 | 49 | ||
50 | if _, ok := netStats["veth4B09XN"]["transmit_bytes"]; ok { | 50 | if _, ok := netStats["veth4B09XN"]["transmit_bytes"]; ok { |
51 | t.Error("want fixture interface veth4B09XN to not exist, but it does") | 51 | t.Error("want fixture interface veth4B09XN to not exist, but it does") |
52 | } | 52 | } |
53 | |||
54 | if want, got := "0", netStats["ibr10:30"]["receive_fifo"]; want != got { | ||
55 | t.Error("want fixture interface ibr10:30 to exist, but it does not") | ||
56 | } | ||
53 | } | 57 | } |