Snabb 2018.04 “Edamame”
This release includes the newest version of Igalia’s lwAFTR, as well as a powerful new load testing tool. Also in the mix is an easy way to test Snabb on platforms that support Docker such as OS X, a new “unhexdump” tool that synthesizes packets from hexadecimal encodings, and significant performance and stability improvements. As usual, Edamame also includes assorted bug fixes.
Changes
- #1328 #1330 #1331 merge Snabb lwAFTR releases up to 2018.04, this includes a new program
loadtest
which gauges maximum sustainable load of a networking function, as well as fixes to lib.ptree - #1326 improves intel_mp selftest more reliability
- #1289 adds a minimal Docker image that eases testing on e.g. OS X
- #1274 adds
snabb unhexdump
tool - #1300 fixes a race condition during supervisor setup
- #1287 optimizes breathe loop by removing unsunk allocations
- #1271 adds a showcase program that implements DNS service discovery
- #1308 #1272 include various bug fixes and improvements
Contributors
Alexander Gall (1):
- 279aa38: core.app: remove garbage when using pace_breathing
Andy Wingo (53):
- 3e7d2b5: Fix "snabb lwaftr run" after lib.scheduling refactor
- 47588b9: Split YANG getter-at-path out to own module
- 667b843: Move generic data-at-path utilities to lib.yang.path_data
- feab012: Rename program.config.json to lib.ptree.json
- a83a827: "snabb config listen" more lenient about missing paths
- bd689ff: "snabb config listen" can take schema / revision from directives
- 8798307: Add ability for ptree manager to record incoming RPCs
- 9572bde: Wire up --trace for "snabb ptree" and document
- fe328da: Wire up a --trace argument for the lwaftr
- 9662280: Reduce memory use for get-config RPC
- 008a4b8: Increase response length limit from leader from 100M to 1G chars
- bd9a8da: Improve speed of yang qstring parser.
- 3e2fecb: Fix ptree trace selftest
- 7136c24: changelog
- ee03a98: Fix data_grammar_from_schema for empty cases
- 631357c: Rewrite random YANG path selector and value generator
- c752d1d: Remove unused imports
- cf61265: Simplify test
- 8ce8872: Add "snabb unhexdump" tool
- 383fd83: Process tree runs data-plane processes with busywait=true by default
- c6d0e22: Pcap savefile writer records frame sizes
- 3cf4cda: Sizes for "packetblaster lwaftr" are frame sizes
- c55199b: Fix up packetblaster lwaftr selfchecks
- fe08efb: Address review nit
- 2876c6e: Revert "Pcap savefile writer records frame sizes"
- 75ee990: Regenerate packetblaster lwaftr test files
- 87c4263: Regenerate packetblaster lwaftr test files
- d9b6512: Fix next-hop discovery with multiple devices
- b38ae3a: Remove early lwAFTR NUMA affinity check
- 05bffbc: Move "loadtest" command out of lwaftr
- 09ce69e: Fix ctable resizing logic
- 3142fad: Fix sense of ctable resize limit
- db8b2c4: Make minimum ctable size uniform
- f31e840: Add limit-finding loadtester.
- 047018a: Add find-limit --exec to README
- da3a2f8: Make supervisor setup more reliable
- 459ee99: Make supervisor setup more reliable
- 0736ffd: Fix out-of-bounds write in ctable test suite
- 55bf2e3: Promptly close util.ls() dir fd; fix bug with deleted entries
- 828641f: Remove lib.files_in_directory
- f133f7f: Promptly close fd in random_bytes_from_dev_urandom
- 1e6f852: Fix modification to lib.hardware.pci.scan_devices
- 65cbc01: Set SNABB_RANDOM_SEED for intel_mp tests
- a5bed82: Claim name in central lwaftr ptree manager function
- 703f1a9: "snabb config" tests wait until ptree manager socket is available
- 69f545b: Revert lwAFTR-specific version change for merge to upstream
- a1efb46: Harmonize style in changelog
- d51d0d5: Changelog for lwAFTR v2018.04.01
- 99ffe31: Fix removal of v2018.01.2.1 header
- bb63b39: Fix missing closing backtick
- 54a5402: Flip sense of conditional-skip of IPsec end-to-end test
- f03ba1b: Test on presence of SNABB_IPSEC_ENABLE_E2E_TEST, not value
- 3f94ce5: Bash programming is known to the State of California to cause confusion
Diego Pino Garcia (23):
- 459a936: Fix property-based test stall
- ea5228c: Fix lwaftr selftest run
- f57c75e: Rework alarms timestamping logic
- 73caaaf: Add DNS-SD program
- 3c9edf0: Show error if running on loop-back interface
- 373b42b: Enable alarm notification
- dca505c: Fix variable name
- 191e655: Fix error message
- 77f7abc: Fix path to transient README
- cb68e08: Check status code in monitor test
- 9e2f5da: Temporarily disable ipsec selftest
- b4629a7: Snabb lwAFTR v2018.01.2.1
- 1ad64e4: Changelog 2018.01.2.1
- 8010951: XPath formater fixes
- c55b21b: Fix tests
- 25c8ad6: Implement alarm shelving
- 7f6791d: Add failsafe parameter to common.parse_args
- 76d0a89: Refactor argument parsing
- 419c943: Fix error message
- 5cd8b1b: Update README
- aa31d24: Implement table_is_empty
- d35cdd5: Rename 'failsafe' to 'allow_extra_args'
- 2e8a5f9: Fix undefined variable
Jessica Tallon (6):
- 468e72c: Fix small mistake in arp documentation.
- d9ac366: Fix find-limit by checking actual throughput rather than requested.
- 6e07332: Extend find-limit to support multiple NICs.
- aa435ba: Support the old argument format and fix nits
- d10a840: Remove unused fatal function
- bcda559: Fix a few more minor nits :)
Luke Gorrie (2):
Marcel Wiget (11):
- 7d44865: [wip] use socker server mode
- 7fce594: undo previous wip
- c81176e: build snabb docker container
- 3337ae8: make clean before build to avoid using binaries built outside of docker
- dff8877: adding container build and run instructions
- ba390ec: src/snabb wrapper when building container snabb
- 3a4015c: document snabb wrapper script
- b9ae0d7: adjust if statement to work in dash too
- a095968: merging launch-docker-container.sh with dock.sh
- d806fe0: use separate docker run commands
- b7f6ab2: run container privileged and build src
Max Rottenkolber (4):