On Thu, 28 Jan 2010 17:57:32 +0100 "Bret S. Lambert" <bret.lamb...@gmail.com> wrote:
> 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 > http://www.youtube.com/watch?v=V85It0dGUF4&feature=channel