Re: [ns] 802.11e TKN, little error. i give a nice website in return

2007-06-14 Thread Sven Wiethoelter


On Jun 14, 2007, at 6:43 AM, Sim Tec wrote:

 Hello NS Users, Sven, Matthias, hilal, and Pepe

 I managed to get rid of the dh_da dh_sa problems that I mentioned  
 in the previous post.
 BUT the rest of the make errors remain.
 I am worried now. Because this makes me think that I need to use a  
 different version of NS, because Pete Barbe had a similar problem  
 as seen at http://mailman.isi.edu/pipermail/ns-users/2004-December/ 
 046055.html
 Please tell me if I have to switch versions of NS. ???
Hi, the EDCA model was released for ns-2.28. Just download this  
version of ns-2
(http://www.isi.edu/nsnam/dist/ns-allinone-2.28.tar.gz)
  and install it. Afterwards, you can apply the EDCA patch.

Best regards,
Sven
 I do not know how to switch versions of NS. This is because I am  
 new to NS.
 Can someone please give me quick advice on how to switch  
 versions. 
 Is their a quick way???

 Thank you very much!

 Here is my Make problem:

 In file included from ./common/mobilenode.h:63,
  from mac/802_11e/mac-802_11e.cc:7:
 ./mobile/gridkeeper.h:17:1: warning: this is the location of the  
 previous definition
 mac/802_11e/mac-802_11e.cc: In member function `void  
 Mac802_11e::transmit(Packet*, double)':
 mac/802_11e/mac-802_11e.cc:72: error: `ETHER_HDR_LEN11' undeclared  
 (first use this function)
 mac/802_11e/mac-802_11e.cc:72: error: (Each undeclared identifier  
 is reported only once for each function it appears in.)
 mac/802_11e/mac-802_11e.cc: At global scope:
 mac/802_11e/mac-802_11e.cc:112: error: `EDCF_MMIB' must be  
 initialized by constructor, not by `{...}'
 mac/802_11e/mac-802_11e.cc: In constructor `Mac802_11e::Mac802_11e 
 (EDCF_PHY_MIB*, MAC_MIB*)':
 mac/802_11e/mac-802_11e.cc:182: error: `ETHER_ACK_LEN' undeclared  
 (first use this function)
 mac/802_11e/mac-802_11e.cc: In member function `virtual int  
 Mac802_11e::command(int, const char* const*)':
 ./mac/mac-802_11.h:204: error: `u_int32_t MAC_MIB::ShortRetryLimit'  
 is private
 mac/802_11e/mac-802_11e.cc:240: error: within this context
 ./mac/mac-802_11.h:204: error: `u_int32_t MAC_MIB::ShortRetryLimit'  
 is private
 mac/802_11e/mac-802_11e.cc:247: error: within this context
 mac/802_11e/mac-802_11e.cc: In member function `void  
 Mac802_11e::tx_resume()':
 ./mac/mac-802_11.h:203: error: `u_int32_t MAC_MIB::RTSThreshold' is  
 private
 mac/802_11e/mac-802_11e.cc:502: error: within this context
 mac/802_11e/mac-802_11e.cc: In member function `void  
 Mac802_11e::sendHandler()':
 mac/802_11e/mac-802_11e.cc:590: warning: unused variable 's'
 mac/802_11e/mac-802_11e.cc: In member function `void  
 Mac802_11e::send_timer()':
 mac/802_11e/mac-802_11e.cc:653: warning: unused variable 's'
 mac/802_11e/mac-802_11e.cc: In member function `int  
 Mac802_11e::check_pktCTRL(int)':
 mac/802_11e/mac-802_11e.cc:728: error: `ETHER_CTS_LEN' undeclared  
 (first use this function)
 mac/802_11e/mac-802_11e.cc:733: error: `ETHER_ACK_LEN' undeclared  
 (first use this function)
 mac/802_11e/mac-802_11e.cc: In member function `int  
 Mac802_11e::check_pktRTS(int)':
 mac/802_11e/mac-802_11e.cc:777: error: `ETHER_RTS_LEN' undeclared  
 (first use this function)
 mac/802_11e/mac-802_11e.cc:780: error: `ETHER_CTS_LEN' undeclared  
 (first use this function)
 mac/802_11e/mac-802_11e.cc: In member function `int  
 Mac802_11e::check_pktTx(int)':
 mac/802_11e/mac-802_11e.cc:820: error: `ETHER_ACK_LEN' undeclared  
 (first use this function)
 mac/802_11e/mac-802_11e.cc: In member function `void  
 Mac802_11e::sendRTS(int, int)':
 ./mac/mac-802_11.h:203: error: `u_int32_t MAC_MIB::RTSThreshold' is  
 private
 mac/802_11e/mac-802_11e.cc:854: error: within this context
 mac/802_11e/mac-802_11e.cc:863: error: `ETHER_RTS_LEN' undeclared  
 (first use this function)
 mac/802_11e/mac-802_11e.cc:890: error: `ETHER_CTS_LEN' undeclared  
 (first use this function)
 mac/802_11e/mac-802_11e.cc:894: error: `ETHER_ACK_LEN' undeclared  
 (first use this function)
 mac/802_11e/mac-802_11e.cc: In member function `void  
 Mac802_11e::sendCTS(int, int, double)':
 mac/802_11e/mac-802_11e.cc:912: error: `ETHER_CTS_LEN' undeclared  
 (first use this function)
 mac/802_11e/mac-802_11e.cc: In member function `void  
 Mac802_11e::sendACK(int, int)':
 mac/802_11e/mac-802_11e.cc:956: error: `ETHER_ACK_LEN' undeclared  
 (first use this function)
 mac/802_11e/mac-802_11e.cc: In member function `void  
 Mac802_11e::sendDATA(int, Packet*)':
 mac/802_11e/mac-802_11e.cc:997: error: `ETHER_HDR_LEN11' undeclared  
 (first use this function)
 mac/802_11e/mac-802_11e.cc:1020: error: `ETHER_ACK_LEN' undeclared  
 (first use this function)
 mac/802_11e/mac-802_11e.cc: In member function `void  
 Mac802_11e::RetransmitRTS(int)':
 ./mac/mac-802_11.h:204: error: `u_int32_t MAC_MIB::ShortRetryLimit'  
 is private
 mac/802_11e/mac-802_11e.cc:1047: error: within this context
 mac/802_11e/mac-802_11e.cc:1058: error: `ETHER_HDR_LEN11'  
 undeclared (first use this function)
 

Re: [ns] 802.11e TKN, little error. i give a nice website in return

2007-06-14 Thread Sim Tec

Thanks , but I am a new user of NS. And I dont know how to switch versions.

Q1. Do I have to delete all my 2.30 files???
Q2.my ns-allinone-2.30 folder is in my C:\cygwin\home\Simulator folder. Do I
need to delete it???
Q3. please could you tell me where the documentation about changing NS
versions is
Q4. Is there a way to reverse changes, for instance by system restore?

sincere thanks guys





On 6/14/07, Sven Wiethoelter [EMAIL PROTECTED] wrote:



 On Jun 14, 2007, at 6:43 AM, Sim Tec wrote:

  Hello NS Users, Sven, Matthias, hilal, and Pepe
 
  I managed to get rid of the dh_da dh_sa problems that I mentioned
  in the previous post.
  BUT the rest of the make errors remain.
  I am worried now. Because this makes me think that I need to use a
  different version of NS, because Pete Barbe had a similar problem
  as seen at http://mailman.isi.edu/pipermail/ns-users/2004-December/
  046055.html
  Please tell me if I have to switch versions of NS. ???
 Hi, the EDCA model was released for ns-2.28. Just download this
 version of ns-2
 (http://www.isi.edu/nsnam/dist/ns-allinone-2.28.tar.gz)
 and install it. Afterwards, you can apply the EDCA patch.

 Best regards,
 Sven
  I do not know how to switch versions of NS. This is because I am
  new to NS.
  Can someone please give me quick advice on how to switch
  versions. 
  Is their a quick way???
 
  Thank you very much!
 
  Here is my Make problem:
 
  In file included from ./common/mobilenode.h:63,
   from mac/802_11e/mac-802_11e.cc:7:
  ./mobile/gridkeeper.h:17:1: warning: this is the location of the
  previous definition
  mac/802_11e/mac-802_11e.cc: In member function `void
  Mac802_11e::transmit(Packet*, double)':
  mac/802_11e/mac-802_11e.cc:72: error: `ETHER_HDR_LEN11' undeclared
  (first use this function)
  mac/802_11e/mac-802_11e.cc:72: error: (Each undeclared identifier
  is reported only once for each function it appears in.)
  mac/802_11e/mac-802_11e.cc: At global scope:
  mac/802_11e/mac-802_11e.cc:112: error: `EDCF_MMIB' must be
  initialized by constructor, not by `{...}'
  mac/802_11e/mac-802_11e.cc: In constructor `Mac802_11e::Mac802_11e
  (EDCF_PHY_MIB*, MAC_MIB*)':
  mac/802_11e/mac-802_11e.cc:182: error: `ETHER_ACK_LEN' undeclared
  (first use this function)
  mac/802_11e/mac-802_11e.cc: In member function `virtual int
  Mac802_11e::command(int, const char* const*)':
  ./mac/mac-802_11.h:204: error: `u_int32_t MAC_MIB::ShortRetryLimit'
  is private
  mac/802_11e/mac-802_11e.cc:240: error: within this context
  ./mac/mac-802_11.h:204: error: `u_int32_t MAC_MIB::ShortRetryLimit'
  is private
  mac/802_11e/mac-802_11e.cc:247: error: within this context
  mac/802_11e/mac-802_11e.cc: In member function `void
  Mac802_11e::tx_resume()':
  ./mac/mac-802_11.h:203: error: `u_int32_t MAC_MIB::RTSThreshold' is
  private
  mac/802_11e/mac-802_11e.cc:502: error: within this context
  mac/802_11e/mac-802_11e.cc: In member function `void
  Mac802_11e::sendHandler()':
  mac/802_11e/mac-802_11e.cc:590: warning: unused variable 's'
  mac/802_11e/mac-802_11e.cc: In member function `void
  Mac802_11e::send_timer()':
  mac/802_11e/mac-802_11e.cc:653: warning: unused variable 's'
  mac/802_11e/mac-802_11e.cc: In member function `int
  Mac802_11e::check_pktCTRL(int)':
  mac/802_11e/mac-802_11e.cc:728: error: `ETHER_CTS_LEN' undeclared
  (first use this function)
  mac/802_11e/mac-802_11e.cc:733: error: `ETHER_ACK_LEN' undeclared
  (first use this function)
  mac/802_11e/mac-802_11e.cc: In member function `int
  Mac802_11e::check_pktRTS(int)':
  mac/802_11e/mac-802_11e.cc:777: error: `ETHER_RTS_LEN' undeclared
  (first use this function)
  mac/802_11e/mac-802_11e.cc:780: error: `ETHER_CTS_LEN' undeclared
  (first use this function)
  mac/802_11e/mac-802_11e.cc: In member function `int
  Mac802_11e::check_pktTx(int)':
  mac/802_11e/mac-802_11e.cc:820: error: `ETHER_ACK_LEN' undeclared
  (first use this function)
  mac/802_11e/mac-802_11e.cc: In member function `void
  Mac802_11e::sendRTS(int, int)':
  ./mac/mac-802_11.h:203: error: `u_int32_t MAC_MIB::RTSThreshold' is
  private
  mac/802_11e/mac-802_11e.cc:854: error: within this context
  mac/802_11e/mac-802_11e.cc:863: error: `ETHER_RTS_LEN' undeclared
  (first use this function)
  mac/802_11e/mac-802_11e.cc:890: error: `ETHER_CTS_LEN' undeclared
  (first use this function)
  mac/802_11e/mac-802_11e.cc:894: error: `ETHER_ACK_LEN' undeclared
  (first use this function)
  mac/802_11e/mac-802_11e.cc: In member function `void
  Mac802_11e::sendCTS(int, int, double)':
  mac/802_11e/mac-802_11e.cc:912: error: `ETHER_CTS_LEN' undeclared
  (first use this function)
  mac/802_11e/mac-802_11e.cc: In member function `void
  Mac802_11e::sendACK(int, int)':
  mac/802_11e/mac-802_11e.cc:956: error: `ETHER_ACK_LEN' undeclared
  (first use this function)
  mac/802_11e/mac-802_11e.cc: In member function `void
  Mac802_11e::sendDATA(int, Packet*)':
  mac/802_11e/mac-802_11e.cc:997: error: 

Re: [ns] 802.11e TKN, little error. i give a nice website in return

2007-06-13 Thread Sim Tec

Hello NS Users, Sven, Matthias, hilal, and Pepe

I managed to get rid of the dh_da dh_sa problems that I mentioned in the
previous post.
BUT the rest of the make errors remain.
I am worried now. Because this makes me think that I need to use a different
version of NS, because Pete Barbe had a similar problem as seen at
http://mailman.isi.edu/pipermail/ns-users/2004-December/046055.html
Please tell me if I have to switch versions of NS. ???
I do not know how to switch versions of NS. This is because I am new to NS.
Can someone please give me quick advice on how to switch versions. 
Is their a quick way???

Thank you very much!

Here is my Make problem:

In file included from ./common/mobilenode.h:63,
 from mac/802_11e/mac-802_11e.cc:7:
./mobile/gridkeeper.h:17:1: warning: this is the location of the previous
definition
mac/802_11e/mac-802_11e.cc: In member function `void
Mac802_11e::transmit(Packet*, double)':
mac/802_11e/mac-802_11e.cc:72: error: `ETHER_HDR_LEN11' undeclared (first
use this function)
mac/802_11e/mac-802_11e.cc:72: error: (Each undeclared identifier is
reported only once for each function it appears in.)
mac/802_11e/mac-802_11e.cc: At global scope:
mac/802_11e/mac-802_11e.cc:112: error: `EDCF_MMIB' must be initialized by
constructor, not by `{...}'
mac/802_11e/mac-802_11e.cc: In constructor
`Mac802_11e::Mac802_11e(EDCF_PHY_MIB*, MAC_MIB*)':
mac/802_11e/mac-802_11e.cc:182: error: `ETHER_ACK_LEN' undeclared (first use
this function)
mac/802_11e/mac-802_11e.cc: In member function `virtual int
Mac802_11e::command(int, const char* const*)':
./mac/mac-802_11.h:204: error: `u_int32_t MAC_MIB::ShortRetryLimit' is
private
mac/802_11e/mac-802_11e.cc:240: error: within this context
./mac/mac-802_11.h:204: error: `u_int32_t MAC_MIB::ShortRetryLimit' is
private
mac/802_11e/mac-802_11e.cc:247: error: within this context
mac/802_11e/mac-802_11e.cc: In member function `void
Mac802_11e::tx_resume()':
./mac/mac-802_11.h:203: error: `u_int32_t MAC_MIB::RTSThreshold' is private
mac/802_11e/mac-802_11e.cc:502: error: within this context
mac/802_11e/mac-802_11e.cc: In member function `void
Mac802_11e::sendHandler()':
mac/802_11e/mac-802_11e.cc:590: warning: unused variable 's'
mac/802_11e/mac-802_11e.cc: In member function `void
Mac802_11e::send_timer()':
mac/802_11e/mac-802_11e.cc:653: warning: unused variable 's'
mac/802_11e/mac-802_11e.cc: In member function `int
Mac802_11e::check_pktCTRL(int)':
mac/802_11e/mac-802_11e.cc:728: error: `ETHER_CTS_LEN' undeclared (first use
this function)
mac/802_11e/mac-802_11e.cc:733: error: `ETHER_ACK_LEN' undeclared (first use
this function)
mac/802_11e/mac-802_11e.cc: In member function `int
Mac802_11e::check_pktRTS(int)':
mac/802_11e/mac-802_11e.cc:777: error: `ETHER_RTS_LEN' undeclared (first use
this function)
mac/802_11e/mac-802_11e.cc:780: error: `ETHER_CTS_LEN' undeclared (first use
this function)
mac/802_11e/mac-802_11e.cc: In member function `int
Mac802_11e::check_pktTx(int)':
mac/802_11e/mac-802_11e.cc:820: error: `ETHER_ACK_LEN' undeclared (first use
this function)
mac/802_11e/mac-802_11e.cc: In member function `void
Mac802_11e::sendRTS(int, int)':
./mac/mac-802_11.h:203: error: `u_int32_t MAC_MIB::RTSThreshold' is private
mac/802_11e/mac-802_11e.cc:854: error: within this context
mac/802_11e/mac-802_11e.cc:863: error: `ETHER_RTS_LEN' undeclared (first use
this function)
mac/802_11e/mac-802_11e.cc:890: error: `ETHER_CTS_LEN' undeclared (first use
this function)
mac/802_11e/mac-802_11e.cc:894: error: `ETHER_ACK_LEN' undeclared (first use
this function)
mac/802_11e/mac-802_11e.cc: In member function `void
Mac802_11e::sendCTS(int, int, double)':
mac/802_11e/mac-802_11e.cc:912: error: `ETHER_CTS_LEN' undeclared (first use
this function)
mac/802_11e/mac-802_11e.cc: In member function `void
Mac802_11e::sendACK(int, int)':
mac/802_11e/mac-802_11e.cc:956: error: `ETHER_ACK_LEN' undeclared (first use
this function)
mac/802_11e/mac-802_11e.cc: In member function `void
Mac802_11e::sendDATA(int, Packet*)':
mac/802_11e/mac-802_11e.cc:997: error: `ETHER_HDR_LEN11' undeclared (first
use this function)
mac/802_11e/mac-802_11e.cc:1020: error: `ETHER_ACK_LEN' undeclared (first
use this function)
mac/802_11e/mac-802_11e.cc: In member function `void
Mac802_11e::RetransmitRTS(int)':
./mac/mac-802_11.h:204: error: `u_int32_t MAC_MIB::ShortRetryLimit' is
private
mac/802_11e/mac-802_11e.cc:1047: error: within this context
mac/802_11e/mac-802_11e.cc:1058: error: `ETHER_HDR_LEN11' undeclared (first
use this function)
mac/802_11e/mac-802_11e.cc: In member function `void
Mac802_11e::RetransmitDATA(int)':
./mac/mac-802_11.h:203: error: `u_int32_t MAC_MIB::RTSThreshold' is private
mac/802_11e/mac-802_11e.cc:1126: error: within this context
./mac/mac-802_11.h:204: error: `u_int32_t MAC_MIB::ShortRetryLimit' is
private
mac/802_11e/mac-802_11e.cc:1128: error: within this context
./mac/mac-802_11.h:205: error: `u_int32_t MAC_MIB::LongRetryLimit' is
private

Re: [ns] 802.11e TKN, little error. i give a nice website in return

2007-06-12 Thread H i l A l

hi there,
i'm using this patch, and when i installed it i just followed the 10 indicated 
steps and it worked properly. The first time i tried to do this i got some 
problems and it didn't work, but it was something that i missed... as for me, 
i'm not using ns-2.30, it's ns-allinone-2.28 that i'm using.
  my problems were after i implemented an admission control algorithm, i 
couldn't include any header file to the application(including the header files 
i've never changed), donnow why, i tried to avoid the problem...until now i'm 
in a deep shit...
  hope it will work for u 2 ...
  good luck
   
Sim Tec [EMAIL PROTECTED] wrote:
  
Sincerely thanks for the responce Sven.


I still have the same error.
I set up the tcl/lan/ns-mac.tcl as follows:

if [TclObject is-class Mac/802_11e] {
Mac/802_11e set delay_ 64us
Mac/802_11e set ifs_ 16us
Mac/802_11e set slotTime_ 16us
Mac/802_11e set cwmin_ 16
Mac/802_11e set cwmax_ 1024
Mac/802_11e set rtxLimit_ 16
Mac/802_11e set bssId_ -1
Mac/802_11e set sifs_ 8us
Mac/802_11e set pifs_ 12us
Mac/802_11e set difs_ 16us
Mac/802_11e set rtxAckLimit_ 1
Mac/802_11e set rtxRtsLimit_ 3
Mac/802_11e set basicRate_ 1Mb ;# set this to 0 if want to use bandwidth_
for
Mac/802_11e set dataRate_ 1Mb ;# both control and data pkts
Mac/802_11e set cfb_ 0 ;# disables CFB
}



Should I follow these steps, step 7 seems to be very problematic

7. mac/wireless-phy.h:
change
enum ChannelStatus {IDLE, RECV, SEND};
to
enum ChannelStatus {IDLE, RECVING, SENDING};
mac/wireless-phy.cc:
replace all occurences of RECV and SEND (by RECVING and SENDING).

8. common/packet.h:
add
#define HDR_MAC802_11E(p) ((hdr_mac802_11e *)hdr_mac::access(p))

9. run ./configure; make clean; make depend; make in your ns directory

10. happy simulating :o) (e.g with the example script
../ns-x/mac/802.11e/multi_udpflows.tcl)


Sincere thanks and regards.










On 6/11/07, Sven Wiethoelter wrote:

 On Jun 11, 2007, at 8:05 AM, Sim Tec wrote:


 
  Hello I am simulating with 802.11e and would love to use TKN
 
  I have the exact same problem that many people have had, but there
  is no
  solution posted for it.
 
 Hi, the solution is always the same: Check your changes in the tcl
 files ;-) (see further below)


  -In return, here is the Best website for NS-2 that I have found
  on the
  Internet. It is a very recent website also.
  http://academic.csuohio.edu/yuc/mobile07/
 
  i am trying to apply the 802.11e patch for EDCA from TKN Berlin named
  'EDCA_ns-2_28-v1-0-1.tgz' on ns-2.30.
  i have followed all the steps
  given in the README, but in vein..i am getting error when i run the
  sample tcl script named edca_multi_udpflows.tcl provided in the
  package. I tried another wireless scripts using the command set val
  (mac) Mac/802_11e to get the following error ---
 
  invalid command name Mac/802_11e
  while executing
  Mac/802_11e create _o54 
  invoked from within
  catch $className create $o $args msg
  invoked from within
  if [catch $className create $o $args msg] {
  if [string match __FAILED_SHADOW_OBJECT_ $msg] {
  delete $o
  return 
  }
  global errorInfo
  error class $...
  (procedure new line 3)
  invoked from within
  new $mactype
  (procedure _o44 line 10)
  (Node/MobileNode add-interface line 10)
  invoked from within
  $node add-interface $chan $propInstance_ $llType_ $macType_
  $ifqType_ $ifqlen_ $phyType_ $antType_ $topoInstance_ $inerrProc_
  $outerrProc_ $FECProc_
  (procedure _o3 line 66)
  (Simulator create-wireless-node line 66)
  invoked from within
  _o3 create-wireless-node 1.0.0
  (eval body line 1)
  invoked from within
  eval $self create-wireless-node $args
  (procedure _o3 line 14)
  (Simulator node line 14)
  invoked from within
  $ns node 1.0.0
  invoked from within
  set BS(0) [$ns node 1.0.0]
  (file edca_multi_udpflows.tcl line 92)
 
  initially I thought that i might have made mistake in make  the
  object file for mac-802_11e may not have been created, but when i
  checked the mac directory the object files corresponding to all the
  .cc scripts in the patch were present..
 
 This relates to C++ stuff only. Tcl code is not compiled by make.
 Thus, a successful make is not an indication that the Tcl stuff is
 correct, too.


  what shall i do?
 
 Check all your tcl settings.

 I guess that step 6 of the readme has not been applied properly:

 6. add to tcl/lan/ns-mac.tcl:
 if [TclObject is-class Mac/802_11e] {
 ...
 copy settings of MAC/802.11
 (which are contained in this file) into this section
 and at an e at the end of the Mac/802_11 terms
 ...
 Mac/802_11e set cfb_ 0 ;# disables CFB
 }

 Best regards,
 Sven


  please someone
  help..
 
  Can you please tell me how you overcame this, as I have the exact same
  problem.
 
  
 
 
  Enjoy, and regards from Ireland.
 
 












   
-
Fussy? Opinionated? Impossible to please? Perfect.  Join Yahoo!'s user panel 
and lay it on us.


Re: [ns] 802.11e TKN, little error. i give a nice website in return

2007-06-12 Thread Sim Tec

Hi again and thanks, I now have a clearer picture of the problem.

 PLease can I have your advice, I really need to get this working
I've followed the steps very closely, and have narrowed down the location of
problem to instruction 7.

 mac/wireless-phy.h:
   change
  enum ChannelStatus {IDLE, RECV, SEND};
 to
  enum ChannelStatus {IDLE, RECVING, SENDING};
   mac/wireless-phy.cc:
 replace all occurences of RECV and SEND (by RECVING and SENDING).


After successfully doing ./configure
successfully doing Make Clean
successfully doing Make Depend
I Run 'Make' and I get the error
mac/wireless-phy.cc: In wireless function  'virtual void
WirelessPhy::sendDown(Packet*)':
 mac/wireless-phy.cc:302: error: 'class Channel' has no member named
'RECVING'
make: ***

If I replace the RECVING with RECV I get the similar error:
 mac/wireless-phy.cc: In wireless function  'virtual void
WirelessPhy::sendDown(Packet*)':
 mac/wireless-phy.cc:302: error: 'class Channel' has no member named 'RECV'
make: ***

There are no solutions to this on the web

Here is the sendDown method


WirelessPhy::sendDown(Packet *p)
{
 /*
  * Sanity Check
  */
 assert(initialized());

 if (em()) {
   //node is off here...
   if (Is_node_on() != true ) {
   Packet::free(p);
   return;
   }
   if(Is_node_on() == true  Is_sleeping() == true){
   em()- DecrSleepEnergy(NOW-update_energy_time_,
   P_sleep_);
   update_energy_time_ = NOW;

   }

 }
 /*
  * Decrease node's energy
  */
 if(em()) {
  if (em()-energy()  0) {

  double txtime = hdr_cmn::access(p)-txtime();
  double start_time = MAX(channel_idle_time_, NOW);
  double end_time = MAX(channel_idle_time_, NOW+txtime);
  double actual_txtime = end_time-start_time;

  if (start_time  update_energy_time_) {
   em()-DecrIdleEnergy(start_time -
   update_energy_time_, P_idle_);
   update_energy_time_ = start_time;
  }

  /* It turns out that MAC sends packet even though, it's
 receiving some packets.

  if (txtime-actual_txtime  0.01) {
   fprintf(stderr,Something may be wrong at MAC\n);
   fprintf(stderr,act_tx = %lf, tx = %lf\n, actual_txtime, txtime);
  }
  */

 // Sanity check
 double temp = MAX(NOW,last_send_time_);

 /*
 if (NOW  last_send_time_) {
  fprintf(stderr,Ar !! Overlapping transmission. NOW %lf last %lf
temp %lf\n, NOW, last_send_time_, temp);
 }
 */

 double begin_adjust_time = MIN(channel_idle_time_, temp);
 double finish_adjust_time = MIN(channel_idle_time_, NOW+txtime);
 double gap_adjust_time = finish_adjust_time - begin_adjust_time;
 if (gap_adjust_time  0.0) {
  fprintf(stderr,What the heck ! negative gap time.\n);
 }

 if ((gap_adjust_time  0.0)  (status_ == RECV)) {
  em()-DecrTxEnergy(gap_adjust_time,
   Pt_consume_-Pr_consume_);
 }

 em()-DecrTxEnergy(actual_txtime,Pt_consume_);
// if (end_time  channel_idle_time_) {
//  status_ = SENDING;
// }
//
 status_ = IDLE;

 last_send_time_ = NOW+txtime;
 channel_idle_time_ = end_time;
 update_energy_time_ = end_time;

 if (em()-energy() = 0) {
  em()-setenergy(0);
  ((MobileNode*)node())-log_energy(0);
 }

  } else {

   // log node energy
   if (em()-energy()  0) {
((MobileNode *)node_)-log_energy(1);
   }
//
   Packet::free(p);
   return;
  }
 }

 /*
  *  Stamp the packet with the interface arguments
  */
 p-txinfo_.stamp((MobileNode*)node(), ant_-copy(), Pt_, lambda_);

 // Send the packet
 channel_-RECV(p, this);
}

Sincere Thanks and Regards,
Michael, university DCU. Dublin



On 6/12/07, H i l A l [EMAIL PROTECTED] wrote:

 hi there,
 i'm using this patch, and when i installed it i just followed the 10
 indicated steps and it worked properly. The first time i tried to do this i
 got some problems and it didn't work, but it was something that i missed...
 as for me, i'm not using ns-2.30, it's ns-allinone-2.28 that i'm using.
 my problems were after i implemented an admission control algorithm, i
 couldn't include any header file to the application(including the header
 files i've never changed), donnow why, i tried to avoid the problem...until
 now i'm in a deep shit...
 hope it will work for u 2 ...
 good luck

 *Sim Tec [EMAIL PROTECTED]* wrote:


 Sincerely thanks for the responce Sven.


 I still have the same error.
 I set up the tcl/lan/ns-mac.tcl as follows:

 if [TclObject is-class Mac/802_11e] {
 Mac/802_11e set delay_ 64us
 Mac/802_11e set ifs_ 16us
 Mac/802_11e set slotTime_ 16us
 Mac/802_11e set cwmin_ 16
 Mac/802_11e set cwmax_ 1024
 Mac/802_11e set rtxLimit_ 16
 Mac/802_11e set bssId_ -1
 Mac/802_11e set sifs_ 8us
 Mac/802_11e set pifs_ 12us
 Mac/802_11e set difs_ 16us
 Mac/802_11e set rtxAckLimit_ 1
 Mac/802_11e set rtxRtsLimit_ 3
 Mac/802_11e set basicRate_ 1Mb ;# set this to 0 if want to use bandwidth_
 for
 Mac/802_11e set dataRate_ 1Mb ;# both control and data pkts
 Mac/802_11e set cfb_ 0 ;# disables CFB
 }


Re: [ns] 802.11e TKN, little error. i give a nice website in return

2007-06-12 Thread Sim Tec

Slight change from previous email!
Hi again and thanks, I now have a clearer picture of the problem.

 But PLease can I have your advice, I really need to get this working .
I've followed the steps very closely, and have narrowed down the location of
problem to instruction 7.

 mac/wireless-phy.h:
   change
  enum ChannelStatus {IDLE, RECV, SEND};
 to
  enum ChannelStatus {IDLE, RECVING, SENDING};
   mac/wireless-phy.cc:
 replace all occurences of RECV and SEND (by RECVING and SENDING).


After successfully doing ./configure
successfully doing Make Clean
successfully doing Make Depend
I Run 'Make' and I get the error
mac/wireless-phy.cc: In wireless function  'virtual void
WirelessPhy::sendDown(Packet*)':
 mac/wireless-phy.cc:302: error: 'class Channel' has no member named
'RECVING'
make: *** [mac/wireless-phy.o] Error 1

If I replace the RECVING with RECV I get the similar error:
 mac/wireless-phy.cc: In wireless function  'virtual void
WirelessPhy::sendDown(Packet*)':
 mac/wireless-phy.cc:302: error: 'class Channel' has no member named 'RECV'
make: *** [mac/wireless-phy.o] Error 1

There are no solutions to this on the web

Here is the sendDown method


WirelessPhy::sendDown(Packet *p)
{
 /*
  * Sanity Check
  */
 assert(initialized());

 if (em()) {
   //node is off here...
   if (Is_node_on() != true ) {
   Packet::free(p);
   return;
   }
   if(Is_node_on() == true  Is_sleeping() == true){
   em()- DecrSleepEnergy(NOW-update_energy_time_,
   P_sleep_);
   update_energy_time_ = NOW;

   }

 }
 /*
  * Decrease node's energy
  */
 if(em()) {
  if (em()-energy()  0) {

  double txtime = hdr_cmn::access(p)-txtime();
  double start_time = MAX(channel_idle_time_, NOW);
  double end_time = MAX(channel_idle_time_, NOW+txtime);
  double actual_txtime = end_time-start_time;

  if (start_time  update_energy_time_) {
   em()-DecrIdleEnergy(start_time -
   update_energy_time_, P_idle_);
   update_energy_time_ = start_time;
  }

  /* It turns out that MAC sends packet even though, it's
 receiving some packets.

  if (txtime-actual_txtime  0.01) {
   fprintf(stderr,Something may be wrong at MAC\n);
   fprintf(stderr,act_tx = %lf, tx = %lf\n, actual_txtime, txtime);
  }
  */

 // Sanity check
 double temp = MAX(NOW,last_send_time_);

 /*
 if (NOW  last_send_time_) {
  fprintf(stderr,Ar !! Overlapping transmission. NOW %lf last %lf
temp %lf\n, NOW, last_send_time_, temp);
 }
 */

 double begin_adjust_time = MIN(channel_idle_time_, temp);
 double finish_adjust_time = MIN(channel_idle_time_, NOW+txtime);
 double gap_adjust_time = finish_adjust_time - begin_adjust_time;
 if (gap_adjust_time  0.0) {
  fprintf(stderr,What the heck ! negative gap time.\n);
 }

 if ((gap_adjust_time  0.0)  (status_ == RECV)) {
  em()-DecrTxEnergy(gap_adjust_time,
   Pt_consume_-Pr_consume_);
 }

 em()-DecrTxEnergy(actual_txtime,Pt_consume_);
// if (end_time  channel_idle_time_) {
//  status_ = SENDING;
// }
//
 status_ = IDLE;

 last_send_time_ = NOW+txtime;
 channel_idle_time_ = end_time;
 update_energy_time_ = end_time;

 if (em()-energy() = 0) {
  em()-setenergy(0);
  ((MobileNode*)node())-log_energy(0);
 }

  } else {

   // log node energy
   if (em()-energy()  0) {
((MobileNode *)node_)-log_energy(1);
   }
//
   Packet::free(p);
   return;
  }
 }

 /*
  *  Stamp the packet with the interface arguments
  */
 p-txinfo_.stamp((MobileNode*)node(), ant_-copy(), Pt_, lambda_);

 // Send the packet
 channel_-RECV(p, this);
}

Sincere Thanks and Regards,
Michael, university DCU. Dublin



On 6/12/07, Sim Tec [EMAIL PROTECTED] wrote:

 Hi again and thanks, I now have a clearer picture of the problem.

  PLease can I have your advice, I really need to get this working
 I've followed the steps very closely, and have narrowed down the location
 of problem to instruction 7.
 
  mac/wireless-phy.h:
change
   enum ChannelStatus {IDLE, RECV, SEND};
  to
   enum ChannelStatus {IDLE, RECVING, SENDING};
mac/wireless-phy.cc:
  replace all occurences of RECV and SEND (by RECVING and SENDING).
 

 After successfully doing ./configure
 successfully doing Make Clean
 successfully doing Make Depend
 I Run 'Make' and I get the error
 mac/wireless-phy.cc: In wireless function  'virtual void
 WirelessPhy::sendDown(Packet*)':
  mac/wireless-phy.cc:302: error: 'class Channel' has no member named
 'RECVING'
 make: ***

 If I replace the RECVING with RECV I get the similar error:
  mac/wireless-phy.cc: In wireless function  'virtual void
 WirelessPhy::sendDown(Packet*)':
  mac/wireless-phy.cc:302: error: 'class Channel' has no member named
 'RECV'
 make: ***

 There are no solutions to this on the web

 Here is the sendDown method


 WirelessPhy::sendDown(Packet *p)
 {
  /*
   * Sanity Check
   */
  assert(initialized());

  if (em()) {
//node is off 

Re: [ns] 802.11e TKN, little error. i give a nice website in return

2007-06-12 Thread Sim Tec

Thanks, Matthias, yep the methods problem was that it was case sensitive and
i had forgotten that I changed it. I admit that it was stupid of me not to
realise this.
Are you  based in the Berlin TKN? Do you mind me using your package? :)



Im having problems that seem to be because of my version 2.30.
In 2004 december, Pepe Barbe had the same problem I currently have

*Despoina Triantafyllidou* replied that the problem was due to the version

the 802.11e patch is for ns-2.26.
under ns-2.27 may cause these problems...

As I am 2.30, why am i having similar problems?


 Here is the error I receive after running make:

 #warning This file includes at least one deprecated or antiquated header.
Please consid
er using one of the 32 headers found in section 17.4.1.2 of the C++
standard. Examples i
nclude substituting the X header for the X.h header for C++ includes, or
iostream
instead of the deprecated header iostream.h. To disable this warning use
-Wno-deprecat
ed.
In file included from mac/802_11e/mac-802_11e.h:10,
 from mac/802_11e/mac-802_11e.cc:14:
mac/802_11e/priq.h:12:1: warning: MAX redefined
In file included from ./common/mobilenode.h:63,
 from mac/802_11e/mac-802_11e.cc:7:
./mobile/gridkeeper.h:17:1: warning: this is the location of the previous
definition
mac/802_11e/mac-802_11e.cc: In member function `void
Mac802_11e::transmit(Packet*, doubl
e)':
mac/802_11e/mac-802_11e.cc:72: error: `ETHER_HDR_LEN11' undeclared (first
use this funct
ion)
mac/802_11e/mac-802_11e.cc:72: error: (Each undeclared identifier is
reported only once
for each function it appears in.)
mac/802_11e/mac-802_11e.cc: At global scope:
mac/802_11e/mac-802_11e.cc:112: error: `EDCF_MMIB' must be initialized by
constructor, n
ot by `{...}'
mac/802_11e/mac-802_11e.cc: In constructor
`Mac802_11e::Mac802_11e(EDCF_PHY_MIB*, MAC_MI
B*)':
mac/802_11e/mac-802_11e.cc:182: error: `ETHER_ACK_LEN' undeclared (first use
this functi
on)
mac/802_11e/mac-802_11e.cc: In member function `virtual int
Mac802_11e::command(int, con
st char* const*)':
./mac/mac-802_11.h:203: error: `u_int32_t MAC_MIB::ShortRetryLimit' is
private
mac/802_11e/mac-802_11e.cc:240: error: within this context
./mac/mac-802_11.h:203: error: `u_int32_t MAC_MIB::ShortRetryLimit' is
private
mac/802_11e/mac-802_11e.cc:247: error: within this context
mac/802_11e/mac-802_11e.cc: In member function `void
Mac802_11e::trace_pkt(Packet*)':
mac/802_11e/mac-802_11e.cc:272: error: 'struct hdr_mac802_11' has no member
named 'dh_da
'
mac/802_11e/mac-802_11e.cc:272: error: 'struct hdr_mac802_11' has no member
named 'dh_da
'
mac/802_11e/mac-802_11e.cc:272: error: 'struct hdr_mac802_11' has no member
named 'dh_da
'
mac/802_11e/mac-802_11e.cc:272: error: 'struct hdr_mac802_11' has no member
named 'dh_da
'
mac/802_11e/mac-802_11e.cc:272: error: 'struct hdr_mac802_11' has no member
named 'dh_sa
'
mac/802_11e/mac-802_11e.cc:272: error: 'struct hdr_mac802_11' has no member
named 'dh_sa
'
mac/802_11e/mac-802_11e.cc:272: error: 'struct hdr_mac802_11' has no member
named 'dh_sa
'
mac/802_11e/mac-802_11e.cc:272: error: 'struct hdr_mac802_11' has no member
named 'dh_sa
'
mac/802_11e/mac-802_11e.cc: In member function `virtual int
Mac802_11e::hdr_dst(char*, i
nt)':
mac/802_11e/mac-802_11e.cc:312: error: 'struct hdr_mac802_11' has no member
named 'dh_da
'
mac/802_11e/mac-802_11e.cc:312: error: 'struct hdr_mac802_11' has no member
named 'dh_da
'
mac/802_11e/mac-802_11e.cc:312: error: 'struct hdr_mac802_11' has no member
named 'dh_da
'
mac/802_11e/mac-802_11e.cc:312: error: 'struct hdr_mac802_11' has no member
named 'dh_da
'
mac/802_11e/mac-802_11e.cc:314: error: 'struct hdr_mac802_11' has no member
named 'dh_da
'
mac/802_11e/mac-802_11e.cc:314: error: 'struct hdr_mac802_11' has no member
named 'dh_da
'
mac/802_11e/mac-802_11e.cc:314: error: 'struct hdr_mac802_11' has no member
named 'dh_da
'
mac/802_11e/mac-802_11e.cc:314: error: 'struct hdr_mac802_11' has no member
named 'dh_da
'
mac/802_11e/mac-802_11e.cc: In member function `virtual int
Mac802_11e::hdr_src(char*, i
nt)':
mac/802_11e/mac-802_11e.cc:322: error: 'struct hdr_mac802_11' has no member
named 'dh_sa
'
mac/802_11e/mac-802_11e.cc:322: error: 'struct hdr_mac802_11' has no member
named 'dh_sa
'
mac/802_11e/mac-802_11e.cc:322: error: 'struct hdr_mac802_11' has no member
named 'dh_sa
'
mac/802_11e/mac-802_11e.cc:322: error: 'struct hdr_mac802_11' has no member
named 'dh_sa
'
mac/802_11e/mac-802_11e.cc:323: error: 'struct hdr_mac802_11' has no member
named 'dh_sa
'
mac/802_11e/mac-802_11e.cc:323: error: 'struct hdr_mac802_11' has no member
named 'dh_sa
'
mac/802_11e/mac-802_11e.cc:323: error: 'struct hdr_mac802_11' has no member
named 'dh_sa
'
mac/802_11e/mac-802_11e.cc:323: error: 'struct hdr_mac802_11' has no member
named 'dh_sa
'
mac/802_11e/mac-802_11e.cc: In member function `void
Mac802_11e::discard(Packet*, const
char*)':
mac/802_11e/mac-802_11e.cc:392: error: 'struct hdr_mac802_11' has no member
named 'dh_sa
'

