OPSDN
OPSDN: an enhanced SDN simulation framework for OPNET Modeler - Published in JOSS (2023)
Science Score: 95.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 11 DOI reference(s) in README and JOSS metadata -
✓Academic publication links
Links to: joss.theoj.org -
✓Committers with academic emails
1 of 2 committers (50.0%) from academic institutions -
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Scientific Fields
Repository
Basic Info
- Host: GitHub
- Owner: ZacharyJia
- License: gpl-3.0
- Language: Python
- Default Branch: master
- Size: 1.02 MB
Statistics
- Stars: 62
- Watchers: 1
- Forks: 5
- Open Issues: 0
- Releases: 3
Metadata Files
README.md
OPSDN
Note: This work has been published in the Journal of Open Source Software: OPSDN.
Cite this if it is helpful to your research:
Jia et al., (2023). OPSDN: an enhanced SDN simulation framework for OPNET Modeler. Journal of Open Source Software, 8(83), 4815, https://doi.org/10.21105/joss.04815
or bibtex:
@article{Jia2023, doi = {10.21105/joss.04815}, url = {https://doi.org/10.21105/joss.04815}, year = {2023}, publisher = {The Open Journal}, volume = {8}, number = {83}, pages = {4815}, author = {Zequn Jia and Yantao Sun and Qiang Liu}, title = {OPSDN: an enhanced SDN simulation framework for OPNET Modeler}, journal = {Journal of Open Source Software} }
Introduction
OPSDN is an enhanced SDN simulation framework for OPNET Modeler (Now Riverbed Modeler).
OPSDN unifies the event scheduling of the Ryu framework with OPNET's DES(Discrete Event Simulation) engine to solve the unmatched simulation speed when using SITL gateway. And it provides Ryu-like APIs for controller developing.
Platform
Currently our software works on the following environment: - OS: Window - Compiler: MSVC x64 - OPNET: 18.6.1 (Note: there are some bugs in its openflow module. Contact me if you need more details.) - Python: 3.8
Other platform may need more efforts. If someone would like to make some contributions, I will be more than happy to see you.
Installation
There are 3 parts of this project: OPNET models, DLL bridge and opsdnpy.
Prebuilt binary of OPNET models and DLL bridge is provided for Riverbed Modeler 18.6.1 on the release page.
You could install opsdnpy using the pip command in your Python environment:
pip install opsdnpy
Node Model Configurations
The sdncontrollerethernetwkstnadv node model has several configurations in the ControllerPy section:
- Python Home: The location where your python installed. Currently virtual env is not supported.
- Script Path: The directory where your controller script locates.
- Entry Script: Your controller script name, without .py
- Entry Class: The controller class name in your controller script.
Configuration example shown below:

API
See OPSDN-API for detailed api of opsdnpy.
Contributing to OPSDN
All types of contributions are encouraged and valued! If you like this project and would like to make contributions, please follow the contribution guide.
Examples
We provides two controller examples in the src/opsdnpy/example folder:
- simpleswitch.py: a simple switch script modified from the Ryu standard simpleswitch13.py.
- controller.py: a basic controller containing TopologyDiscover and FattreeForward, using LLDP for topology discover and using networkx for calculating forward path.
Tutorial
We provide a tutorial for simple switch simulation in the examples. Link
Owner
- Name: Zachary Jia
- Login: ZacharyJia
- Kind: user
- Location: Beijing, China
- Repositories: 77
- Profile: https://github.com/ZacharyJia
PhD candidate / Developer
JOSS Publication
OPSDN: an enhanced SDN simulation framework for OPNET Modeler
Authors
School of Computer and Information Technology, Beijing Jiaotong University, Beijing, China., School of Electrical and Data Engineering, University of Technology Sydney, Sydney, Australia.
School of Computer and Information Technology, Beijing Jiaotong University, Beijing, China.
School of Computer and Information Technology, Beijing Jiaotong University, Beijing, China.
Tags
Python C/C++ OPNET Software-defined networking network simulationGitHub Events
Total
- Watch event: 5
- Fork event: 1
Last Year
- Watch event: 5
- Fork event: 1
Committers
Last synced: 5 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| ZacharyJia | j****4@g****m | 18 |
| Daniel S. Katz | d****z@i****g | 2 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 4
- Total pull requests: 5
- Average time to close issues: 8 days
- Average time to close pull requests: 7 minutes
- Total issue authors: 1
- Total pull request authors: 2
- Average comments per issue: 3.25
- Average comments per pull request: 0.0
- Merged pull requests: 5
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- pradeeban (4)
Pull Request Authors
- ZacharyJia (3)
- danielskatz (2)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 6 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 3
- Total maintainers: 1
pypi.org: opsdnpy
A python package for OPSDN
- Homepage: https://github.com/ZacharyJia/opsdn
- Documentation: https://opsdnpy.readthedocs.io/
- License: Apache 2.0
-
Latest release: 0.2.1
published over 3 years ago
Rankings
Maintainers (1)
Dependencies
- networkx ==2.8.2
- ryu ==4.34
- actions/checkout v2 composite
- actions/upload-artifact v1 composite
- openjournals/openjournals-draft-action master composite