Hi, I'm working on an NSF grant this summer to develop a Beowulf Cluster Monitoring system. We're trying to monitor both idle CPU time and Network access. One thing we're stuck on right now is an appropriate place to put our code into the kernel so that we can monitor some of the network access. We'd really like to know source and destination IP for each packet, as well as protocol and size of each packet. We tried to put our code in net/core/dev.c, but we realized those modifications cut down the network throughput. Another thing we're looking for is how to transfer data across the PCI card. We are designing a PCI card to send this data over a network that we design to a monitoring computer to then display the data. Do we just write to the memory allocated to each device to send data across the PCI bus? How do we know when the data we have written there is actually sent? Thanks! Any help would be appreciated. We are working at an undergraduate institution and the only people working on this are 2 electrical engineers with minimal kernel knowledge and little C knowledge as well. Jeremy & Jeremy -- ------------------ Jeremy C. Andrus http://www.jeremya.com/ ------------------ -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/