Re: [ns] 802.11e TKN, little error. i give a nice website in return

2007-06-11 Thread Sven Wiethoelter

On Jun 11, 2007, at 8:05 AM, Sim Tec wrote:



 Hello I am simulating with 802.11e and would love to use TKN

 I have the exact same problem that many people have had, but there  
 is no
 solution posted for it.

Hi, the solution is always the same: Check your changes in the tcl  
files ;-) (see further below)


 -In return, here is the Best website for NS-2 that I have found  
 on the
 Internet. It is a very recent website also.
 http://academic.csuohio.edu/yuc/mobile07/

 i am trying to apply the 802.11e patch for EDCA from TKN Berlin named
 'EDCA_ns-2_28-v1-0-1.tgz' on ns-2.30.
  i have followed all the steps
 given in the README, but in vein..i am getting error when i run the
 sample tcl script named edca_multi_udpflows.tcl provided in the
 package. I tried another wireless scripts using the command set val
 (mac) Mac/802_11e to get the following error ---

 invalid command name Mac/802_11e
 while executing
 Mac/802_11e create _o54 
 invoked from within
 catch $className create $o $args msg
 invoked from within
 if [catch $className create $o $args msg] {
 if [string match __FAILED_SHADOW_OBJECT_ $msg] {
 delete $o
 return 
 }
 global errorInfo
 error class $...
 (procedure new line 3)
 invoked from within
 new $mactype
 (procedure _o44 line 10)
 (Node/MobileNode add-interface line 10)
 invoked from within
 $node add-interface $chan $propInstance_ $llType_ $macType_
 $ifqType_ $ifqlen_ $phyType_ $antType_ $topoInstance_  $inerrProc_
 $outerrProc_ $FECProc_
 (procedure _o3 line 66)
 (Simulator create-wireless-node line 66)
 invoked from within
 _o3 create-wireless-node 1.0.0
 (eval body line 1)
 invoked from within
 eval $self create-wireless-node $args
 (procedure _o3 line 14)
 (Simulator node line 14)
 invoked from within
 $ns node 1.0.0
 invoked from within
 set BS(0) [$ns node 1.0.0]
 (file edca_multi_udpflows.tcl line 92)

 initially I thought that i might have made mistake in make  the
 object file for mac-802_11e may not have been created, but when i
 checked the mac directory the object files corresponding to all the
 .cc scripts in the patch were present..

This relates to C++ stuff only. Tcl code is not compiled by make.  
Thus, a successful make is not an indication that the Tcl stuff is  
correct, too.


 what shall i do?

Check all your tcl settings.

I guess that step 6 of the readme has not been applied properly:

6.  add to tcl/lan/ns-mac.tcl:
if [TclObject is-class Mac/802_11e] {
  ...
 copy settings of MAC/802.11
 (which are contained in this file) into this section
  and at an e at the end of the Mac/802_11 terms
 ...
 Mac/802_11e set cfb_ 0 ;# disables CFB
}

  Best regards,
Sven


 please someone
 help..

 Can you please tell me how you overcame this, as I have the exact same
 problem.

  http://academic.csuohio.edu/yuc/mobile07/


 Enjoy, and regards from Ireland.













Re: [ns] 802.11e TKN, little error. i give a nice website in return

2007-06-11 Thread Sim Tec

Sincerely thanks for the responce Sven.


I still have the same error.
I set up the tcl/lan/ns-mac.tcl as follows:

 if [TclObject is-class Mac/802_11e] {
 Mac/802_11e set delay_ 64us
 Mac/802_11e set ifs_ 16us
 Mac/802_11e set slotTime_ 16us
 Mac/802_11e set cwmin_ 16
 Mac/802_11e set cwmax_ 1024
 Mac/802_11e set rtxLimit_ 16
 Mac/802_11e set bssId_ -1
 Mac/802_11e set sifs_ 8us
 Mac/802_11e set pifs_ 12us
 Mac/802_11e set difs_ 16us
 Mac/802_11e set rtxAckLimit_ 1
 Mac/802_11e set rtxRtsLimit_ 3
Mac/802_11e set basicRate_ 1Mb  ;# set this to 0 if want to use bandwidth_
for
Mac/802_11e set dataRate_ 1Mb   ;# both control and data pkts
Mac/802_11e set cfb_ 0 ;# disables CFB
}



Should I follow these steps, step 7 seems to be very problematic

7. mac/wireless-phy.h:
   change
  enum ChannelStatus {IDLE, RECV, SEND};
 to
  enum ChannelStatus {IDLE, RECVING, SENDING};
   mac/wireless-phy.cc:
 replace all occurences of RECV and SEND (by RECVING and SENDING).

8. common/packet.h:
 add
  #define HDR_MAC802_11E(p) ((hdr_mac802_11e *)hdr_mac::access(p))

9. run ./configure; make clean; make depend; make in your ns directory

10. happy simulating :o) (e.g with the example script
../ns-x/mac/802.11e/multi_udpflows.tcl)


