OpenNetVM v19.05
OpenNetVM Version v19.05 is a major release which introduces new experimental shared core mode and other new features. Please read the release note for a detailed list of changes: ONVM Release v19.05.
A CloudLab template is available with the latest release here: https://www.cloudlab.us/p/GWCloudLab/onvm
Summary of release:
Major updates:
- Shared Core Mode--Allows NFs to sleep when they have no packets to process. The onvm_mgr will spawn an additional thread responsible for waking up NFs when they receive packets.
- Major Architectural Changes--Restructure ONVM initialization sequence, better signal handling, main NF struct consolidation.
- Advanced Rings Changes--Reworks the Advanced Ring NF support to give more control to the developers.
- Stats Updates--Updates console stats with new information and adds the core mappings page to the web view.
- CI Updates--Adds continuous integration to the public repo, extends CI to review PRs. Due to security concerns only authorized users are allowed to run CI.
- LPM Firewall NF--Simple Firewall example using the DPDK LPM library.
- Payload Search NF--Provides the functionality search for a string within a packet payload and forward/drop the packet based on the search result.
- TTL and Packet Limit Flags--Adds TTL and packet limit functionality to both onvm_mgr and NFs.
- NF message passing--Adds an API to allow NFs to pass messages to other NFs
Performance fixes:
- Make Number of mbufs a constant value, this fixes our basic_monitor & pktgen benchmark performance from 7Mpps to 13.1 Mpps.
Minor improvements and bug fixes:
- Fix all major style errors.
- Add Compatibility Changes to Run ONVM on Ubuntu 18.04.1.
- Add ONVM mgr web mode memory cleanup on shutdown.
- Update Installation/Debugging/Troubleshooting docs.
- Update the Install script to properly allocate hugepage memory.
- Fix the Speed Tester NF packet generation to properly handle cases where all requested packets couldn't be generated.
- Remove the custom pktgen submodule and replace it with upstream pktgen.
Testbed:
- The aforementioned CloudLab template, and on a host with the following configuration:
* Tested on: Ubuntu 14.04.01 LTS, DPDK 18.11, GCC 4.8.4, Linux 3.13.0-117-generic
$ inxi -Fx
System: Host: node1.2nodesetup.gwcloudlab-pg0.wisc.cloudlab.us Kernel: 3.13.0-117-generic x86_64 (64 bit, gcc: 4.8.4)
Console: tty 2 Distro: Ubuntu 14.04 trusty
Machine: System: Cisco Systems product: UCSC-C220-M4S version: A0
Mobo: Cisco Systems model: UCSC-C220-M4S version: 74-12419-01
Bios: Cisco Systems version: C220M4.3.0.3c.0.0831170216 date: 08/31/2017
CPU(s): 2 Deca core Intel Xeon CPU E5-2660 v3s (-HT-MCP-SMP-) cache: 51200 KB flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 103741
Clock Speeds: 1: 2601.00 MHz 2: 1200.00 MHz 3: 1200.00 MHz 4: 1200.00 MHz 5: 2601.00 MHz 6: 1200.00 MHz 7: 1200.00 MHz 8: 1200.00 MHz 9: 2601.00 MHz 10: 1200.00 MHz 11: 1200.00 MHz 12: 1200.00 MHz 13: 1200.00 MHz 14: 1200.00 MHz
15: 1200.00 MHz 16: 1200.00 MHz 17: 2601.00 MHz 18: 1700.00 MHz 19: 1200.00 MHz 20: 1200.00 MHz
Graphics: Card: Matrox Systems MGA G200e [Pilot] ServerEngines (SEP1) bus-ID: 09:00.0
X-Vendor: N/A driver: N/A tty size: 240x65 Advanced Data: N/A out of X
Network: Card-1: Intel 82599ES 10-Gigabit SFI/SFP+ Network Connection
driver: ixgbe ver: 3.15.1-k port: 4000 bus-ID: 06:00.1
IF: eth1 state: down mac: 90:e2:ba:b3:75:79
Card-2: Intel I350 Gigabit Network Connection driver: igb ver: 5.0.5-k port: 6020 bus-ID: 01:00.0
IF: eth2 state: up speed: 1000 Mbps duplex: full mac: 70:e4:22:84:03:26
Card-3: Intel 82599ES 10-Gigabit SFI/SFP+ Network Connection driver: igb_uio port: 4020 bus-ID: 06:00.0
IF: dpdk0 state: down mac: 90:e2:ba:b3:75:78
Card-4: Intel I350 Gigabit Network Connection driver: igb ver: 5.0.5-k port: 6000 bus-ID: 01:00.1
IF: eth3 state: down mac: 70:e4:22:84:03:27
Drives: HDD Total Size: 2880.6GB (0.1% used) 1: id: /dev/sdc model: INTEL_SSDSC2BB48 size: 480.1GB temp: 24C
2: id: /dev/sda model: HUC101212CSS600 size: 1200.2GB temp: 29C 3: id: /dev/sdb model: HUC101212CSS600 size: 1200.2GB temp: 27C
Partition: ID: / size: 16G used: 3.7G (25%) fs: ext3 ID: swap-1 size: 3.22GB used: 0.00GB (0%) fs: swap
RAID: No RAID devices detected - /proc/mdstat and md_mod kernel raid module present
Sensors: System Temperatures: cpu: 33.0C mobo: N/A
Fan Speeds (in rpm): cpu: N/A
Info: Processes: 462 Uptime: 4 days Memory: 3608.2/160958.9MB Runlevel: 2 Gcc sys: 4.8.4
Client: Shell (bash 4.3.11) inxi: 1.9.17