Re: [ns] Simulating an embedded ad-hoc wireless protocol

2006-05-30 Thread Jeff Schwentner

Daniel,

 

I had some issues with depcomp and libtool, but I think I got around it.
Now I'm getting a number of errors during make.  I've included the output of
make up to the first set of errors (the rest are similar):

 

$ make

Making all in libltdl

make[1]: Entering directory `/usr/ns-allinone-2.29/ns-2.28/gea/libltdl'

make  all-am

make[2]: Entering directory `/usr/ns-allinone-2.29/ns-2.28/gea/libltdl'

make[2]: Leaving directory `/usr/ns-allinone-2.29/ns-2.28/gea/libltdl'

make[1]: Leaving directory `/usr/ns-allinone-2.29/ns-2.28/gea/libltdl'

Making all in src

make[1]: Entering directory `/usr/ns-allinone-2.29/ns-2.28/gea/src'

Making all in .

make[2]: Entering directory `/usr/ns-allinone-2.29/ns-2.28/gea/src'

if /bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.
-I../include/gea  -DGEA_POSIX  -Werror -Wall -I../include  -g -ggdb3 -MT
libgea_posix_la-EventHandler.lo -MD -MP -MF
.deps/libgea_posix_la-EventHandler.Tpo -c -o
libgea_posix_la-EventHandler.lo `test -f 'EventHandler.cc'

|| echo './'`EventHandler.cc; \

then mv -f .deps/libgea_posix_la-EventHandler.Tpo
.deps/libgea_posix_la-EventHandler.Plo; else rm -f
.deps/libgea_posix_la-EventHandler.Tpo; exit 1; fi

 g++ -DHAVE_CONFIG_H -I. -I. -I../include/gea -DGEA_POSIX -Werror -Wall
-I../include -g -ggdb3 -MT libgea_posix_la-EventHandler.lo -MD -MP -MF
.deps/libgea_posix_la-EventHandler.Tpo -c EventHandler.cc  -DPIC -o
.libs/libgea_posix_la-EventHandler.o

In file included from
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/cwchar:51,

 from
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/postypes.h:46,

 from
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/iosfwd:50,

 from /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/ios:44,

 from
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/ostream:45,

 from
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/iostream:45,

 from ../include/gea/UdpHandle.h:72,

 from EventHandler.cc:20:

/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/ctime:68: error: `::tm' has
not been declared

/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/ctime:70: error: `::clock' has
not been declared

/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/ctime:71: error: `::difftime'
has not been declared

/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/ctime:72: error: `::mktime'
has not been declared

/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/ctime:73: error: `::time' has
not been declared

/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/ctime:74: error: `::asctime'
has not been declared

/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/ctime:75: error: `::ctime' has
not been declared

/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/ctime:76: error: `::gmtime'
has not been declared

/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/ctime:77: error: `::localtime'
has not been declared

/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/ctime:78: error: `::strftime'
has not been declared

In file included from
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/basic_ios.h:44,

 from /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/ios:51,

 from
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/ostream:45,

 from
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/iostream:45,

 from ../include/gea/UdpHandle.h:72,

 from EventHandler.cc:20:

 

 

This might be an issue specific to Cygwin.  Please let me know if it looks
like something obvious is wrong.

 

Thanks again,


Jeff

 

 

-Original Message-
From: Daniel Mahrenholz [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, May 30, 2006 1:34 AM
To: Jeff Schwentner
Cc: ns-users@ISI.EDU
Subject: Re: [ns] Simulating an embedded ad-hoc wireless protocol

 

Jeff,

 

you tried to compile GEA in the wrong order. You have to:

1. install GEA using

./configure

make

make install

in the GEA source directory.

2. compile ns

 

Step 1 will compile and install the native GEA version. This is not 

required for ns-2 at runtime. But you need the different include files 

that usually will be installed in /usr/local/include/gea. If you need 

them to be installed in a different directory you can call a 

./configure --prefix=install dir. This should be a directory that 

ns-2 uses during its compilation. Otherwise you have to modify the ns-2 

Makefile.

 

Daniel.

 



Re: [ns] Simulating an embedded ad-hoc wireless protocol

2006-05-29 Thread Jeff Schwentner

Daniel,

 

1)  I applied ns_2.28-4.diff to ns_2.28.orig, and had an error when trying
to compile.  When I attempted a make after configure, I got the following
error:

 

$ make

c++ -c  -DTCP_DELAY_BIND_ALL -DNO_TK -DTCLCL_CLASSINSTVAR  -DNDEBUG
-DUSE_SHM -D

HAVE_LIBTCLCL -DHAVE_TCLCL_H -DHAVE_LIBOTCL1_9 -DHAVE_OTCL_H -DHAVE_LIBTK8_4
-DH