Sincere thanks and regards.










On 6/11/07, Sven Wiethoelter [EMAIL PROTECTED] wrote:

 On Jun 11, 2007, at 8:05 AM, Sim Tec wrote:


 
  Hello I am simulating with 802.11e and would love to use TKN
 
  I have the exact same problem that many people have had, but there
  is no
  solution posted for it.
 
 Hi, the solution is always the same: Check your changes in the tcl
 files ;-) (see further below)


  -In return, here is the Best website for NS-2 that I have found
  on the
  Internet. It is a very recent website also.
  http://academic.csuohio.edu/yuc/mobile07/
 
  i am trying to apply the 802.11e patch for EDCA from TKN Berlin named
  'EDCA_ns-2_28-v1-0-1.tgz' on ns-2.30.
   i have followed all the steps
  given in the README, but in vein..i am getting error when i run the
  sample tcl script named edca_multi_udpflows.tcl provided in the
  package. I tried another wireless scripts using the command set val
  (mac) Mac/802_11e to get the following error ---
 
  invalid command name Mac/802_11e
  while executing
  Mac/802_11e create _o54 
  invoked from within
  catch $className create $o $args msg
  invoked from within
  if [catch $className create $o $args msg] {
  if [string match __FAILED_SHADOW_OBJECT_ $msg] {
  delete $o
  return 
  }
  global errorInfo
  error class $...
  (procedure new line 3)
  invoked from within
  new $mactype
  (procedure _o44 line 10)
  (Node/MobileNode add-interface line 10)
  invoked from within
  $node add-interface $chan $propInstance_ $llType_ $macType_
  $ifqType_ $ifqlen_ $phyType_ $antType_ $topoInstance_  $inerrProc_
  $outerrProc_ $FECProc_
  (procedure _o3 line 66)
  (Simulator create-wireless-node line 66)
  invoked from within
  _o3 create-wireless-node 1.0.0
  (eval body line 1)
  invoked from within
  eval $self create-wireless-node $args
  (procedure _o3 line 14)
  (Simulator node line 14)
  invoked from within
  $ns node 1.0.0
  invoked from within
  set BS(0) [$ns node 1.0.0]
  (file edca_multi_udpflows.tcl line 92)
 
  initially I thought that i might have made mistake in make  the
  object file for mac-802_11e may not have been created, but when i
  checked the mac directory the object files corresponding to all the
  .cc scripts in the patch were present..
 
 This relates to C++ stuff only. Tcl code is not compiled by make.
 Thus, a successful make is not an indication that the Tcl stuff is
 correct, too.


  what shall i do?
 
 Check all your tcl settings.

 I guess that step 6 of the readme has not been applied properly:

 6.  add to tcl/lan/ns-mac.tcl:
if [TclObject is-class Mac/802_11e] {
  ...
 copy settings of MAC/802.11
 (which are contained in this file) into this section
  and at an e at the end of the Mac/802_11 terms
 ...
 Mac/802_11e set cfb_ 0 ;# disables CFB
}

 Best regards,
 Sven


  please someone
  help..
 
  Can you please tell me how you overcame this, as I have the exact same
  problem.
 
   http://academic.csuohio.edu/yuc/mobile07/
 
 
  Enjoy, and regards from Ireland.