Version: 1.1

Posted: 2005-08-10

Build Requirements: Mac OS X 10.4 or greater and Xcode 2.0

Runtime Requirements: Mac OS X 10.4 or greater

View Source Code:

Download Sample (“enetlognke.zip”, 31.3K)
Download Sample (“enetlognke.dmg”, 90.2K)



Description

The enetlognke demonstrates the implementation of a network interface filter for processing incoming and outgoing packets using the new Kernel Programming Interfaces provided in OS X 10.4. The sample demonstrates the use of the fine grain locking API's to serialize access to data queues, as well as the mbuf tag calls for tracking processing of mbufs by kernel extension code. This sample also demonstrates how the kernel process can "swallow" a packet and re-inject the packet at a later time. The sample demonstrates the implementation of each of the intercept functions for an interface filter kernel process.

This sample code has been updated to include a project (for Xcode 2.1) to produce a universal binary and there were no code changes required for it to run correctly on the Developer Transition Systems.

Document Revision History

Date Notes
2005-08-10Updated to produce a universal binary. No code changes required.
2005-06-06Interface filter based on supported Kernel Programming Interfaces for Tiger.

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.