Skip to content

OpenNetVM v19.05

Compare
Choose a tag to compare
@koolzz koolzz released this 04 Jun 19:05
· 79 commits to master since this release
46bbc96

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