All the packages you need to install prior to using the NS-3 (3.6 and greater) can be found here:
The last packages to install are necessary to run PyViz the animator.


You can scan through headers like this:

PacketMetadata::ItemIterator metadataIterator = copy->BeginItem();
PacketMetadata::Item item;
while (metadataIterator.HasNext())
item = metadataIterator.Next();
NS_LOG_FUNCTION("item name: " << item.tid.GetName());
if(item.tid.GetName() == "ns3::Ipv4Header")
NS_LOG_DEBUG("Header Found");
m_isIpv4HeaderFound = true;

In above code I tried to find  Ipv4Header

And it is possible to access it like:

if (m_isIpv4HeaderFound)
NS_LOG_DEBUG("Header Found");
Callback constructor = item.tid.GetConstructor();

ObjectBase *instance = constructor();
NS_ASSERT(instance != 0);
Ipv4Header *ipv4Header = dynamic_cast (instance);
NS_ASSERT(ipv4Header != 0);
delete ipv4Header;

This is a short explanation on how I added NS-3 (version 3.6) to Eclipse (Galileo). I use first part from NS-3 Wiki

Adding Mercurial to Eclipse

First download eclipse IDE for C++ developers from
* Install eclipse into you operating system
* Install mercurial eclipse plugin:
– Go to help->software update
– Click on available software
– Click on add a site
– Add taken from then click on mercurialeclipse and check the box and click on install
* We suppose that you already have mercurial installed on your machine

Making a Clone of NS-3 in Eclipse

After you that you need to add the NS-3 from the repository:

Select: New -> Other, and it would be like picture below:

Eclipse mercurial after new project

Then press next. now you need to enter “Repository location URL” that is:

in case you want to have different versions of the NS-3 you need to define the “Clone directory name”, in the figure below I chose ns-3.7-dev

Clone the NS-3 to workspace

Now you just need to wait for the project files be cloned. then you will find a copy of the project you wanted like below:

A clone made of NS-3.7-dev in clipse

Since the folder is not know as a C++ project it is necessary to be converted to so right click on project name and select: new -> convert to a C/C++ project the rest of settings should be same as picture below:

Convert to C++ project

Configuring the Build system

We know that build system for NS-3 is Waf so we need to change the build configuration from build/make to Waf. so right click on project and select the properties then choose the “C/C++ Build”.

In the “Builder setup” choose “External Builder

Remove the check from “Use default build command

change “Build command” to ${workspace_loc:/ns-3.7-dev/waf}

Behaviour setting

in Behavior tab, clear both “Build on resource save (Auto save)” and “Build (Incremental build)



Now all you need to do is to push  apply and Ok. you will notice that Waf starts to build the whole project.

UPDATE: Here are some good videos By Reza P. Rezavni on how to have NS-3 on OpenSUSE

ACTION:	[s|r|D]: s -- sent, r -- received, D -- dropped
WHEN:	the time when the action happened
WHERE:	the node where the action happened
LAYER:	AGT -- application,
	RTR -- routing,
	LL  -- link layer (ARP is done here)
	IFQ -- outgoing packet queue 
               (between link and mac layer)
	MAC -- mac,
	PHY -- physical
SEQNO:	the sequence number of the packet
TYPE:	the packet type
		cbr -- CBR data stream packet
		DSR -- DSR routing packet (control packet
                generated by routing)
		RTS -- RTS packet generated by MAC 802.11
		ARP -- link layer ARP packet
SIZE:	the size of packet at current layer, when packet goes down,
        size increases, goes up size decreases
[a b c d]:	a -- the packet duration in mac layer header
		b -- the mac address of destination
		c -- the mac address of source
		d -- the mac type of the packet body
[......]:	[
		source node ip : port_number
		destination node ip (-1 means broadcast) : port_number
		ip header ttl
		ip of next hop (0 means node 0 or broadcast)

via Ke Liu’s NS2 Code and Q&A.

For me it was not easy to have Bookmark bar and a toolbar visible  and still not thinking about those spaces wasted under them, so I tried these Safari style for Firefox which helped me to save some space, you can have “Hide menu” plug-in to as well.Back to

Thanks for Installing the new Foxdie!.

The very idea of who invented the “windows” on a “desktop” in Windows 1.0 was the basis of a 1988 lawsuit and remains a point of contention.

via BBC NEWS | Technology | Windows 7 borrowed ‘look’ of Mac.

Years ago we could listen to part of the concert from its poster in Sci-Fi Movies, and now it is really possible. Smart posters are equipped with a tag to provide a wide range of information such as audio, video, phone number, contact information, map or simply text.

Suppose you find a smart poster advertising a new mall somewhere, you can either find the address in bottom of the map or just close your phone to read the address, a small map and a picture of the building even a contact phone. Cool! now we know all we need to get to the mall.
To surprise the seller can offer a discount coupon to those who has read the tag.

To get the idea watch the video showing the function (not by me):

If yo have a laptop and windows Vista/7 with Aero glass effect on. you may noticed that effects are cpu hunger and memory lover. Laptops are supposed to save battery time when unplugged so Aerofoil is what a user need to use as a set-and-forget power manager application to save those precious battery time. It’s a very minimized software with the minimum possible GUI and footprint.

Silent Development: Aerofoil 1.5.0 Released.

Aerofoil extends Vista and Windows 7 notebook battery life by:

  • Allowing you to manually disable Aero Glass.
  • Optionally managing Aero Glass user interface.
  • Optionally managing sound muting (NEW!).
  • Optionally managing YOUR chosen power plans (NEW!)
  • Optionally managing Windows Sidebar.
  • Optionally showing a quick hibernate button
  • Changing icon colour to show your power type (NEW!)

Z-Wave and Zensys

In: Wireless

25 Oct 2009

I found out that there is something called Z-Wave from Zensys, which claims is much better than ZigBee due to its operating frequencies which are at 900 and 800 bands, hence it is isolated from WiFi band (no more potential disturbance.)

According to Zensys:

Z-Wave technology dramatically extends the possibilities of today’s home security systems.  Z-Wave lets cameras, sensors and other security components work in concert as a unified system, communicating with each other and with the user whether locally or remotely. A Z-Wave home alert system can also communicate with an outside monitoring agency.

–source Simulation of IEEE 802.15.4/ZigBee with Network Simulator-2 (ns-2) – ZigBee Tutorial.

About this blog

In addition to a daily blog I will try to add our works in wireless network and data communication projects for our courses here


    Autumn yellow leavesAutumn yellow leavesAutumn yellow leavesAutumn yellow leavesAutumn yellow leaves and stairsAutumn yellow leaves