Greetings, I'm working on a datalink NKE which is a port of a body of code that works on Solaris and Linux. At this point I'm trying to get the darwin-specific parts of the kernel/userland IPC mechanism figured out. The Linux code seems to blindly hijack the PF_KEY domain and excuses doing so with a rather lame comment that anything else using it would conflict with the module anyway so it's OK. I'd rather not do this on darwin / MacOS X and am eyeing the NKE Manager. Conceptually I think I get it. It marshals connections to a domain specifically create to allow userland code to find an NKE based on its handle. My problem is in the details. I assume my NKE it must register for connections against the same PF_NKE domain. I also assume that "protocol" in this case is the distinction between a socket NKE and a datalink NKE. What is this distinction for as far as the NKE Manager stuff is concerned? Why would I use one over the other? (I understand what protocol NKE v. datalink NKE means for actually plumbing into the networking stack. That's not what's confusing me. I don't understand why a control connection to an NKE would need to consider this.) My other confusion is from userland, when I create a raw socket to the PF_NKE domain and specify the socket or dlink protocol (again, ?) when do I specify the NKE handle I'm looking for? And what is it that such a socket connects to? Does the NKE manager magically bridge the socket over to the NKE with the matching handle? Docs or sample code would answer all of these questions, of course, but there's precious little out there on the NKE Manager (other than its source code which does not describe how to _use_ it from either my NKE or from userland). Thanks for any assistance! Mike _______________________________________________ darwin-kernel mailing list | darwin-kernel@lists.apple.com Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/darwin-kernel Do not post admin requests to the list. They will be ignored.
participants (1)
-
Michael Cashwell