Snabb 2022.10 “Alpina”
This release introduces a YANG schema for the multi-core scalable IPFIX probe developed by @alexandergall at SWITCH, “Snabbflow”. Additionally we have written a tutorial for getting up and running with Snabb lwAFTR. As usual this release also comes with various minor improvements and bug fixes.
What's Changed
- Fix lwAFTR trace performance issues (for release Alpina) by @eugeneia in #1488
- WIP: YANG schema for snabb ipfix (“Snabbflow”) by @eugeneia in #1481
- lwAFTR 100G related fixes by @eugeneia in #1482
- Tutorial: Getting Started with Snabb lwAFTR by @eugeneia in #1483
- apps.mellanox: use default enable_counters setting by @eugeneia in #1484
- core.app: fix a bug related to getting app zone name by @eugeneia in #1485
- Collected changes for October 2022 release: Alpina by @eugeneia in #1487
Full Changelog: v2022.07...v2022.10
Contributors
Alexander Gall (3):
- 101911a: interlink: fix shmem names in receiver/transmitter shutdown
- 56cdc1d: Adapt ipfix stats program to work with probe_ptree
- 89a218f: map_pci_memory(): set file path, increase timeout
Max Rottenkolber (97):
- a03d3c5: lib.yang: support empty leaf-lists
- 0ffd14c: lib.yang: fix bug where native number keys caused parsing to c(l)tables
- c501f78: lib.yang: fix bug where value_ctype was used in native_key tables
- 2f86ddf: Revert "lib.yang: fix bug where value_ctype was used in native_key tables"
- 402ecdf: lib.ptree.action_codec: support toplevel app classes and nil app args
- bbbea95: program.ipfix.lib: factor pure configure functions
- 507173f: sketch: ipfix probe_ptree
- ea636f4: apps.tap: continuously scan MAC and add overwrite_src_mac option
- 8a5d3e2: apps.tap: add forwarding option
- 11bbb49: program.ipfix: use Tap app features for setting exporter src MAC and sysctls
- c6ab421: App apps.snmp.iftable
- e3f4d77: program.ipfix: use apps.snmp to setup ifmibs
- 4bbd11e: lib.yang.data: do not derive bogus ctype for leaf-lists
- 247761a: lib.cpuset: fix assertion in add, add contains/remove/list methods
- d42c38f: lib.ptree: scan for 'pciaddress' field in acquire_cpu_for_worker
- 6cf6e2f: program.ipfix.probe_ptree: pin to cpus specified in config
- 8d04cd2: ipfix probe_ptree: update example config
- 069264f: ipfix probe_ptree: start with name
- c814c43: lib.ptree: add rudimentary worker-restarting facility
- f3fd7e7: ipfix probe_ptree: use lib.ptree worker restarts
- a757a8e: ipfix probe_ptree: log_level=INFO, rename schema variable
- 0996502: lib.ptree: manage worker restarts per worker configued via worker_opts
- 97bba23: ipfix probe_ptree: only restart dedicated exporter processes
- 2d61cfb: apps.tap: overwrite_dst_mac not overwrite_src_mac
- d585c2f: ljsyscall: fix bug in S.sysctl where we wrote at position ~= 0
- ab14ac3: ipfix probe_ptree: canonicalize singular list names in schema/config
- 88312f5: ipfoc probe_ptree: more schema cleanup
- 42a58ee: ipfix: probe_ptree: [wip] schema documentation
- 3a1055e: core.app: setvmprofile in tick
- aec36e6: ipfix probe_ptree: remove use-maps from schema
- 5490392: ipfix probe_ptree: remove instance weight leaf from schema
- 2fe881b: ipfix probe_ptree: add scan-protection/enable leaf
- 6635812: ipfix probe_tree: raise exporter MTU default to 1500
- 8169068: ipfix probe_tree: remove add-packet-metadata option
- 9a5d18e: ipfix probe_tree: more schema documentation
- c3ce608: ipfix probe_tree: allow maximum ConnectX recvq_size in schema
- 3630cf7: core.lib: equal: check object identity early
- 4571335: apps.ipfix: allow full reconfig while keeping flow sets intact
- 749ce28: ipfix probe_ptree: support configs without software RSS classes
- 7d7b0ed: apps.ipfix: fix bugs in counter initialization
- cfc5095: lwaftr: fix bug in migrate_device_on_config
- 192a0a3: lwaftr: tutorial wip
- b1d7eb9: lwaftr: tutorial wip 2
- 285f3f3: lwaftr: tutorial wip3
- b969b9d: lwaftr tutorial: flowchart
- a3a8029: lwaftr tutorial: edit lwaftr-veth-env.sh
- c76a58f: lib.ptree.inotify: turn warnings into debug messages behind flag
- 8e94ad8: lwaftr tutorial: supporting programs
- a5523ea: lib.ptree: support scalar value app configs in action_codec
- ff74f68: ipfix probe_ptree: test wip
- 4fea4ea: Revert "ipfix probe_ptree: test wip"
- ebc7413: ipfix probe_ptree: add state counters
- 3e5ac19: wip
- a416c42: wip
- b23fe45: apps.ipfix: assert templates shm doesn’t already exist
- 413cf19: wip
- 680a28b: wip get.state
- b26d015: lib.ptree: add acquire_cpu worker option
- ef3a002: ipfix probe_ptree: do not acquire cpu core for mellanox control worker
- 6eb81db: lib.scheduling/lib.ptree.worker: make jit.opt configurable
- 00112e1: ipfix probe_ptree: run workers with custom jit options and engine.busywait=false
- de3a225: ipfix probe_ptree: key rss groups / instances in snabbflow-state with id instead of pid
- 02dcd33: ipfix probe_ptree: device queue stats for rss groups
- acf52dd: ipfix probe_ptree: fix bug introduced in de3a225
- 1fd8e51: apps.connectx: fix stop() bugs
- f346467: ipfix probe_ptree: normalize device, app, and input link names
- 29dfa83: ipfix probe_ptree: guard against duplicate devices
- 5187a9e: ipfix probe_ptree: hide debug prints
- 89581cf: apps.mellanox.connectx: fix bug in IO:stop()
- 83b9f1e: apps.mellanox: use default enable_counters setting
- e2890f4: apps.mellanox: add test case for rxdrop and per-queue rxdrop counters
- c0a4963: core.app: fix a bug related to getting app zone name
- 00d2337: ipfix probe_ptree: warn on missing traffic class, throw error on missing exporter
- 61b67a3: Replace ipfix probe with probe_tree, remove probe_rss
- 22db66a: ipfix probe: add common scheduling CLI opts
- e930e4e: ipfix probe: enable VMProfile by default
- 7228010: apps.mellanox: make sync interval configurable, add :report()
- 5feed3d: packetblaster: support connectx, increase send desciptors in loadgen mode
- bfa68ba: program.config: do not exit on error in call_leader
- da48397: Add program/ipfix/tests/bench.snabb
- 81bd389: apps.basic: fix bug in Truncate
- 1ef5bee: packetblaster ipfix: generate flows from pcap on multiple cpu cores
- 2aae05b: ipfix probe: update bench.snabb to use packetblaster ipfix
- f2870ac: program/ipfix/tests: check in truncate_pcap script
- d64e23c: ipfix probe: add --rss-goups option to bench.snabb
- 97e9369: program.ipfix.lib: remove dead code
- c508b40: ipfix probe: add test.snabb
- 7c5ee4e: ipfix probe: update collector-test.sh
- a8c2f24: ipfix probe: remove generate_packets.py
- cdf1c3b: ipfix probe: cleanup tests
- 86e14ed: ipfix probe: update README.md
- 609716d: lwaftr tutorial: fix typos, reference schema instead of source
- 70785be: lwaftr tutorial: remove TODOs
- 5a4d0b1: apps.ipfix: fix bug in selftest
- 18d2631: snabb config listen: fix bug introduced in bfa68ba
- 5fe89b5: apps.lwaftr: do not flush lookups early
- 4706127: lib.ctable/lib.hash.siphash: optimize traces