You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Updates the provided shell examples with new NF and onvm_mgr args in all docs. Appends new feature documentation to docs/ files.
Commit log:
* Update Intall.md doc
* Update example with the new launch script changes
* Fix readme spaces
* Examples.md fixes
* Update old mgr usage in Debug.md
* Update Docker.md with new argument examples
* Update Install.md
* Update Install.md
* U
Copy file name to clipboardExpand all lines: docs/Docker.md
+3-9Lines changed: 3 additions & 9 deletions
Original file line number
Diff line number
Diff line change
@@ -34,7 +34,7 @@ sudo ./docker.sh -h HUGEPAGES -o ONVM -n NAME [-D DEVICES] [-d DIRECTORY] [-c CO
34
34
- This will start a container with two NIC devices mapped in, /dev/uio0 and /dev/uio1, the hugepage directory at `/mnt/huge` mapped in, and the openNetVM source directory at `/root/openNetVM` mapped into the container with the name of Basic_Monitor_NF.
- This will start a container with one NIC device mapped in, /dev/uio0 , the hugepage directory at `/mnt/huge` mapped in, and the openNetVM source directory at `/root/openNetVM` mapped into the container with the name of Speed_Tester_NF. Also, the container will be started in detached mode (no connection to it) and it will run the go script of the simple forward NF.
You can also use the optional command argument to run directly the NF inside of the container, without connecting to it. Then, to stop gracefully the NF (so it has time to notify onvm manager), use the docker stop command before docker rm the container.
85
79
The prerequisites are the same as in the case where you connect to the container.
Any args specified in `<DPDK args>` or `<ONVM ARGS>` will replace the
13
13
corresponding args in the config file. **An important note:** If no DPDK
14
14
or ONVM args are passed, **but** NF args are required, the `-- --` is
15
15
still required. For documentation on developing with config files, see
16
16
[NF_Dev](NF_Dev.md)
17
17
18
+
NF Starting Scripts
19
+
--
20
+
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).
In this example, we will be setting up a chain of NFs. The length of the chain is determined by our system's CPU architecture. Some of the commands used in this example are specific to our system; in the cases where we refer to core lists or number of NFs, please run the [Core Helper Script][cores] to get your numbers.
@@ -115,17 +135,7 @@ In this example, we can set up a circular chain of NFs. Here, traffic does not
4. We now have a speed_tester sending packets to service ID 2 who then forwards packets back to service ID 1, the speed_tester. This is a circular chain of NFs.
119
-
120
-
121
-
NF Config Files
122
-
--
123
-
All NFs support launching from a JSON config file. By specifying `-F`
124
-
and then a JSON file in either `go.sh` or the NF binary file directly,
125
-
the NF will pull all ONVM and DPDK settings from the file instead of the
126
-
command line. See the `example_config.json` file in each NF directory
127
-
for an example on how to structure the file and all options that can be
128
-
set.
138
+
4. We now have a speed_tester sending packets to service ID 2 who then forwards packets back to service ID 1, the speed_tester. This is a circular chain of NFs.
Copy file name to clipboardExpand all lines: docs/Install.md
+10-6Lines changed: 10 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -39,11 +39,12 @@ Setup Repositories
39
39
cd openNetVM
40
40
git checkout master
41
41
```
42
-
This will ensure you are on the stable, `master` branch. If you want to use potentially buggy features, you can use the default `develop` branch.
42
+
This will ensure you are on the stable, `master` branch. If you want to use the most recent but potentially buggy features, you can use the default `develop` branch.
43
43
44
44
2. Initialize DPDK submodule
45
45
```sh
46
-
git submodule init && git submodule update
46
+
git submodule sync
47
+
git submodule update --init
47
48
```
48
49
49
50
**From this point forward, this guide assumes that you are working out of the openNetVM source directory.**
@@ -148,19 +149,22 @@ Make and test openNetVM
148
149
149
150
3. Run openNetVM manager
150
151
151
-
Run openNetVM manager to use 4 cores (1 for displaying statistics, 1 for NIC RX, 1 for NIC TX, and 1 for NF TX), to use 1 NIC port (hexadecimal portmask), and to use stdout for the statistics console:
152
+
Run openNetVM manager to use 4 cores (1 for displaying statistics, 1 for NIC RX, 1 for NIC TX, and 1 for NF TX), to use 1 NIC port (hexadecimal portmask), 0xF8 for the NF coremask (cores 4, 5, 6, 7), and to use stdout for the statistics console:
152
153
153
-
`./onvm/go.sh 0,1,2,3 1 -s stdout`
154
+
`./onvm/go.sh 0,1,2,3 1 0xF8 -s stdout`
154
155
155
156
You should see information regarding the NIC port that openNetVM is using, and openNetVM manager statistics will be displayed.
156
157
157
158
4. Run speed_tester NF
158
159
159
160
To test the system, we will run the speed_tester example NF. This NF generates a buffer of packets, and sends them to itself to measure the speed of a single NF TX thread.
160
161
161
-
In a new shell, run this command to start the speed_tester by giving it one core, assigning it a service ID of 1, setting its destination service ID to 1, and creating an initial batch of 16000 packets (increasing the packet count from the default 128 is especially important if you run a chain of multiple NFs):
162
+
In a new shell, run this command to start the speed_tester, assigning it a service ID of 1, setting its destination service ID to 1, and creating an initial batch of 16000 packets (increasing the packet count from the default 128 is especially important if you run a chain of multiple NFs):
162
163
163
-
`./examples/speed_tester/go.sh 5 1 1 -c 16000`
164
+
```sh
165
+
cd examples/speed_tester
166
+
./go.sh 1 -d 1 -c 16000
167
+
```
164
168
165
169
Once the NF's initialization is completed, you should see the NF display how many packets it is sending to itself. Go back to the manager to verify that `NF 1` is receiving data. If this is the case, the openNetVM is working correctly.
0 commit comments