From aadef3786f79d6e3a2fed7a8b234342bbc259b1c Mon Sep 17 00:00:00 2001 From: Joerg Wunsch Date: Sat, 15 Mar 1997 10:36:08 +0000 Subject: Update of xperfmon++ from Lars. The previous port didn't work with 2.2 (says Lars). I have now also moved freebsd_system.c out into a files subdirectory, it used to be created in its entirety by patch-aa before which makes maintenance fairly uncomfortable. I have now verified that it builds and works with FreeBSD 2.1.x (freefall -- it is really funny to watch it there, the disk transfers and interrupts remain in the red zone all the time ;-), 3.0-current (thud), and 2.2. Submitted by: Lars_Koeller@odie.physik2.Uni-Rostock.DE OKed by: asami --- sysutils/xperfmon/files/patch-ac | 62 ---------------------------------------- 1 file changed, 62 deletions(-) delete mode 100644 sysutils/xperfmon/files/patch-ac (limited to 'sysutils/xperfmon/files/patch-ac') diff --git a/sysutils/xperfmon/files/patch-ac b/sysutils/xperfmon/files/patch-ac deleted file mode 100644 index c2cc4b6f7632..000000000000 --- a/sysutils/xperfmon/files/patch-ac +++ /dev/null @@ -1,62 +0,0 @@ ---- freebsd_system.c.orig Sun Jan 19 18:43:41 1997 -+++ freebsd_system.c Sun Jan 19 18:42:59 1997 -@@ -75,6 +75,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -310,7 +311,8 @@ - Collect the Network-Traffic - */ - -- if (nl[N_IFNET].n_value != 0) { -+ if ((ifnetaddr = nl[N_IFNET].n_value) != 0) { -+#if __FreeBSD_version < 300000 - struct ifnet ifnet; - kread(N_IFNET, &ifnetaddr, sizeof(ifnetaddr)); - old_packets = packets; -@@ -322,6 +324,41 @@ - packets.collisions += ifnet.if_collisions; - ifnetaddr = (u_long) ifnet.if_next; - } -+#else /* 3.0-* */ -+ /* Stolen from netstat/if.c */ -+ struct ifnet ifnet; -+ struct ifnethead ifnethead; -+ u_long ifaddraddr, ifnetfound; -+ struct ifaddr ifa; -+ -+ if(kvm_read(kd, ifnetaddr, (char *)&ifnethead, sizeof ifnethead) == -1) -+ return; -+ ifnetaddr = (u_long)ifnethead.tqh_first; -+ if(kvm_read(kd, ifnetaddr, (char *)&ifnet, sizeof ifnet) == -1) -+ return; -+ -+ old_packets = packets; -+ packets.input = packets.output = packets.collisions = 0; -+ ifaddraddr = 0; -+ while (ifnetaddr || ifaddraddr) { -+ if (ifaddraddr == 0) { -+ ifnetfound = ifnetaddr; -+ if(kvm_read(kd, ifnetaddr, (char *)&ifnet, sizeof ifnet) == -1) -+ return; -+ ifnetaddr = (u_long)ifnet.if_link.tqe_next; -+ ifaddraddr = (u_long)ifnet.if_addrhead.tqh_first; -+ } -+ if (kvm_read(kd, ifaddraddr, (char *)&ifa, sizeof ifa) == -1) { -+ ifaddraddr = 0; -+ continue; -+ } -+ ifaddraddr = (u_long)ifa.ifa_link.tqe_next; -+ -+ packets.input += ifnet.if_ipackets; -+ packets.output += ifnet.if_opackets; -+ packets.collisions += ifnet.if_collisions; -+ } -+#endif - } - - /* -- cgit v1.2.3