Please let us know if you use OpenNetVM in your research by emailing us or completing this short survey.
Want to get started quickly? Try using our NSF CloudLab profile: https://www.cloudlab.us/p/GWCloudLab/onvm
We have updated our DPDK submodule to point to a new version, v20.05. If you have already cloned this repository, please update your DPDK submodule by running:
git submodule sync
git submodule update --init
And then rebuild DPDK using the install guide or running these commands:
cd dpdk
make config T=$RTE_TARGET
make T=$RTE_TARGET -j 8
make install T=$RTE_TARGET -j 8
The current OpenNetVM version is 20.10. Please see our release document for more information.
openNetVM is a high performance NFV platform based on DPDK and Docker containers. openNetVM provides a flexible framework for deploying network functions and interconnecting them to build service chains.
openNetVM is an open source version of the NetVM platform described in our NSDI 2014 and HotMiddlebox 2016 papers, released under the BSD license.
The develop branch tracks experimental builds (active development) whereas the master branch tracks verified stable releases. Please read our releases document for more information about our releases and release cycle.
You can find information about research projects building on OpenNetVM at the UCR/GW SDNFV project site. OpenNetVM is supported in part by NSF grants CNS-1422362 and CNS-1522546.
To install openNetVM, please see the openNetVM Installation guide for a thorough walkthrough.
openNetVM comes with several sample network functions. To get started with some examples, please see the Example Uses guide
The NF Development guide will provide what you need to start creating your own NFs.
NFs can be run inside docker containers, with the NF being automatically or hand started. For more informations, see our Docker guide.
openNetVM can run mTCP applications as NFs. For more information, visit mTCP.
If you use OpenNetVM in your work, please cite our paper:
@inproceedings{zhang_opennetvm:_2016,
title = {{OpenNetVM}: {A} {Platform} for {High} {Performance} {Network} {Service} {Chains}},
booktitle = {Proceedings of the 2016 {ACM} {SIGCOMM} {Workshop} on {Hot} {Topics} in {Middleboxes} and {Network} {Function} {Virtualization}},
publisher = {ACM},
author = {Zhang, Wei and Liu, Guyue and Zhang, Wenhui and Shah, Neel and Lopreiato, Phillip and Todeschi, Gregoire and Ramakrishnan, K.K. and Wood, Timothy},
month = aug,
year = {2016},
}
Please let us know if you use OpenNetVM in your research by emailing us or completing this short survey.