[Ns-developers] GSOC & Optical Burst Switching Network patch port.

rAjEs rajesh.rc at gmail.com
Sun Apr 6 14:47:31 PDT 2008


Hi
Some confusions about Linux kernel network stack integration project idea. I
have copy the project idea in one paragraph and my thoughts in the other
paragraph with dash lines. I need to rectify my understanding so that i can
modify my applications.

The goal here is to be able to run a minimally modified (ideally,
unmodified) linux kernel network stack (initially, ipv4/tcp) within our
network simulator. There are two distinct components to this project:

---It means that are we modifying the code of kernel (like
para-virtualization concept). Since the NetDevice Class is the class which
defines the IP and ARP layer and it also manages  the instances of a network
driver(Here network driver means the user-space network driver!!).

Implement a set of glue layers to provide a 'kernel' environment for kernel
code. This will require: a re-implementation of the basic kernel library
functions (memory allocation, timers, etc.), the implementation of a fake
linux network driver to act as a bridge between the ns-3 NetDevice class and
the linux struct net_device, and, the implementation of an ns-3 fake socket
to act as a bridge between ns-3 applications and linux kernel sockets.

--- what do you mean "kernel environment for kernel code". As far as i
understand we are modifying the kernel library. So then our kernel will be
custom kernel(confused). This fake driver you mean reside on user space or
kernel space . Since as i know Class NetDevice is analogous to the interface
above the dev_queue_xmit() of linux kernel network code. This function uses
the sk_buff (Data movement for sockets takes place using a core structure
called the socket buffer). And can you elaborate about the ns-3 fake
sockets.

---- Till know i am understanding that this linux kernel network integration
can be implemented into linux kernel or user-space driver. And where are we
planning to implement ?. If we are implementing the fake driver in kernel
can we use NAPI apis for the network.

Re-use the network namespace code to allow instanciating multiple network
stacks within a single address space. This area of the kernel code is still
undergoing heavy development so, we expect that a lot of debugging will have
to happen, as well, as, potentially, cleaning up some rought edges of the
kernel implementation.

----- As stated the kernel code is undergoing heavy development in this
area. What are we planning to do here ?? Just the debugging or cleaning the
code or stick with the one linux kernel version and clean it .


thanks
rajes

On Mon, Mar 31, 2008 at 9:35 AM, Tom Henderson <tomh at tomh.org> wrote:

> rAjEs wrote:
>
> > Hi Tom,
> >  I have submitted the application for "The linux kernel network stack
> > integration". I know its too late for submission .
> >
>
> I think you were not too late, and that you successfully submitted.
>
> I need some feedbacks
>
> > for my applications so that i can review my application again. Can i
> > have some more links about the above project idea so that i can manage to
> > make my application stronger.
> >
>
> The more detail you can put into your project plan, the better.
>
> Thank you for applying!
>
> Tom
>


More information about the Ns-developers mailing list