On Thu, Jan 28, 2010 at 09:26:04AM -0700, Sean Mackrory wrote: > Hi all, > I'm interested in OS network stacks, and I'm very interested in OpenBSD, > but I'm coming from a Linux background, and I've had a hard time finding > resources that cover the way the kernel code is organized. Learning > cold from the source code is tricky - so if someone could point me in > the right direction I'd appreciate it. > In Linux terms, I'm looking for the equivalent of queue_dev_xmit and > net_rx. Simply put - they're the 'send' and 'recieve' interface between > device drivers and the link layer (although there are lesser-used > alternatives). I've found ether_input and ether_output in net/ > if_ethersubr.c, and it seems they're called by USB and other device > code. Are these the functions I'm looking for? And if so, are there > other functions that support other Link Layer protocols? (Not that I'm > aware of any common ones) I like thinking of the network stack as a well > define top (system calls) and a well-defined bottom (a device agnostic > interface, perhaps?) but this bottom is hard to define, and that's what > I'm looking for. Of course, if I'm totally missing some significant > difference between Linux and BSD, please tell me! > I hope I can become a contributing member of the community quickly.
http://www.openbsd.org/papers/asiabsdcon08-network > > Cheers, > Sean Mackrory > [email protected]