AVE_TK_H -DHAVE_LIBTCL8_4 -DHAVE_TCL_H  -DHAVE_CONFIG_H -DNS_DIFFUSION
-DSMAC_NO

_SYNC -DCPP_NAMESPACE=std -DUSE_SINGLE_ADDRESS_SPACE -Drng_test -I.
-I/usr/ns-al

linone-2.29/tclcl-1.17 -I/usr/ns-allinone-2.29/otcl-1.11
-I/usr/ns-allinone-2.29

/include -I/usr/ns-allinone-2.29/include -I/usr/include/pcap -I./tcp
-I./sctp -I

./common -I./link -I./queue -I./adc -I./apps -I./mac -I./mobile -I./trace
-I./ro

uting -I./tools -I./classifier -I./mcast -I./diffusion3/lib/main
-I./diffusion3/

lib -I./diffusion3/lib/nr -I./diffusion3/ns -I./diffusion3/filter_core
-I./asim/

 -I./qs -I./diffserv -I./wpan -o gea/gea.o gea/gea.cc

gea/gea.cc:1:21: gea/API.h: No such file or directory

gea/gea.cc:3: error: `gea' has not been declared

gea/gea.cc:3: error: expected constructor, destructor, or type conversion
before

 GEA

gea/gea.cc:3: error: expected `,' or `;' before GEA

make: *** [gea/gea.o] Error 1

 

2)  It looks like the patched version is missing a file.  I then tried using
gea source (libgea_1.1) instead of gea directory of the patch, and got the
following error when performing make:

 

$ make

make: *** No rule to make target `gea/gea.cc', needed by `gea/gea.o'.  Stop.

 

I'm obviously doing something wrong here, but I don't know what.  What steps
are required to compile ns with gea?  

 

Regards,

 

Jeff S.

 

 

 

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf
Of Daniel Mahrenholz
Sent: Sunday, May 28, 2006 12:27 PM
To: Jeff Schwentner
Cc: ns-users@ISI.EDU
Subject: Re: [ns] Simulating an embedded ad-hoc wireless protocol

 

 

Hi Jeff,

 

Jeff Schwentner schrieb:

 So if I understand correctly, I would embed our custom packets in UDP

 packets.  This would include the RTS/CTS/ACK MAC packets in addition to
the

 actual data packets.  The MAC layer, as far as ns-2 is concerned, would
just

 be a pass-through (not sending its own RTS/CTS).

   

Yes - at the moment this would result in all packets being encapsulated 

into UDP packets. In our case we have some kind of extended MAC layer. 

We do not replace the standard 802.11 MAC but we do not use RTS/CTS and 

only broadcast communication and so no ACKs. Currently we do not have 

the pass through MAC because our protocols are intended to work on 

COTS hardware. But for you this probably will not work if you like to 

replace/modify the whole MAC behavior and its timing.

 Do you have an example that I can compile and run with ns-2 (I'm using
2.29

 on Cygwin)?  In either case, I would greatly appreciate any documentation

 you can point me to get started!

We have some code examples in the source code archive in our repository. 

So far we did not try to compile GEA on cygwin but there should be no 

problem. But you need to use the modified ns-2 (available from our 

repository).

 

Daniel.



Re: [ns] Simulating an embedded ad-hoc wireless protocol

2006-05-29 Thread Daniel Mahrenholz

Jeff,

you tried to compile GEA in the wrong order. You have to:
1. install GEA using
./configure
make
make install
in the GEA source directory.
2. compile ns

Step 1 will compile and install the native GEA version. This is not 
required for ns-2 at runtime. But you need the different include files 
that usually will be installed in /usr/local/include/gea. If you need 
them to be installed in a different directory you can call a 
./configure --prefix=install dir. This should be a directory that 
ns-2 uses during its compilation. Otherwise you have to modify the ns-2 
Makefile.

Daniel.

