I've completed the first pass of my changes to pktgen in 2.6.18. Many of these features are probably DOA based on previous conversations, but perhaps this will help someone....
Changes: * use a nano-second timer based on the scheduler timer (TSC) for relative times, instead of get_time_of_day. * Don't busy-spin: * add hook to netdevice wake tx queue to re-start when queue was stopped. * add logic to pktgen to register/unregister this hook. * accumulate delay and sleep interruptible on a queue when 1ms of sleep has accumulated or when the associated netdev tx-queues for pktgen devices needing to transmit are asleep. (This all assumes that HZ is 1000, could probably work with other HZ with minor work.) * Add receive logic to dev.c so that pktgen can receive packets and report on various stats including latency, packet loss, jitter, etc. * Remove the if-lock, primarily by making the 'add-interface' logic deferred to the thread's main loop. It's likely I missed a corner case or two here, hopefully I'll find them all in testing... * Add ioctl to grab all of the pktgen stats in one call. The pktgen.[ch] patch is here: http://www.candelatech.com/oss/pktgen.patch The full patch, including the callback hooks (and several other features) is located here: http://www.candelatech.com/oss/candela_2.6.18.patch Thanks, Ben -- Ben Greear <[EMAIL PROTECTED]> Candela Technologies Inc http://www.candelatech.com - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html