openNetVM

GW 和 UCR 提供的基于容器的高性能 NFV 平台。「A high performance container-based NFV platform from GW and UCR.」

Github stars Tracking Chart

openNetVM

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

Notes

We have updated our DPDK submodule to point to a new version, v18.11. 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

See our release document for more information.

About

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.

Installing

To install openNetVM, please see the openNetVM Installation guide for a thorough walkthrough.

Using openNetVM

openNetVM comes with several sample network functions. To get started with some examples, please see the Example Uses guide

Creating NFs

The NF Development guide will provide what you need to start creating your own NFs.

Dockerize NFs

NFs can be run inside docker containers, with the NF being automatically or hand started. For more informations, see our Docker guide.

TCP Stack

openNetVM can run mTCP applications as NFs. For more information, visit mTCP.

Citing OpenNetVM

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.

Main metrics

Overview
Name With Ownersdnfv/openNetVM
Primary LanguageC
Program languageMakefile (Language Count: 9)
PlatformDocker, Linux, BSD
License:Other
所有者活动
Created At2016-04-14 13:40:21
Pushed At2024-06-26 21:12:07
Last Commit At2022-01-31 21:53:19
Release Count17
Last Release Namev21.10 (Posted on )
First Release Namev0.1.0 (Posted on )
用户参与
Stargazers Count266
Watchers Count23
Fork Count137
Commits Count809
Has Issues Enabled
Issues Count129
Issue Open Count21
Pull Requests Count154
Pull Requests Open Count10
Pull Requests Close Count44
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private