site_archiver@lists.apple.com Delivered-To: darwin-kernel@lists.apple.com -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On May 18, 2005, at 12:39 AM, Josh Graessley wrote:
sock_shutdown should work fine to disconnect a TCP socket.
Yes, I thought of that right after I sent the email. Always seems to be the case. :)
There is a KPI hands-on session at WWDC.
Kernel Extensions on Thursday from 2PM to 3:30PM in the Performance & Tools lab.
Great! I will be there.
When you say that you are "tracking TCP state changes via access to the raw TCP header", do you mean you look at the tcp control block? There is no way to do that on Tiger. You can receive notification of a number of state changes through a socket filter.
That's what I was afraid of. I was hoping Tiger would not make the headers opaque as sockaddr (and others) was left in tact, so this is going to cause some major work.
What exactly are you trying to accomplish?
Well, w/o going into too much detail, our product uses a complete abstraction layer for kernel services (malloc, threads, locks, etc) - -- included in that abstraction is an aysnc IP wrapper model that provides an abstraction over the socket interface -- all of this is done to make porting easier to other platforms, and it's actually making the move to Tiger much easier, as our product has a very large number of kexts. The IP abstraction model expects to be able to track TCP transition states. I'm going to get into the TCP conversion today, so I'll have a better idea of what Tiger breaks tomorrow. It already sounds like this is going to be a pain though. The ability to separately specify whether send/receive should upcall has caused some headaches already -- Tiger is all or none. Thanks for you replies, I appreciate it.
-josh
On May 17, 2005, at 10:08 PM, Brian Bergstrand wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Yes, I didn't mean to imply a re-use of a TCP socket -- just if sock_connect(INADDR_ANY) will cause a disconnect of the current connection. Our current model issues a disconnect because it needs to hang onto the socket for a while longer before actually closing it. I suppose I could do a retain before the close to keep the socket around.
I also noticed that soabort is missing a KPI replacement -- we were using this to abort a connection in progress -- although retain/close should work there too.
Brian Bergstrand <http://www.bergstrand.org/brian/> PGP Key ID: 0xB6C7B6A2 -----BEGIN PGP SIGNATURE----- Version: PGP Desktop 9.0.1 (Build 2130) iQA/AwUBQothAHnR2Fu2x7aiEQLd9gCgvNKlkLNlwzVwOiG/mEew2SdXQsgAoJxL roqy4BISdkzv5xG8IVXae4qe =AQNs -----END PGP SIGNATURE----- _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/site_archiver%40lists.a... This email sent to site_archiver@lists.apple.com