-
Notifications
You must be signed in to change notification settings - Fork 136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ONVM v19.07 #156
ONVM v19.07 #156
Conversation
This PR removes redundant sleep calls after printing and moves the dependency installation to CI server startup. Commit log: * Save performance in ci * Add flask to install * Add error handling in run_ci and fix docs * Delete new line
This PR allows CI to run the following for unauthorized users: - Linter check - Branch check Commit log: * Save performance in ci * Add flask to install * Allowed for public linting of unauthorized users * Added run mode for future advancements * Remove exit statement * Add error handling in run_ci and fix docs * Delete new line
Previously CI didn't have an execution queue, thus, every request sent when CI was running was disregarded. This pr implements a queue of requests for CI to resolve this issue. Commit log: * Save performance in ci * Add flask to install * Allowed for public linting of unauthorized users * Starting the queue * Start to fixing the queue problem * Added run mode for future advancements * Major fixes to ci list system * Remove debug lines * Clean up definitions * Remove exit statement * Add error handling in run_ci and fix docs * Create polling thread for requests * Delete new line * Account for run mode from #140 * Errors are much more difficult in threads :( * Smarter than using tuples * Added event-based handling instead of polling * Let request handler clears event
Running a flow table lookup on every packet is expensive and as the functionality isn't always used we have decided to create a macro to disable it. The functionality will still be enabled by default, but if it is unused disabling it should boost performance. Commit log: * Macros for running flow table lookup * Updated comment about disabling flow table lookup
Updates the cJSON library version to v1.7.12 , doesn't have any collisions with onvm code.
Adds functionality for NFs using shared core mode to sleep when no messages(and no packets) are enqueued onto an NF's message ring. Commit log: * Shared cores for messages * Rm line * nf context, not nf * Moved functionality to main thread * Adding macro for msg threshold * Update NF_Dev.md
This PR adds a NFD library, a C++ based NF developing compiler designed by Wenfei's group (http://wenfei-wu.github.io/) from IIIS, Tsinghua University, China. NFD compiles the NF logic into common C++ program by using table-form language to model NFs' behavior. With NFD's help, NF developer, free from the problems that porting NFs into specific network environment or deploying platforms, can easily concentrate on designing NF's core logic. A list of provided example NFs: - Stateful Firewall - Stateless Firewall - DNS Amplification Mitigation - Heavy Hitter Detection - NAPT - SYN Flood Detection - UDP Flood Detection - Super Spread Detection Commit log: * replace direct assigning with memcpy function * add NFD-NF stateful_firewall in examples/ * update * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update stateful_firewall.cpp * add more NFs * update NFD-NFs' go.sh file and start_nf.sh file * delete simple_c++ * Added nf tag and core to stats * Made constants for the stats in the header file * Fixed verbose stat line-up * Fixed service id totals stats * clang formatting * Update README.md and `go.sh` file in NFD dir * add -march=native to makefile * remove some comments and change some places into actual NF name * add Makefile in NFD/ * Update README.md * Fixed style of output * Fixed shared cpu verbose * Patch for the new ONVM 19.05 API * Moved print formatters to onvm_stats.h * Fixed up stat lines * fixed some errors in HHD * fixed dpdk I/O interface used * Fixed macro styling * Fix console macros * Fix stats output macro consistency * Update APIs * fix some errors * update Readme * update readme and fixed some logic errors * update README and fixed some errors * fixed some parsing errors * update testing information * delete error NF * delete error NF * update README * fixed model * delete unnecessary code * add base IP * Update .gitignore
Some of the links in the style guide where broken, this pr fixes them. Commit log: * Fix google style guide links * Fixed extra tilda character
Previously the environment setup script would print a wrong message if it wasn't called directly from its own directory. Commit log: * Fixed environment setup message * Removed cd and changed variable name
This PR adds a feature that allows the onvm_mgr to remap a NF to a different core, if such opens out(when another NF shuts down). This feature is disabled by default, to enable it set the `ONVM_NF_SHUTDOWN_CORE_REASSIGNMENT` macro to true. Commit log: * Add core reassignment on NF shutdown * Fix core allocation order, cleanup * Better naming, fix typos * Fix minor style changes * Fix typo * Fix extra whitespace * Final fixes * Disable core reallocation by default
CI will now run Pktgen as an additional test metric. Commit log: * Save performance in ci * Add flask to install * Allowed for public linting of unauthorized users * Starting the queue * Start to fixing the queue problem * Added run mode for future advancements * Major fixes to ci list system * Remove debug lines * Clean up definitions * Remove exit statement * Add error handling in run_ci and fix docs * Create polling thread for requests * Delete new line * Account for run mode from #140 * Errors are much more difficult in threads :( * Smarter than using tuples * Added event-based handling instead of polling * Let request handler clears event * Initialize ci for pktgen * Huge update to pktgen configuration * Updated gitignore for log files * Added speed tester and pktgen in conjunction * Fix redundancies and bugs * Disabled flow lookup and created better benchmarks * Fixed things so nn30 works with pktgen * Fixes from github comments * Make results more stable by restarting manager * Added fixes from review and redundancies * Fixes from github review * Additions to readme about CI developments * Add a section about Pktgen helper nodes * Fix missed line * Add compatability for different interfaces * Fixes for user input and debugging * Fixes for Pktgen and binding interface * Renaming a ton of files * Fixed symbolic link * Added benchmark info to README and renamed file * Fix Pktgen install requested changes * Address Github change requests * Adjustments to interface configuration * Fixed manager debug
Commit log: * Update Releases.md * Update Releases.md * Update Releases.md * Apply suggestions from code review Co-Authored-By: Tim Wood <timwood@gwu.edu> * Update Releases.md * Update Releases.md
CI MessageYour results will arrive shortly |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In response to PR creation
CI Message
Run successful see results:
❌ FIX PR submitted to master branch instead of develop
❌ PR drops Pktgen performance below minimum requirement
✔️ Speed Test performance check passed
✔️ Linter passed
[Results from nimbnode17]
-
Median TX pps for Pktgen: 6373333
Performance rating - 63.73% (compared to 10000000 average) -
Median TX pps for Speed Tester: 40274254
Performance rating - 100.69% (compared to 40000000 average)
Onvm v19.07