Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 22 May 2010 09:20:47 -0500
From:      Rayson Ho <raysonlogin@gmail.com>
To:        "freebsd-hackers@freebsd.org" <freebsd-hackers@freebsd.org>
Cc:        Anjali Kulkarni <anjali@juniper.net>
Subject:   Re: Common OS/kernel code between freebsd and linux
Message-ID:  <AANLkTilmgi4K42hStMaSv-ViRdKJ4oTe4vBQjnA2ewlb@mail.gmail.com>
In-Reply-To: <50B3A5560BA4D74CADEC55A48B4641B23D5119D0BA@EMBX01-HQ.jnpr.net>
References:  <50B3A5560BA4D74CADEC55A48B4641B23D5119D0BA@EMBX01-HQ.jnpr.net>

next in thread | previous in thread | raw e-mail | index | archive | help
The BSD TCP stack is at least in OpenVMS & QNX:

"Parallelism and Performance in the OpenVMS TCP/IP Kernel":
http://h71000.www7.hp.com/openvms/journal/v4/tcp_ip_scalable_kernel.html
http://h71000.www7.hp.com/openvms/journal/v4/tcp_ip_scalable_kernel.pdf

"Porting the NetBSD IP stack to a microkernel
RTOS":
http://www.bsdcan.org/2007/schedule/events/37.en.html

(The QNX guys emailed me the presentation PDF -- let me know if you
want a copy.)

But the design approach of each TCP stack is different - most are
designed for speed, some for small memory footprint, and the stack in
Solaris got rewritten in Solaris 10 because the old one was not good
enough on new multi-core machines (google: Solaris+FireEngine).

Further, the implementation & rules of synchronization point &
techniques in each OS is different, and thus I believe creating a
portable TCP stack is not easy - esp. you will need the Linux vs. *BSD
developers working together designing a common interface...

Rayson



On Sat, May 22, 2010 at 7:09 AM, Anjali Kulkarni <anjali@juniper.net> wrote=
:
> Hi Folks,
>
> I am not sure the right forum to ask this question - is there any effort =
done to find portable code between different OSes, particularly freebsd and=
 linux?
> Specifically, the networking layer could be portable between the 2 and th=
ere could be some set of APIs to call into the OS specific parts. This coul=
d be modeled as - if I want to port the networking layer or other stuff to =
userland, what set of code could reside in userspace such that that layer i=
s portable between OSes ? For eg, there could be an API to access mbufs or =
skbuffs in freebsd or linux respectively, but the processing to be done for=
 IP etc could remain the same. I don't know if this is worth thinking about=
? Please share your thoughts.
>
> Anjali_______________________________________________
> freebsd-hackers@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org=
"
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTilmgi4K42hStMaSv-ViRdKJ4oTe4vBQjnA2ewlb>