Skip to content

Commit 790e223

Browse files
committed
[Release] ONVM V20.10
Release of ONVM V20.10
2 parents 27d9ed5 + 24dc3e7 commit 790e223

File tree

58 files changed

+1610
-459
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+1610
-459
lines changed

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
<!-- Hey, thanks for contributing to openNetVM! When submitting your Pull Request, please make sure you're submitting to the sdnfv:develop branch. Once we have a good set of merged PR's on develop, we'll merge everything to sdnfv:master for a release. -->
2+
13
<<Replace this line with a short description of the changes>>
24

35
<!-- Add detailed description and provide running instructions -->

.gitmodules

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,5 @@
77
path = tools/Pktgen/pktgen-dpdk
88
url = http://dpdk.org/git/apps/pktgen-dpdk
99
branch = master
10-
commit = 4199555481cd08fe08e32986c94e59836ca1cd4f
10+
commit = 807b4d2cfcc8ded46ece85353cefe5d655674de3
11+

docs/Examples.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,12 @@ command line. The general structure for launching an NF from a config file is
1212
Any args specified in `<DPDK args>` or `<ONVM ARGS>` will replace the
1313
corresponding args in the config file. **An important note:** If no DPDK
1414
or ONVM args are passed, **but** NF args are required, the `-- --` is
15-
still required. For documentation on developing with config files, see
15+
still required. Additionally, launching multiple network functions at once, including circular or linear chains, from a JSON config file is supported.
16+
For documentation on developing with config files, see
1617
[NF_Dev](NF_Dev.md)
1718

19+
20+
1821
NF Starting Scripts
1922
--
2023
The example NFs can be started using the `start_nf.sh` script. The script can run any example NF based on the first argument which is the NF name(this is based on the assumption that the name matches the NF folder and the build binary).
@@ -75,7 +78,7 @@ In this example, we will be setting up a chain of NFs. The length of the chain
7578
The manager needs three cores, one for NIC RX, one for statistics, and one for NIC TX.
7679
2. Run Manager:
7780
- Run the manager in dynamic mode with the following command. We are using a corelist here to manually pin the manager to specific cores, a portmask to decide which NIC ports to use, and configuring it display manager statistics to stdout:
78-
- `# onvm/go.sh 0,1,2 1 0x3F8 -s stdout`
81+
- `# onvm/go.sh -k 1 -n 0xF8 -s stdout -m 0,1,2`
7982
3. Start NFs:
8083
- First, start at most `n-1` simple_forward NFs, where `n` corresponds to the total number of NFs that the system can handle. This is determined from the `scripts/coremask.py` helper script. We will only start two NFs for convenience.
8184
- Simple forward's arguments are core to pin it to, service ID, and
@@ -128,7 +131,7 @@ In this example, we can set up a circular chain of NFs. Here, traffic does not
128131
The manager needs three cores, one for NIC RX, one for statistics, and one for NIC TX.
129132
2. Run Manager:
130133
- Run the manager in dynamic mode with the following command. We are using a corelist here to manually pin the manager to specific cores, a portmask to decide which NIC ports to use, and configuring it display manager statistics to stdout:
131-
- `# onvm/go.sh 0,1,2 1 0x3F8 -s stdout`
134+
- `# onvm/go.sh -k 1 -n 0x3F8 -s stdout -m 0,1,2`
132135
3. Start NFs:
133136
- First, start up to n-1 simple_forward NFs. For simplicity, we'll start one simple_forward NF.
134137
- The NF will have service ID of 2. It also forwards packets to the NF with service ID 1.

docs/Install.md

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Check System
2121

2222
Install the Linux Kernel headers package for your kernel version.
2323
```sh
24-
sudo apt-get install build-essential linux-headers-$(uname -r) git
24+
sudo apt-get install build-essential linux-headers-$(uname -r) git bc
2525
```
2626
If your distribution didn't come with Python or came with an earlier version, you will need to install Python 3 v3.4+.
2727
@@ -116,7 +116,7 @@ Set up Environment
116116

117117
7. Disable ASLR since it makes sharing memory with NFs harder:
118118
```sh
119-
sudo sh -c "echo 0 > /proc/sys/kernel/randomize_va_space"
119+
sudo sh -c "echo 0 > /proc/sys/kernel/randomize_va_space"
120120
```
121121

122122
Configure and compile DPDK
@@ -163,6 +163,11 @@ Make and test openNetVM
163163
make
164164
cd ..
165165
```
166+
Note: You may see the errors below upon compilation. Please ignore.
167+
```
168+
cat: ../openNetVM/onvm/lib/ABI_VERSION: No such file or directory found
169+
cat: ../openNetVM/onvm/onvm_nflib/ABI_VERSION: No such file or directory found
170+
```
166171

167172
2. Compile example NFs
168173

@@ -174,10 +179,10 @@ Make and test openNetVM
174179

175180
3. Run openNetVM manager
176181

177-
Run openNetVM manager to use 3 cores (1 for displaying statistics, 1 for handling TX queues, 1 for handling manager RX queues), to use 1 NIC port (hexadecimal portmask), 0xF8 for the NF coremask (cores 3, 4, 5, 6, 7), and to use stdout for the statistics console:
182+
Run openNetVM manager to use 3 cores (1 for displaying statistics, 1 for handling TX queues, 1 for handling manager RX queues; set to cores 0, 1 and 2, respectively, by default), to use 1 NIC port (hexadecimal portmask), 0xF8 for the NF coremask (cores 3, 4, 5, 6, 7), and to use stdout for the statistics console:
178183

179184
```sh
180-
./onvm/go.sh 0,1,2 1 0xF8 -s stdout
185+
./onvm/go.sh -k 1 -n 0xF8 -s stdout
181186
```
182187

183188
You should see information regarding the NIC port that openNetVM is using, and openNetVM manager statistics will be displayed.
@@ -211,15 +216,15 @@ Troubleshooting
211216
212217
Run `dpdk/usertools/dpdk-setup.sh` then:
213218
214-
- Press [15] to compile x86_64-native-linuxapp-gcc version
219+
- Press [38] to compile x86_64-native-linuxapp-gcc version
215220
216-
- Press [18] to install igb_uio driver for Intel NICs
221+
- Press [45] to install igb_uio driver for Intel NICs
217222
218-
- Press [22] to setup 1024 2MB hugepages
223+
- Press [49] to setup 1024 2MB hugepages
219224
220-
- Press [24] to register the Ethernet ports
225+
- Press [51] to register the Ethernet ports
221226
222-
- Press [35] to quit the tool
227+
- Press [62] to quit the tool
223228
224229
After these steps, it should be possible to compile and run onvm.
225230

0 commit comments

Comments
 (0)