OpenSimMPLS is an MPLS network simulator, multiplatform and mutilanguage. It is easy-to-use and is intended for teaching activities. It can be used as well to test new protocols, techniques and methods related to MPLS. OpenSimMPLS is a mature project used in universities and companies in more tan 130 different countries to teach, research and design MPLS networks. It was first developed in 2004 as part of a research project at the University of Extremadura. It was hosted since then in SourceForge.net as a CVS project and since 2014 it was updated as a GIT repository and hosted in GitHub forge.
This is a forked version from Manuel Domínguez-Dorado's original OpenSimMPLS.
The modifications include:
- Custom IP address assignation
- Custom Traffic destination
- ICMP
- Ping
- Traceroute
- TTL-propagate
- RFC 4950
- Penultimate hop popping
- Custom routing tables
- Manual MPLS entry
- LDP
- A packet dumper into the software
- New format for the saving files with the possibility to save routing tables
The following functions are no more available :
- Guarantee of Service
- Active nodes
- Broken links
- Old save files
Some of these features will be added to the main project in the future.
- OpenSimMPLS 1.0 was released under the terms of GPLv2.0+.
- OpenSimMPLS 1.1 was released under the terms of GPLv3.0+.
- OpenSimMPLS 2.0 will be released under the terms of Apache Software License 2.0.
- Manuel Domínguez-Dorado - [email protected]
- Gaëtan Bulpa - [email protected]
- José Luis González Sánchez - [email protected]
- Javier Carmona Murillo - [email protected]
Please, refer always to the project home page at:
You can download latest compiled stable releases from the releases section of this repository. However, if you want to test new features (please, do it and give feedback), you will need to compile the project from sources. Follow these steps:
- Clone the OpenSimMPLS repo:
git clone https://github.com/manolodd/opensimmpls.git
- Compile the code and obtain a binary jar including all you need (you will need to install Ant before):
cd opensimmpls
ant opensimmpls-binary-fat-release
- The jar file will be located in binary-fat-release/opensimmpls directory.
cd binary-fat-release/opensimmpls
- Now, run the simulator:
java -jar openSimMPLS-bin-v{YourVersion}.jar
- Need some scenarios to try? There is not problem!! You'll find them at the examples folder (root of your cloned repository).
#HOW TO CONTRIBUTE
OpenSimMPLS is opensource software. We encourage you to modify it as much as possible; but We would like you to send this modifications back and, hence, became an OpenSimMPLS contributor. In this way, all the people will benefit from them as you are doing downloading and using OpenSimMPLS now.
If you want to contribute to OpenSimMPLS project, follow these instructions:
- Log in to your GitHub account.
- Look for OpenSimMPLS project.
- Create a fork of OpenSimMPL in your own GitHub repository.
- Clone your OpenSimMPLS repository to your PC or laptop.
- Create a branch in your local cloned GIT repository. We recommend to name this branch as "opensimmpls-festureyouaredeveloping" or something similar.
- Do all modifications on this branch, file additions or deletions, modifications, commits...
- Push your modifications to your remote github OpenSimMPLS repository.
- Go again to yout GitHub account, choose your OpenSimMPLS repository and then your "opensimmpls-festureyouaredeveloping" branch (since the previous step, this branch should be there) and click on the green button at the left. This will guide you to make a pull request (send your modifications on your own OpenSimMPLS repository to OpenSimMPLS main repository from where you did your fork at the beginning).
- That's all we will have your contribution and will try to merge it into the master branch of OpenSimMPLS. Please, comment your contribution as much as possible; we should understand your contribution.
This is a very easy process. However, if it is very difficult to you, simply send us all your modifications (scenario, sources, documentation...) to:
And we will do our best to understand them and, somewhat, include your contribution into the project.
REMEMBER!!!! all your contributions have to be compatible with Apache Software License 2.0.