Jeff Schwentner schrieb:

 1) I applied ns_2.28-4.diff to ns_2.28.orig, and had an error when 
 trying to compile. When I attempted a make after configure, I got the 
 following error:

 $ make

 c++ -c -DTCP_DELAY_BIND_ALL -DNO_TK -DTCLCL_CLASSINSTVAR -DNDEBUG 
 -DUSE_SHM -D

 HAVE_LIBTCLCL -DHAVE_TCLCL_H -DHAVE_LIBOTCL1_9 -DHAVE_OTCL_H 
 -DHAVE_LIBTK8_4 -DH

 AVE_TK_H -DHAVE_LIBTCL8_4 -DHAVE_TCL_H -DHAVE_CONFIG_H -DNS_DIFFUSION 
 -DSMAC_NO

 _SYNC -DCPP_NAMESPACE=std -DUSE_SINGLE_ADDRESS_SPACE -Drng_test -I. 
 -I/usr/ns-al

 linone-2.29/tclcl-1.17 -I/usr/ns-allinone-2.29/otcl-1.11 
 -I/usr/ns-allinone-2.29

 /include -I/usr/ns-allinone-2.29/include -I/usr/include/pcap -I./tcp 
 -I./sctp -I

 ./common -I./link -I./queue -I./adc -I./apps -I./mac -I./mobile 
 -I./trace -I./ro

 uting -I./tools -I./classifier -I./mcast -I./diffusion3/lib/main 
 -I./diffusion3/

 lib -I./diffusion3/lib/nr -I./diffusion3/ns -I./diffusion3/filter_core 
 -I./asim/

 -I./qs -I./diffserv -I./wpan -o gea/gea.o gea/gea.cc

 gea/gea.cc:1:21: gea/API.h: No such file or directory

 gea/gea.cc:3: error: `gea' has not been declared

 gea/gea.cc:3: error: expected constructor, destructor, or type 
 conversion before

 GEA

 gea/gea.cc:3: error: expected `,' or `;' before GEA

 make: *** [gea/gea.o] Error 1

 2) It looks like the patched version is missing a file. I then tried 
 using gea source (libgea_1.1) instead of gea directory of the patch, 
 and got the following error when performing make:

 $ make

 make: *** No rule to make target `gea/gea.cc', needed by `gea/gea.o'. 
 Stop.

 I’m obviously doing something wrong here, but I don’t know what. What 
 steps are required to compile ns with gea?




Re: [ns] Simulating an embedded ad-hoc wireless protocol

2006-05-28 Thread Daniel Mahrenholz

Hi Jeff,

Jeff Schwentner schrieb:
 So if I understand correctly, I would embed our custom packets in UDP
 packets.  This would include the RTS/CTS/ACK MAC packets in addition to the
 actual data packets.  The MAC layer, as far as ns-2 is concerned, would just
 be a pass-through (not sending its own RTS/CTS).
   
Yes - at the moment this would result in all packets being encapsulated 
into UDP packets. In our case we have some kind of extended MAC layer. 
We do not replace the standard 802.11 MAC but we do not use RTS/CTS and 
only broadcast communication and so no ACKs. Currently we do not have 
the pass through MAC because our protocols are intended to work on 
COTS hardware. But for you this probably will not work if you like to 
replace/modify the whole MAC behavior and its timing.
 Do you have an example that I can compile and run with ns-2 (I'm using 2.29
 on Cygwin)?  In either case, I would greatly appreciate any documentation
 you can point me to get started!
We have some code examples in the source code archive in our repository. 
So far we did not try to compile GEA on cygwin but there should be no 
problem. But you need to use the modified ns-2 (available from our 
repository).

Daniel.




Re: [ns] Simulating an embedded ad-hoc wireless protocol

2006-05-22 Thread Jeff Schwentner

Daniel,

Thanks for the reply!  I read your paper (Unified Development and Deployment
of Network Protocols).  If I understand this correctly, it looks like it
does not encapsulate the MAC layer.  In the firmware I need to simulate, it
has its own MAC and custom packet structure.  I really need to simulate the
MAC with my network protocol, is it possible to use GEA for this?  If so,
what modifications would be required?

Thanks in advance,

Jeff 


