[ns] mhDefer and mhBackoff
what is the purpose of the mhDefer timer in the mac802.11 implementation. i understand that the mhBackoff timer is used to implement the backoff procedure... but i don't understand what the mhDefer timer is used for? does anybody know...? thanks ariel
[ns] how to simulate 802.11b
hi does anybody have a parameter set for simulating a 802.11b network with the ricean mac802.11 implementation? which is the best 802.11 standard to implement in ns2? there are so many 802.11 standards i don't know which one to try and simulate many thanks Ariel
Re: [ns] adding to the common header
For future reference... i have discovered my problem. It had nothing to do with the packet header. When i was dropping packets, in one place in my simulation i didn't have a return statement... so what would happen is i would clear the packet... but then carry on through the procedure as if the packet was there... this resulted in blank packets example if(condition){ drop(p, WHY); return; } If you dont have that return = problesms! Thanks for the assistance Ariel On Mon, Mar 15, 2010 at 12:17 PM, Ariel Goldberg ariel.goldbe...@gmail.comwrote: Hi All I am experiencing a problem when i add a new variable to the common header. The new variable is a double, and my simulation starts to produce blank packets and does strange things when it is there... I was wondering if anybody could give me some advice or direct me towards a detailed guide as to how to add new information into the common header or into any header in fact? -- Kind Regards Ariel Goldberg Mobile: +27 82 998 7122 Phone: +27 21 940 9757 Mail: ariel.goldbe...@gmail.com -- Kind Regards Ariel Goldberg Mobile: +27 82 998 7122 Phone: +27 21 940 9757 Mail: ariel.goldbe...@gmail.com
[ns] adding to the common header
Hi All I am experiencing a problem when i add a new variable to the common header. The new variable is a double, and my simulation starts to produce blank packets and does strange things when it is there... I was wondering if anybody could give me some advice or direct me towards a detailed guide as to how to add new information into the common header or into any header in fact? -- Kind Regards Ariel Goldberg Mobile: +27 82 998 7122 Phone: +27 21 940 9757 Mail: ariel.goldbe...@gmail.com
[ns] PacketQueue:: remove() couldn't find target
Hi All I am receiving the following error messages in my simulator Direction for pkt-flow not specified; Sending pkt up the stack on default AND, right before it unceremoniously explodes and DIES! PacketQueue:: remove() couldn't find target Tracing through my simulator, i believe these errors are happening because there are ghost packets being generated somehow somewhere? By ghost packet, what i mean is a packet with zero information in it, so there is a memory address and everything... but when i look inside the common header it is literally just zeroes... or a packet without even a memory address... what i have found is that i will have an IFQ with len_ variable equal to 50 say... but there are actually only 2 or 3 packets in it... the third packet is blank... and so obviously this breaks the queue because you need to have a packet there to point to the next packet in the queue... etc etc etc Anyways... this is a problem i am experiencing only when i load my simulation quite considerably. When my nodes are not producing alot of collisions and bandwidth etc is not a scarce resource, thsi problem does not happen. I suspect that i could be causing this by the addition of a variable called credit to the common header of all packets... i am not sure i added this variable correctly...? perhaps some packets are coming out blank because the bag of bits is being inteferred with by my variable addition to the header? If there is anyone who knows about any kind of blank or ghost packet phenomenon in ns2.33 when you stress the simulator a bit, please give me insight? Thanks much Ariel PS: is there anyone out there who understands the correct way to add a variable to the common header of a packet? I would appreciate some advice on this? I also have a warning deprecated conversion from string constant to 'char*' which i have no idea how to get rid of... but i have noticed that this warning is there with a freshly compiled version of ns2.33 without my tampering, so i don't think i have caused it?
Re: [ns] queue split object prob
return $node } On Fri, Mar 12, 2010 at 2:33 PM, waqar haq warin...@gmail.com wrote: hi to all plz do reply, i m in die hard need i was trying to get nos of bytes currently contain in a que after searching i have found that queue class contain a packetqueue object that hav a protected variable bytes_ i have done this to get a queue handle set queu [[[$ns link $node $nbr ] set queue_] set limit_] it gives me max nos of packet queue can contain but i want to communicate queue c++ class ,but finds out that queue doesnt have any command funtion then i turn back to droptail queue classs and find out that it contain a command function and also contain queue::command(); but i havent found any implementation of queue::command() further more when i try to write my own command funtion in existing queue base class it gives an errror of unknown split object can any any one tell me whats really hapning and it there any thing i can do to get bytes_ value in my program thnks alot and plz do reply -- Kind Regards Ariel Goldberg Mobile: +27 82 998 7122 Phone: +27 21 940 9757 Mail: ariel.goldbe...@gmail.com
Re: [ns] segmentation fault when trying to read common header of a packet
I just made some progress with this... i still have the problem, but a better idea where it comes from. Basically, its that i get a blank packet of the IFQ... i don't know why? What is happening is that node 1 is sending a packet to node 0. Node 0 replies with an Ack to node 1. Node 1 receives the Ack in Mac802_11::recv which then schedules the packet to be received in Mac802_11::recv_timer. This then calls Mac802_11::recvAck and a packet is dequeued from the IFQ... but this packet that is being dequeued from the IFQ is blank. So, the MAC layer receives this blank packet... and one of the first things it checks is the direction it is supposed to be going... usually it should be DOWN and this then goes off to the send procedure... but because it is blank it is skipping over the send function and going to the part of the MAC802_11::recv function that deals with packets with direction UP... anyways... this leads to a collision and some other stuff and eventually the pktRx is placed on the calendar and then deleted... so what happens when it comes off the calendar is that looking at its common header struct hdr_cmn *hdr = HDR_CMN(pktRx_); results in a segmentation fault because pktRx is literally stored as 0x in memory. The original cause of the problem is this blank packet that comes off the IFQ? On Mon, Mar 8, 2010 at 4:15 PM, Ariel Goldberg ariel.goldbe...@gmail.comwrote: I'm running into a segmentation fault in my simulation. The essence of the problem is that i am putting a packet into the IFQ of a node, but when i take the packet off the queue to be processed by the MAC layer... it is blank. When the simulation tries to read the common header of the packet it results in a segmentation fault. Do you have any idea what could be happening to the packet while it is in the IFQ... or where this blank packet could be coming from. I am trying to monitor the queue by looking at the packets inserted before and after the packet... but i can't really make much sense of it right now. By looking at the memory addresses of the packets, i thought i would be able to track the packets as they are added to the queue from the LL::sendDown method in llc.cc and then see them in that order in the queue by looking at the next_ variable... but what i have found is that the order of the packets in the queue does not correspond to the order of the packets that came through llc.cc? I don't understand this? Surely all packets in the IFQ must be coming through the LL::sendDown method? Kind Regards Ariel Goldberg Mobile: +27 82 998 7122 Phone: +27 21 940 9757 Mail: ariel.goldbe...@gmail.com -- Kind Regards Ariel Goldberg Mobile: +27 82 998 7122 Phone: +27 21 940 9757 Mail: ariel.goldbe...@gmail.com
Re: [ns] segmentation fault when trying to read common header of a packet
packet. I got the MAC header only from the function hdr_cmn802_11 only. But still I'm facing the problem. Please let me know anything about this so that I can proceed with my project work. It is very urgent, please do take some time if you happen to know anything about it. Thanks, Sireesha. On Mon, Mar 8, 2010 at 7:45 PM, Ariel Goldberg ariel.goldbe...@gmail.comwrote: I'm running into a segmentation fault in my simulation. The essence of the problem is that i am putting a packet into the IFQ of a node, but when i take the packet off the queue to be processed by the MAC layer... it is blank. When the simulation tries to read the common header of the packet it results in a segmentation fault. Do you have any idea what could be happening to the packet while it is in the IFQ... or where this blank packet could be coming from. I am trying to monitor the queue by looking at the packets inserted before and after the packet... but i can't really make much sense of it right now. By looking at the memory addresses of the packets, i thought i would be able to track the packets as they are added to the queue from the LL::sendDown method in llc.cc and then see them in that order in the queue by looking at the next_ variable... but what i have found is that the order of the packets in the queue does not correspond to the order of the packets that came through llc.cc? I don't understand this? Surely all packets in the IFQ must be coming through the LL::sendDown method? Kind Regards Ariel Goldberg Mobile: +27 82 998 7122 Phone: +27 21 940 9757 Mail: ariel.goldbe...@gmail.com -- Kind Regards Ariel Goldberg Mobile: +27 82 998 7122 Phone: +27 21 940 9757 Mail: ariel.goldbe...@gmail.com
[ns] segmentation fault when trying to read common header of a packet
I'm running into a segmentation fault in my simulation. The essence of the problem is that i am putting a packet into the IFQ of a node, but when i take the packet off the queue to be processed by the MAC layer... it is blank. When the simulation tries to read the common header of the packet it results in a segmentation fault. Do you have any idea what could be happening to the packet while it is in the IFQ... or where this blank packet could be coming from. I am trying to monitor the queue by looking at the packets inserted before and after the packet... but i can't really make much sense of it right now. By looking at the memory addresses of the packets, i thought i would be able to track the packets as they are added to the queue from the LL::sendDown method in llc.cc and then see them in that order in the queue by looking at the next_ variable... but what i have found is that the order of the packets in the queue does not correspond to the order of the packets that came through llc.cc? I don't understand this? Surely all packets in the IFQ must be coming through the LL::sendDown method? Kind Regards Ariel Goldberg Mobile: +27 82 998 7122 Phone: +27 21 940 9757 Mail: ariel.goldbe...@gmail.com