Add New TCP stack to NS3

165 views
Skip to first unread message

Akhil Shashidhar

unread,
Apr 17, 2014, 1:38:41 PM4/17/14
to ns-3-...@googlegroups.com
Hi:

I have made some changes to latest TCP stack on Linux (kernel 3.11). I have make changes in core TCP stack as well as congestion control algorithm for the project I am working on. In want to test my TCP stack in a particular environment using NS3.

1) My question is how do I a new TCP stack? 
2) How easy/hard is it to add the Linux TCP stack (given that it is in C)? I understand that other than the fact that it is written in C, there will be compilation challenges. However if it helps, please assume that TCP stack is taken out of Linux kernel and it a self contained Linux loadable module.

In other words, if I want to test some changes I have made to linux kernel networking stack using NS3, how do I do that ?

Thanks,
Akhil



Konstantinos

unread,
Apr 17, 2014, 1:59:29 PM4/17/14
to ns-3-...@googlegroups.com

Akhil

unread,
Apr 17, 2014, 6:43:38 PM4/17/14
to ns-3-...@googlegroups.com
Thanks a lot. Its looks good and fits my requirement.

- Akhil


--
You received this message because you are subscribed to a topic in the Google Groups "ns-3-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ns-3-users/6LUYEI6h-P4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ns-3-users+...@googlegroups.com.
To post to this group, send email to ns-3-...@googlegroups.com.
Visit this group at http://groups.google.com/group/ns-3-users.
For more options, visit https://groups.google.com/d/optout.

Akhil Shashidhar

unread,
Apr 18, 2014, 1:50:36 PM4/18/14
to ns-3-...@googlegroups.com
Hi:

I took a look at DCE. I can run specific kernel versions but I want to run a customized kernel version. I have a Linux kernel which is modified (not a kernel module but the kernel itself). My changes are based out of kernel 3.11. Do you know what changes do I need to do to run my kernel using DCE? 

Appreciate any help.

Regards,
Akhil

On Thursday, April 17, 2014 3:43:38 PM UTC-7, Akhil Shashidhar wrote:
Thanks a lot. Its looks good and fits my requirement.

- Akhil


On Thu, Apr 17, 2014 at 10:59 AM, Konstantinos <dinos.k...@gmail.com> wrote:
Have a look at the NS-3 DCE project https://www.nsnam.org/overview/projects/direct-code-execution/

On Thursday, April 17, 2014 6:38:41 PM UTC+1, Akhil Shashidhar wrote:
Hi:

I have made some changes to latest TCP stack on Linux (kernel 3.11). I have make changes in core TCP stack as well as congestion control algorithm for the project I am working on. In want to test my TCP stack in a particular environment using NS3.

1) My question is how do I a new TCP stack? 
2) How easy/hard is it to add the Linux TCP stack (given that it is in C)? I understand that other than the fact that it is written in C, there will be compilation challenges. However if it helps, please assume that TCP stack is taken out of Linux kernel and it a self contained Linux loadable module.

In other words, if I want to test some changes I have made to linux kernel networking stack using NS3, how do I do that ?

Thanks,
Akhil



--
You received this message because you are subscribed to a topic in the Google Groups "ns-3-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ns-3-users/6LUYEI6h-P4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ns-3-users+unsubscribe@googlegroups.com.

Akhil Shashidhar

unread,
Apr 26, 2014, 12:01:32 AM4/26/14
to ns-3-...@googlegroups.com
I found answer to my question here: http://www.nsnam.org/docs/dce/release/1.2/manual/singlehtml/index.html

In short, it canbe done but it doesnt work off the shelf. We have to meddle with the sim-architecture layer and compile the network stack for the DCE simulator

Hajime Tazaki

unread,
Apr 27, 2014, 9:16:30 AM4/27/14
to ns-3-...@googlegroups.com

Hi Akhil,

sorry to be late.

At Fri, 25 Apr 2014 21:01:32 -0700 (PDT),
Akhil Shashidhar wrote:
>
> [1 <text/plain; UTF-8 (7bit)>]
> I found answer to my question
> here: http://www.nsnam.org/docs/dce/release/1.2/manual/singlehtml/index.html
>
> In short, it canbe done but it doesnt work off the shelf. We have to meddle
> with the sim-architecture layer and compile the network stack for the DCE
> simulator

it does not always happen: if your extension (for TCP)
doesn't use 'unimplemented' feature of sim-architecture
layer (i.e., glue code), your code should run without much
pain.

you're using 3.11 kernel in your case so, you need to patch
your code into 3.11 based DCE kernel.

% git clone https://github.com/direct-code-execution/net-next-sim.git
% cd net-next-sim
% git checkout sim-ns3-3.11.0-branch
% (patch your code)
% make defconfig ARCH=sim
(or make menuconfig ARCH=sim)
% make library ARCH=sim

then you should get libsim-3.11.0.so: copy to build/bin_dce
directory with the name 'liblinux.so', or specify the
library name in DceManagerHelper::SetNetworkStack () method.

http://www.nsnam.org/docs/dce/doxygen/classns3_1_1_dce_manager_helper.html#aceb376671ddd6e067137aad6e8d35e01

please look at the following example in manual (the case of
SCTP) and let us know here if you got stuck.

http://www.nsnam.org/docs/dce/manual/html/dce-user-kernel.html

-- Hajime
>
> On Friday, April 18, 2014 10:50:36 AM UTC-7, Akhil Shashidhar wrote:
> >
> > Hi:
> >
> > I took a look at DCE. I can run specific kernel versions but I want to run
> > a customized kernel version. I have a Linux kernel which is modified (not a
> > kernel module but the kernel itself). My changes are based out of kernel
> > 3.11. Do you know what changes do I need to do to run my kernel using DCE?
> >
> > Appreciate any help.
> >
> > Regards,
> > Akhil
> >
> > On Thursday, April 17, 2014 3:43:38 PM UTC-7, Akhil Shashidhar wrote:
> >>
> >> Thanks a lot. Its looks good and fits my requirement.
> >>
> >> *-* Akhil
> >>> ns-3-users+...@googlegroups.com.
> >>> To post to this group, send email to ns-3-...@googlegroups.com.
> >>> Visit this group at http://groups.google.com/group/ns-3-users.
> >>> For more options, visit https://groups.google.com/d/optout.
> >>>
> >>
> >>
>
> --
> You received this message because you are subscribed to the Google Groups "ns-3-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to ns-3-users+...@googlegroups.com.
> To post to this group, send email to ns-3-...@googlegroups.com.
> Visit this group at http://groups.google.com/group/ns-3-users.
> For more options, visit https://groups.google.com/d/optout.
> [2 <text/html; UTF-8 (quoted-printable)>]
>

Akhil

unread,
May 17, 2014, 9:01:28 PM5/17/14
to ns-3-...@googlegroups.com
Hi Hajime:

Thanks a lot for your reply. It worked :)
I was on long vacation, so delayed response.

- Akhil
Reply all
Reply to author
Forward
0 new messages