Download Latest Version xgpon4ns3-v2.0.zip (3.7 MB)
Email in envelope

Get an email when there's a new version of XG-PON Module for NS-3 (moved to GitHub)

Home
Name Modified Size InfoDownloads / Week
README xgpon4ns3 v2.1.txt 2020-11-30 3.9 kB
xgpon4ns3-v2.0.zip 2018-11-22 3.7 MB
xgpon4ns3_manual_2024-04-18.pdf 2014-04-18 3.6 MB
xgpon_2014-04-18.tar.gz 2014-04-18 38.1 MB
xgpon4ns3_manual.pdf 2014-01-29 3.6 MB
xgpon_2013-12-14_giant.tar.gz 2013-12-18 32.5 MB
Totals: 6 Items   81.5 MB 1
+++++++++++++++++++++++++++++++++++++++++++++
RELEASE NOTES of the xgpon4ns3-v2.0
+++++++++++++++++++++++++++++++++++++++++++++

VERSION 2.1 
RELEASE DATE 22.11.2018
README UPDATED ON 30.11.2020
RELEASED BY JEROME A AROKKIAM (jerom2005raj@gmail.com)

This XG-PON module contains significant changes to the modules published in 2013 and 2014. 
Being a lazy coder as usual, I have not individually given all the changes for all the files and functions changed.

That being said, I've come across many questions int he past two years from those who are struggling to start with this xgpon module. So I've put together a detailed set of instructions for an easier start with using the xgpon module with an ns-3 module. 

First, start with downloading ns3.21 in an ubuntu environment as at https://www.nsnam.org/docs/tutorial/html/getting-started.html#downloading-a-release-of-ns-3-as-a-source-archive
Once downloaded,

1. Please build and run ns3 as instructed at https://www.nsnam.org/docs/tutorial/html/getting-started.html#building-with-waf, BUT WITHOUT USING EXAMPLES/TESTS OR A DIFFERENT BUILD PROFILE
I vaguley remember doing this a few years back (that's right, its been more than half a decade since I've properly worked on this)
---> Once you've downloaded and extracted ns-allinone-3.21, go inside the ns3 directory: ns-3.21
---> then configure ns-3 using ./waf configure
---> now build ns-3 using ./waf (This will build the debug version of ns3.21 without examples and without tests)

2. Now try running a basic ns-3 example script provided in ns-3. Let's say this example file you want to test is first.cc located at examples/tutorial/first.cc
---> First copy this example into the scratch folder (cp examples/tutorial/first.cc scratch/my-first.cc)
---> Then run the example file inside scratch foler using ./waf --run scratch/my-first  (please do not use a python script to run the example)
---> If you've come this far, then you know that you have successfully checked that ns-3.21 has no issues in running on your computer. 
(for a better understanding, you may want to refer to Section 4.2.9 Building Your Script at https://www.nsnam.org/docs/release/3.21/tutorial/ns-3-tutorial.pdf. I also suggest that you complete Chapter 4, 5 and 6 in this tutorial, before moving on to work with xgpon)

3. Now you can start working with the xgpon module. 
---> Copy and paste the xgpon folder inside src folder 
---> rebuild ns-3 using ./waf as in step 1.  (I am not sure if ./waf configure should be used again before ./waf; if needed, please do so. Also avoid requiring examples and tests when building).

At this stage, you are set to work with an xgpon example. If by this stage there are errors regarding the latest gcc/c++ version, I am afraid I cannot be of much help. 

4. The best place to start with the xgpon module is the file xgpon-dba-udp-test.cc, inside the 'xgpon/examples' folder. Here's how to run the first xgpon example. 
---> First copy this file to your scratch folder (cp src/xgpon/examples/xgpon-dba-udp-test.cc scratch/my-xgpon-dba-udp-test.cc)
---> Then follow the comments and instructions to understand the file and its configuration parameters
---> And finally run the code the usual ns3 way using waf (./waf --run scratch/my-xgpon-dba-udp-test)

Voilà!!! Now you can continue using xgpon for doing what you are passionate about.

As a final note, I would like to request that whoever uses this module in ns3 is kind enough to cite the developers' scientific papers (as given in the example and DBA implementation files) as appropriate. Questions and appreciations are most welcome.

Thank you for taking the time to explore this module. My sincere thanks to the original developers Xiuchao Wu and Pedro Alvarez as well to the ns3 team for their excellent work with the overall ns3 code base.

-Jerome
Source: README xgpon4ns3 v2.1.txt, updated 2020-11-30