Bug 1448

Summary: DCE Kernel mode. Create a helper in order to create automatically the static routes.
Product: dce Reporter: Frederic Urbani <frederic.urbani>
Component: kernelAssignee: Hajime Tazaki <tazaki>
Status: CLOSED FIXED    
Severity: enhancement CC: ns-bugs, tazaki
Priority: P1    
Version: unspecified   
Hardware: All   
OS: Linux   

Description Frederic Urbani 2012-06-14 04:47:12 EDT
When DCE use Kernel Network Stack instead of NS-3 Stack, the static routes 
are done by hand !

The improment consists of adding a Helper to do the Job like the NS3 Helper :
Ipv4GlobalRoutingHelper.
Comment 1 Frederic Urbani 2012-06-19 04:12:25 EDT
I am starting working on.

Fred.
Comment 2 Frederic Urbani 2012-06-21 04:35:03 EDT
I just commit changeset: 46380fd02339.

This contains a new helper LinuxStackHelper you should use it one nodes using kernel stack .

Exemple:

For node using NS-3 stack you use : 

InternetStackHelper stack;
stack.Install (nodes);

and for node using kernel you must use this:

dceManager.SetNetworkStack ("ns3::LinuxSocketFdFactory", "Library", StringValue ("libnet-next-2.6.so"));
LinuxStackHelper stack;
stack.Install (nodes);

then you can use the NS3 helpers Ipv4AddressHelper and Ipv4GlobalRoutingHelper::PopulateRoutingTables (); to assign adresses 
and to create the static routes.

WARNING : only tested with IPV4.
Comment 3 Hajime Tazaki 2012-11-19 09:52:04 EST
LinuxStackHelper needs to call DceManagerHelper::Install () after
Ipv4AddressHelper:: Assign (). It is not compatible to ns-3-dev way (i.e., InternetStackHelper) and not useful.
Comment 4 Hajime Tazaki 2013-03-13 03:32:31 EDT
(In reply to comment #3)
> LinuxStackHelper needs to call DceManagerHelper::Install () after
> Ipv4AddressHelper:: Assign (). It is not compatible to ns-3-dev way (i.e.,
> InternetStackHelper) and not useful.

Improved with the following changeset.

403:6998fb05cf4f