-Original Message-
From: Daniel Mahrenholz [mailto:[EMAIL PROTECTED] 
Sent: Friday, May 19, 2006 2:49 AM
To: Jeff Schwentner
Cc: ns-users@ISI.EDU
Subject: Re: [ns] Simulating an embedded ad-hoc wireless protocol

Hi,

Jeff Schwentner schrieb:
 Has anyone simulated a mobile node using only send/receive functions with
 ns-2?  

 I have an ad-hoc wireless protocol that has been implemented and fielded
 in an embedded system.  I would like to simulate it for performance
 benchmarking.  My problem is that the code is written in C and it has
 it's own custom implementation for the MAC, routing protocol, queueing,
 etc.  I have just started looking into ns-2, and from what I understand,
 it requires the MAC, routing protocol, and message queue to be in
 seperate classes (inheriting from Agent, Mac, etc.).

 Is it possible to use ns-2 to simulate a node at the transport layer,
 and treat the rest as a black box?  If not, do you have any
 suggestions/comments for simulating this firmware?
   

We are using our native protocol implementations inside ns-2. To do so
we implemented a small adaptation library called GEA. Maybe this could
be of help for you. But it would require some modifications to your code
(depending on the way the firmware is implemented). There is also a
project/extension that allows  to use the native TCP/IP stacks of
different operating systems in ns-2 (called network craddles). I do not
know  more about this but you will find a link on the Contributed Code
page in the ns-2 wiki. Maybe this could be a solution.

The last chance would be to use network emulation.

Daniel.



Re: [ns] Simulating an embedded ad-hoc wireless protocol

2006-05-22 Thread Jeff Schwentner

Daniel,

So if I understand correctly, I would embed our custom packets in UDP
packets.  This would include the RTS/CTS/ACK MAC packets in addition to the
actual data packets.  The MAC layer, as far as ns-2 is concerned, would just
be a pass-through (not sending its own RTS/CTS).

Do you have an example that I can compile and run with ns-2 (I'm using 2.29
on Cygwin)?  In either case, I would greatly appreciate any documentation
you can point me to get started!

Thanks again,

Jeff

-Original Message-
From: Daniel Mahrenholz [mailto:[EMAIL PROTECTED] 
Sent: Monday, May 22, 2006 2:32 PM
To: Jeff Schwentner
Cc: ns-users@ISI.EDU
Subject: Re: [ns] Simulating an embedded ad-hoc wireless protocol

Hi Jeff,

Jeff Schwentner schrieb:
 Thanks for the reply!  I read your paper (Unified Development and
Deployment
 of Network Protocols).  If I understand this correctly, it looks like it
 does not encapsulate the MAC layer.  In the firmware I need to simulate,
it
 has its own MAC and custom packet structure.  I really need to simulate
the
 MAC with my network protocol, is it possible to use GEA for this?  If so,
 what modifications would be required?
   

Currently  we encalsulate all packets into UDP packets. But we 
implemented are own MAC protocol onto of this. The advantage was that it 
was easy to implement, the downside is the additional overhead. We are 
currently working to implement a raw socket interface for ns-2 to 
overcome this problem. At the moment you additionally need to use the 
DumpAgent for routing (so no routing) in ns-2 and maybe a dump MAC layer 
that just passes all packets down to the medium.

Daniel.



Re: [ns] Simulating an embedded ad-hoc wireless protocol

2006-05-19 Thread Daniel Mahrenholz

Hi,

Jeff Schwentner schrieb:
 Has anyone simulated a mobile node using only send/receive functions with
 ns-2?  

 I have an ad-hoc wireless protocol that has been implemented and fielded
 in an embedded system.  I would like to simulate it for performance
 benchmarking.  My problem is that the code is written in C and it has
 it's own custom implementation for the MAC, routing protocol, queueing,
 etc.  I have just started looking into ns-2, and from what I understand,
 it requires the MAC, routing protocol, and message queue to be in
 seperate classes (inheriting from Agent, Mac, etc.).

 Is it possible to use ns-2 to simulate a node at the transport layer,
 and treat the rest as a black box?  If not, do you have any
 suggestions/comments for simulating this firmware?
   

We are using our native protocol implementations inside ns-2. To do so
we implemented a small adaptation library called GEA. Maybe this could
be of help for you. But it would require some modifications to your code
(depending on the way the firmware is implemented). There is also a
project/extension that allows  to use the native TCP/IP stacks of
different operating systems in ns-2 (called network craddles). I do not
know  more about this but you will find a link on the Contributed Code
page in the ns-2 wiki. Maybe this could be a solution.

The last chance would be to use network emulation.

Daniel.



Re: [ns] Simulating an embedded ad-hoc wireless protocol

2006-05-18 Thread Jeff Schwentner

Has anyone simulated a mobile node using only send/receive functions with
ns-2?  

Is it absolutely necessary to have separate Routing/MAC/Transport layers to
use ns-2?

Thanks,

Jeff S. 

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf
Of [EMAIL PROTECTED]
Sent: Monday, May 15, 2006 3:12 PM
To: ns-users@ISI.EDU
Subject: [ns] Simulating an embedded ad-hoc wireless protocol


Greetings,

I have an ad-hoc wireless protocol that has been implemented and fielded
in an embedded system.  I would like to simulate it for performance
benchmarking.  My problem is that the code is written in C and it has
it's own custom implementation for the MAC, routing protocol, queueing,
etc.  I have just started looking into ns-2, and from what I understand,
it requires the MAC, routing protocol, and message queue to be in
seperate classes (inheriting from Agent, Mac, etc.).

Is it possible to use ns-2 to simulate a node at the transport layer,
and treat the rest as a black box?  If not, do you have any
suggestions/comments for simulating this firmware?

Thanks in advance,

Jeff S.



[ns] Simulating an embedded ad-hoc wireless protocol

2006-05-15 Thread jeff-1

Greetings,

I have an ad-hoc wireless protocol that has been implemented and fielded
in an embedded system.  I would like to simulate it for performance
benchmarking.  My problem is that the code is written in C and it has
it's own custom implementation for the MAC, routing protocol, queueing,
etc.  I have just started looking into ns-2, and from what I understand,
it requires the MAC, routing protocol, and message queue to be in
seperate classes (inheriting from Agent, Mac, etc.).

Is it possible to use ns-2 to simulate a node at the transport layer,
and treat the rest as a black box?  If not, do you have any
suggestions/comments for simulating this firmware?

Thanks in advance,

Jeff S.