Skip to content

Snabb 2018.01 “Daikon”

Compare
Choose a tag to compare
@eugeneia eugeneia released this 02 Feb 09:15
· 2584 commits to master since this release

This release includes a new fleshed out version of Igalia’s YANG based
configuration subsystem—now known as lib.ptree, for “process tree”, as well as
Alexander Gall’s l2vpn, a virtual multi-port Ethernet switch on top of a plain
IPv6. Additionally, lib.ipsec now support ESP in tunnel mode. As usual, Daikon
also includes assorted bug fixes.

Major Changes

  • #1257 Reworked multi-process reconfigurable network functions
  • #1261 Upstreamed Alexander Gall’s l2vpn
  • #1266 lib.ipsec: add support for ESP in tunnel mode

Minor Changes

  • #1220 lib.ipsec: added IPsec ESP interoperability test with Linux
  • #1259 core.link: free packets during link.free
  • #1260 snabb top: fixed a bug; should have improved performance

Contributors

Alexander Gall (64):

  • a4acb5f: Add a Snabb program to construct a complete L2VPN endpoint
  • cd89bed: Fix identification of proper p2p VPN
  • c4cc025: Add documentation
  • a9d1ca8: Untabify apps/intel/intel1g.lua
  • 2ebacf2: Fix regression introduced by 11a19ce
  • b06fbb6: Amend the list of devices supported by the Intel i210 driver
  • f2f400a: Add configurable MTU to intel1g.lua
  • cf6e415: Add SNMP support to intel1g.lua
  • 8777c5f: Fix bridge post_config() call
  • 3a3f81e: Use /tmp to store test data in pseudowire selftest
  • b68519d: Fix ifSpeed in intel10g and intel1g
  • 5886ebc: Use logger:can_log() in l2vpn tunnel modules
  • 57848e7: Improve performance of the VLAN multiplexer
  • 53e930b: Set ifAlias, ifDescr in intel drivers
  • 0f5f76e: Add oversized packets counter to ifInDiscards for intel10g
  • 244b0a2: Add app for static ND
  • 32b8767: Add VLAN support to the l2vpn program
  • a6032d6: Remove MAC addresses from pseudowire app
  • aac33d4: Allow per-PW control-channel disable override
  • 1a55b0e: Add missing image files
  • c38a501: Fix bug in l2vpn
  • 93f94f8: Remove SNMP code from Intel drivers
  • e5f14ce: Extract physical MAC address in intel10g
  • 47eaceb: Make ND apps reconfigurable
  • 771f7a4: Fixes for new packet API
  • d7e9c39: Fixes/enhancements for iftable_mib.lua
  • 31d6911: Streamline SNMP config in l2vpn
  • 7e9fba1: De-couple SNMP setup from ND reconfig
  • fed01a8: Add SIOCGIF{FLAGS,MTU,HWADDR} ioctls to ljsyscall
  • f71c64f: Augment stats counters for apps.tap.tap
  • d59c806: Properly count the number of pseudowires
  • 134b4ce: Disable interrupts in intel10g
  • f920867: Make waiting for link-up optional in intel{1,10}g
  • 5e7f8dc: nd_light: add option to reduce verbosity
  • 9365ce3: Fix program/l2vpn/pseudowire selftest
  • c821bf2: Fix l2vpn pseudowire for new packet semantics
  • 47fa2ce: Fix tap after merge
  • e912fa3: intel1g: replace lib.timer by lib.throttle
  • b3c1b6b: nd_light: add "quiet" option to config template
  • 7e4f8d3: inetl_app: add "wait_for_link" option to config template
  • 4fdd530: l2vpn: switch to intel_mp drivers
  • 916f6c8: l2vpn: add extra_config to driver configuration
  • 2833f21: l2vpn/README.md: Fix indention
  • e498067: l2vpn: document new extra_config driver configuration item
  • c9bbb85: l2vpn: use intel_mp in README throughout
  • 5f763e1: Remove intel1g driver
  • 22d5ebb: Revert intel_app, inetl10g to upstream/master
  • 4400bbf: intel_mp: move shm initialization to constructor
  • 3b0c82f: iftable_mib: streamline processing
  • 9bec79f: Tap: add support for MTU, operational status
  • 47aee50: l2vpn: access interface counters via read-only shm frames
  • f094f74: apps.vlan: use config parser, update README
  • b61c4b0: nd_light: add optional option local_mac
  • dd0a91c: nd_light: fix bug in NS validation
  • a9c0ddf: program.l2vpn.l2vpn: only use nd_light
  • 23ffbb5: l2vpn: support dynamic reconfiguration
  • 50ba67d: core.app: fix bug in reconfiguration
  • da5346b: l2vpn: add port-mirroring option
  • d5960dc: apps.vlan.vlan: remove assert in VlanMux link()
  • a886ed3: apps.ipv6: document quiet option of nd_light
  • 54b99f8: l2vpn: re-write of app network construction
  • 8c5ea03: l2vpn: fix bug in app links generation
  • 96026fd: Fix bug in p2p optimization
  • 821fd8d: Add -jopt option to l2vpn program to set JIT options

Andy Wingo (215):

  • dd73f5a: Fix structural typing of YANG data
  • 34a0dc4: Worker processes have useful process name
  • 950d2b2: lwaftr: main process should not run at 100% CPU
  • 1163af7: yang: Mark list keys as mandatory after expansion
  • 354a18c: Better support for identity in YANG schemas
  • 4e9b818: yang: Attach default prefix to identityref type nodes.
  • 09e7267: Enable YANG data range and length validation
  • 71345f3: Fix schema test for range representation change
  • 0439614: Remove unused code
  • b231028: Adapt property-based test generation for range change.
  • 4f6de01: Leader should poll follower for its channel. (#866)
  • 8291a3a: Remove Ethernet-specific code from lwAFTR app
  • c0abcf0: Move NDP app to ndp.lua
  • 22af99d: Inline helper function only used by NDP app
  • df58830: NDP assigns random MAC addr if needed, stamps MAC on outgoing packets
  • 7d71c27: Localize more functions in ndp.lua
  • fbbc1f7: Fix bugs in migrated NDP app, add test
  • d300df6: Use more structs in NDP implementation
  • 3d9ad9a: Convert advertisement part of NDP app to FFI style
  • ae714b6: Finish refactoring NDP to FFI style
  • 5931f63: Finish cleanup of NDP app
  • 581589e: Fix NDP nits.
  • a6cc106: Fix errors constructing NDP packets
  • 0995226: Remove backpressure from IPv4 ping responder
  • 3930a04: Reindent lib.yang.state
  • 3d26a46: More robust lib.yang.state find_counters routine
  • 6fe8424: YANG schema inherit-config phase gives all nodes config property
  • 9da160e: Separate YANG grammars for config and state data
  • 42d4e34: Fix grammar generation
  • 45ab10c: Unify lwAFTR and other state query around YANG
  • 49c7c81: Lwcounter module uses YANG to know available counters
  • 259ffdb: Attempt to fix snabbvmx check
  • 4f1fc20: README reformatting to trigger CI
  • 40d4373: Fix snabbvmx some more
  • 37268cc: Revert change to snabbvmx lwaftr
  • d66184a: Add YANG docs to documentation build.
  • 6c9af14: Fix YANG doc link.
  • b00485e: Snabb lwAFTR version is Snabb version
  • d75381a: Fix bugs in generate-binding-table.
  • a3557d9: Release Snabb lwAFTR 2017.07.01
  • d8fd1c0: Fix typo.
  • 745b5b2: More robust name-to-PID mapping in query test
  • 08d30f7: Work around race condition in query tests
  • 7fd3622: Beginning of separating out IPv4 reassembly app
  • cd90b37: Remove unused vlan capability from fragmentation tests
  • 64bfbb5: Further work to separate IPv4 reassembly from lwAFTR
  • d01a489: Style cleanups in reassembly tests
  • d999ef0: Tighten packet generation for reassembly tests
  • c294c2c: Use fragmenting app, not library, when testing reassembly app
  • dbd18ad: Simplify reassembly test
  • 03e9e6a: Inline reassembly test into reassemble.lua
  • d719cfa: Clean up reassembly header
  • f2bad7a: Rewrite reassembly tests to be exhaustive
  • 839e9ea: Remove global state in reassembler
  • 62203fa: Beginning of moving reassembly to FFI style
  • 0b6a8d4: Finish moving reassembly to FFI style
  • 896c5ae: CTable random eviction wrapper uses ctable API
  • 1cbc626: ctable add method returns pointer to entry, not index
  • 01efd22: Inline reassembly handling
  • fa75b19: Inline more reassembly helpers
  • 781dd8a: Minor reassembly cleanups
  • 5a95294: Reassembler embeds struct packet
  • 5b04a44: More small reassembly cleanups
  • c7b8b69: Tighten up validation of reassembly input packets
  • 232fe4c: Reassemble app uses SHM frame to open counters
  • 4fe94b7: Rename reassembler config params
  • e90371e: Add IPv4 reassembler documentation
  • 90b9c54: ctable:add() should return a pointer, not a reference
  • 597f744: IPv4 reassembly: Periodically update counters
  • 366d3b8: Fix IPv4 reassembly bugs
  • 707c1e7: Adapt counters to new IPv4 reassembly table size
  • 087d3b8: IPv4 reassembly passes through non-IPv4 packets
  • 673d48c: Update README
  • 260fc85: Update reassembly counter expectations
  • a1781e7: Begin extracting IPv6 reassembler out of lwaftr
  • 033ccb8: Add IPv6 reassembly tests
  • ca370fd: IPv6 reassembler: finish converting to FFI style
  • 48485f3: IPv6 reassembler passes through non-IPv6 traffic
  • 15e7ec8: lwcounter avoids creating counters for IPv6 reassembly
  • b80b7c9: Update IPv6 reassembly counter memory use expectations
  • 05ad9d6: Begin extracting IPv4 fragmenter from lwAFTR
  • 1483c6d: Add exhaustive IPv4 fragmentation tests
  • 6a53389: Add fragmentation comment
  • 97cd285: Fix IPv4 reassembly when last fragment is full MTU
  • e6c3bc2: Start to convert IPv4 fragmenter to FFI style
  • f077775: Inline fragmentation code into app
  • f7b87d8: IPv4 fragments and transmits directly
  • d54d4ed: Only test valid MTUs for IPv6 reassembly
  • a11da97: Port IPv6 fragmenter to new style.
  • b3a873f: Fix nondeterminacy in "snabb lwaftr check"
  • 045ff0c: Fix previous patch
  • 136fdc6: Move fragmentation-disabled drop counters back to lwAFTR
  • 8673288: Fix unintentional hairpinning in lwaftr config_test.
  • 520d5db: Convert lwAFTR to "shm frame" mechanism
  • 107c999: Fix whitespace issue
  • 44515e7: Extract ICMP echo responders from lwAFTR
  • da223f5: Inline some ICMP helpers into their use modules
  • 5de181e: Minor ICMPv4 echo responder refactors
  • 4b484e6: Port ICMPv4 echo responder over to FFI style
  • 0729fce: Rewrite ICMPv6 echo responder into FFI style.
  • 7e64823: Add documentation for ICMP echo responders
  • 5522091: Remove "snabb lwaftr run-nohw"
  • 2f2a912: Remove run-nohw test.
  • bab1b8a: Remove apps.lwaftr.conf
  • d9988f6: Remove unused apps.lwaftr.dump
  • 0c6862b: Remove unused apps.lwaftr.generator
  • 5fa5807: Fix "snabb snabbvmx lwaftr"
  • 9223f80: Fix snabbvmx again
  • a7bd117: Comment to force CI to run again
  • b506394: Add needed import
  • b68815f: Fix needed import.
  • 293e50d: Remove a couple of unused imports
  • d95799c: Convert lwAFTR to use methods
  • bfa07ee: Inline lwAFTR helper ICMP library into lwaftr.lua
  • 10dca61: Inline lwheader.lua into lwaftr.lua
  • 82236b8: Remove unused lwtypes includes
  • d2022fb: Remove unused definitions from lwtypes
  • 99e5b0f: Inline lwtypes into lwaftr.lua
  • 57c1f00: More consistent naming of FFI types in lwaftr
  • c8d5d48: More minor lwAFTR style refactorings
  • 3abe151: Shorten names in write_ipv6_header
  • 471b69a: Fix error introduced by refactoring
  • 67873f1: Repeater apps have push functions instead of pull functions
  • b097e4b: Stabilize breathe order
  • 4f12e09: Allow LPM self-tests to complete even if no CPU affinity
  • e673303: Restart CI
  • a77330d: Add -j option to "snabb lwaftr run" and "bench"
  • c59e2e3: Add documentation
  • fa9f31a: Ingress drop timer doesn't count drops in the 10 seconds after a flush
  • 97910f3: Snabb lwAFTR v2017.08.01 release
  • c28e111: Add cpuset module
  • 6d2050b: Allow multiple CPUs via --cpu
  • 154163c: Print out the CPU to which we bind data plane processes
  • dc1e667: Add lwAFTR changelog for v2017.08.02
  • 9630c34: Snabb lwAFTR v2017.08.02
  • 080e5ea: Use false instead of "off" to disable intel_mp txq/rxq
  • b45149e: ChangeLog for v2017.08.03
  • 8f93a85: Snabb lwAFTR v2017.08.03
  • 4d73be0: RSS queue ID in examples is 0, not 1
  • fb18030: lwaftr run migrates configs in place
  • 326ebd9: Simplify parsing of single-instance lwaftr configurations
  • 5a279a3: Set queue ID as RSS queue ID
  • c5df53c: Add dedicated copier for YANG data
  • 70d2dd2: Produce one worker config per device and queue
  • b2d006f: Worker ids built using RSS id, not containing struct
  • 1286b07: Fix error in snabbvmx setup
  • 31b2084: Fix another error in snabbvmx setup
  • d6974ca: Another friggin snabbvmx error
  • c133476: Zero out synthesized lwaftr packets
  • 9d30c3c: Update benchdata/ packets to match test configurations
  • 940f0db: Fix bug printing error in config leader
  • edb15dd: Fix accessing first queue
  • 1cccf7a: Fix sparse cltable value serialization
  • 0e73d94: Fix insertion into sparse cltables
  • 293838e: Fix serialization of sparse arrays, again
  • e29810f: Fix yet another sparse cltable serialization problem (!)
  • b5de0d5: Update configuration.md to discuss RSS.
  • 5e159f0: Fix inconsistencies in documentation.
  • 59dec82: Reflow text
  • dd5c53b: lwAFTR always uses pool 0.
  • 2ea981c: Change log for Snabb lwAFTR v2017.08.04.
  • 72f2fe3: Snabb lwAFTR v2017.08.04
  • d3b3c87: Use different pool numbers for on-a-stick VMDq interfaces
  • 9f769e0: Ignore unexpected ARP replies
  • e15b305: Workers can communicate next-hop MAC address between themselves
  • c72c6c2: Workers can communicate next-hop MAC address between themselves (NDP)
  • f66b085: lwAFTR configures ARP and NDP with shared_next_mac_key
  • bc41ec3: Give snabb-softwire-v2 a different namespace from snabb-softwire-v1
  • 59fcb91: Avoid leaking shared next MAC key in ARP
  • 8216ef6: Avoid leaking shared next MAC key in NDP
  • 1fbb5a9: Update lwAFTR reconfiguration docs for new YANG schema
  • 709470a: Add snabb alarms documentation
  • 9ba052a: Prepare for Snabb lwAFTR v2017.08.05
  • bc32917: Add new ietf-softwire-br, ietf-softwire-common schemas
  • 878f1d4: Implement "refine" support for YANG schemas.
  • 9467691: Fix typo
  • d153c4c: Fix ietf-softwire-br by lifting per-instance state into traffic-stat.
  • 4631a6f: Fix querying config or state data by path when choices are involved
  • 14dd544: Fix "snabb config get-state" for foreign schemas
  • 27703e0: Add support for new ietf-softwire-br
  • 46a30ee: Remove support for ietf-softwire; ietf-softwire-br now default
  • d28efc9: Fix typo
  • 55ad468: Fix nits
  • d0cd819: Snabb lwAFTR v2017.08.06
  • bd9609e: Fix bug in cpuset:release()
  • fde3434: Copy app.config to lib.ptree ("process tree")
  • 3704987: Rename lib.ptree.leader to lib.ptree.manager
  • 3619ac2: Rename lib.ptree.follower to lib.ptree.worker
  • 90b7c2f: Add lib.scheduling
  • 67e44e8: Rework ptree manager to handle worker scheduling
  • aaeac1b: Make worker app private
  • 49651f8: Rework ptree worker to be library, not app
  • 7473408: Refactor ptree manager to be lib, not app
  • d49eb7d: Ptree manager stop() method shuts down workers too
  • 356d34e: Ptree worker refactors
  • 9490757: Add ptree manager log facility; fix manager main function
  • 9511c0b: Update ptree worker comment
  • 7c0d1a1: Ptree manager runs timers
  • 3c5f169: Ptree manager has "state change listener" facility
  • 6080eca: Timers can be cancelled
  • 5c3600a: Port lwAFTR over to use lib.ptree
  • cb72a6e: Remove apps.config
  • 27280f4: Add facility to add yang schemas to Snabb's database.
  • 9420075: Rename lib.ptree.manager to lib.ptree.ptree
  • d6e0229: Add "snabb ptree" program
  • 7ee2983: Update ptree documentation
  • a77867a: Add programs.inc to gitignore
  • 68d70ba: Fix example ptree setup.lua
  • 378701c: More useful cpuset
  • 4e96594: Fix NUMA node in cpuset warning
  • 42191ac: Return ptree manager socket name to old name
  • afe2fbd: If "snabb config" doesn't have a schema, fetch remotely
  • f034af8: Remove debugging printout
  • ee6537f: Enhance ptree readme with multi-process example
  • 024b3ed: Finish "snabb ptree" docs

Asumu Takikawa (5):

  • 25090ca: Adjust how intel_mp VMDq enabled state is checked
  • ff12ba8: Adjust how VMDq pool selection works
  • 74da3fe: Allow either 32/64 pools depending on queuing mode
  • 66d38f3: Fix pool selection coordination for manual case
  • fbdb671: Canonicalize PCI addresses for intel_mp shm refs

Diego Pino Garcia (129):

  • d41ff02: Sanitize YANG lists
  • 33dd33c: Snabb lwAFTR v3.1.8 change log
  • 4a2f332: Support type 'ipv4-prefix'
  • 1b199b7: Remove undeclared variable 'program_name'
  • 05c1e7b: Implement identity lookup and validator
  • b459d51: Add IETF Yang Alarms module
  • 1000d46: Parse Yang version as 1 or 1.1
  • 125a2fc: Add support for empty type
  • 1056e53: Addressed review comments
  • 38d943f: Enumerations should be treated as strings when compiling to binary
  • 3f6cf3f: Add binary compilation of enumerations test
  • ad69902: Add enum validator
  • 6effb2f: Add enum initializator
  • 6571b3d: Remove one value attribute from enumerations definition
  • d6b3442: Address review comments
  • 90163b9: Fix enums validation
  • c0ef6c9: Assign type.unions in typedefs
  • 1536479: Print 'wrote compiled configuration' message only if succeed
  • e18c327: Upgrade ietf-alarms YANG module
  • b3f926c: Add leafref to types table
  • 2241347: Do not modify a map while iterating over it
  • 471e88c: Print out schema information in parents
  • e0eedbb: Add binary serialization support for identity-ref
  • e3eb9de: Add option to print out default values in 'config get' and 'config get-state'
  • 0a09031: Update README
  • 9ee004a: Update config/README documenting --print-default knob
  • 2b7702e: Improve parsing of snabb config query paths
  • a6c86a8: Replace missing function 'table_count' for 'table_size'
  • 7f3be77: Implement XPath data printer
  • fbe4a9c: Support xpath-printer knob
  • 61c7279: Update docs
  • 5204ea5: Rename xpath-format to format
  • d124052: Print out table in XPath format
  • be73854: Fix key composition
  • 0a47c05: Handle special cases when root path includes trailing slash
  • 2b0cf7f: Support print out of arrays in XPath format
  • cf8a7ef: Append accumulated path when print a struct keyword
  • a516bf8: Top printers should print absolute path too
  • 9eb95fb: Support print_default in scalar top_printer
  • a79af52: Remove trailing semicolon
  • a81c331: Allow a string argument to be empty
  • 6cdb03c: Implement alarm_codec
  • 87bf337: Basic alarms channel mechanism
  • 03240ca: Decompress paramaters individually in raise-alarm and clear-alarm encoding/decoding
  • 24d9d41: Group decompressed arguments into key and args
  • 4e9d594: Notify raise and clear alarms in ARP app
  • 45848b2: Create alarms-channel if it doesn't exist
  • 2b4184d: Emit alarm notification in ARP app only if set
  • 3aa3868: Encode raise-alarm and clear-alarm directly
  • 2912b6c: Make alarm_notification flag a local
  • ed7f5b4: Move function set to core/lib.lua
  • 2bf2021: Document lib.set
  • e002498: Implement YANG empty datatype
  • 4fde7bc: Compile empty leaves as a boolean flag
  • 801a493: Substitute references to leafref datatype for string
  • 4212073: Comment use of instance-identifier as it's not currently supported
  • 52751f2: Add alarms capabilities
  • fa69e91: Extend snabb-softwire-v2 with alarms containers
  • 1723026: Load alarm inventory and fetch alarm state
  • 22379b8: Apps add their own alarms to the global alarm repository
  • 27c6bef: Implement declare alarms
  • 7f94090: Enable alarms in NDP app
  • e84e158: Implement raise alarm logic
  • 8210939: Implement clear alarm logic
  • 64974da: Fix nits
  • 974b3bd: Add encode:maybe_string
  • 60174c0: Make alarm_list:copy private
  • b07a44a: Fix unroll of sparse table
  • 8ae762d: Fix followers iteration
  • 57e5b28: Break tail call in htonl
  • 93b4818: Optimize creation of psid_map
  • 7601615: Documented need of parenthesis in htonl and htons
  • 0fd4236: Adapt requires_splitter to new configuration format
  • 6764c62: Implement set-operator-state
  • c6f9b9d: Implement RPC set-operator-state
  • b116e30: Rename set_operator_state to set_alarm_operator_state
  • 2710a04: Raise error on set_alarm_state
  • 1cc027b: Update README
  • 46660fa: Rework argument parsing
  • 3c49cfe: Add set-alarm-operator-state to README.md
  • 750221c: Implement purge-alarms
  • 506c4f0: Add RPC definition of purge-alarms
  • 27874ea: Fix nits
  • 3c45df9: Implement compress-alarms
  • 0a5b4d9: Implement RPC compress-alarms
  • f5887c1: Fix format of compress-alarms command
  • 80b7fa9: Missing statements in snabb-softwire-v2 schema
  • 5699643: Implement alarm summary
  • 6643388: Decouple alarms declaration
  • 16299e2: Remove tabs
  • a7d8bac: Move apps.lwaftr.alarms to program.lwaftr.alarms
  • 3053ee8: Remove alarms container from snabb-softwire-v2
  • 0e297f2: Add subprogram to fetch alarms state
  • d411ec2: Do not append alarms state in lib.yang.state
  • 7035b2b: Add alarms module
  • 97f918e: Assert schema is 'ietf-alarms'
  • 8d9eb5b: Move alarms related subprograms from config to alarms module
  • ef46bec: Rename set_alarms_operator_state subcommand to set_operator_state
  • c052080: Modify README
  • eb73690: Adjust alarms related programs
  • 631f73a: Customize usage for each alarms command
  • 68002b1: Make alarm_type.resource a single data type
  • 444cc70: Rename 'alarm_codec.parse_args' to 'alarm_codec.to_alarm'
  • d296d40: Temporarily deactive alarms overwritten by lwaftr
  • 41096e7: Make add_to_inventory a message passing command
  • ebeca50: Make declare_alarm a message passing command
  • 162caff: Replace ARP resource identifier for PID
  • c84e156: Add alarms API method to set default alarms
  • fe969b2: Preserve previously defined resources
  • 558bbf9: Replace NDP resource identifier for PID
  • 8458d8c: Return '' if empty string
  • 672a32c: Fix alarm_codec test
  • 42e946c: Check default alarm exists before accessing it
  • 6ec0eb2: Fix lib.yang.alarms test
  • 8d20ddc: Clear alarm only if it previously existed
  • 833abd7: Raise alarms if bad-softwires matches go over threshold
  • 60ef3c9: Move alarm checks to beginning of push function
  • b6102f0: Implement ingress/egress IPv4 and IPv6 filter alarms
  • 1123663: Raise alarm if incoming IPv4 fragments reaches limit
  • 921e7bd: Raise alarm if incoming IPv6 fragments reaches limit
  • 4a896e4: Raise alarm if outgoing IPv4 fragments reaches limit
  • fbe86c1: Raise alarm if outgoing IPv6 fragments reaches limit
  • c5c8cf9: Alarm helper class for querying expressions
  • 85a7bd4: Implement ingress bandwith and packet-rate alarms
  • b9fad56: Implement ingress packet drops alarm
  • 887d048: lwAFTR specific alarms documentation
  • 226d8af: Rename ExprAlarm to CallbackAlarm
  • 57621f3: Fix typo in require
  • b0fe977: Do not print out counters which are not defined

Jessica Tallon (116):

  • 854d1bc: #683 Add version 2 of snabb-softwire yang file
  • 47db93b: #683 Add config migration for snabb-schema-v2
  • 32fc3d4: #683 Convert the lwaftr test configs to v2
  • ea1be8a: #683 Update generate_binding_table.lua for config v2
  • b194d4a: #683 - Fix typos in generate_binding_table.lua
  • fbd45f3: #683 - Fix snabb-softwire-v2 module name & add revision
  • 942c8e1: #683 - Add mandatory to br-address leaf in snabb-softwire-v2
  • 644564a: #683 - Convert codebase to use snabb-softwire-v2
  • 4eff4d4: #683 - Generalize migration and fix for printing
  • 5755a1d: #683 - Convert config commands to snabb-softwire-v2
  • 2cb1ee7: #683 - Convert documentation and some tests to snabb-softwire-v2
  • e20dd82: #683 - Migrate snabbvmx configs and some more tests
  • d587d2c: #683 - Migrate lwaftr's vlan test configs
  • 1d1e6fb: #683 - Correct the version number for config migration
  • 650b0ff: Fixes problem with large migration files
  • 9d188e0: Remove comments and br_address list
  • 6af4025: Add new version to migrate-configuration README
  • 4e8deea: Remove unused local variable
  • 5a9cd59: Retrigger tests to run
  • 086bf1f: Updates the test for br-address on softwire
  • 0bf92ba: Fix small nit in config test
  • 98ade9e: Move psidmap onto softwire in snabb-softwire-v2
  • 2e4b581: Add migration for psidmap on softwire
  • b759e1f: Convert lwaftr's data files to 3.2.0.1
  • 8a9aad4: Convert v2 migration to handle 3.2.0 and 3.2.0.1
  • 163438a: Update revision statement to include new port-set
  • 24407a2: Support new softwire in support and binding table
  • 8f62c22: Change binding table's psid map to ctable
  • 7d419bf: Add ability to add psid entries and update tests
  • f22b67a: Remove validate_config and validate_update
  • d69ed40: Fix migration to 3.2.0
  • 020659c: Update snabbvmx tests to the psid-map on softwires
  • 9e463a3: Fix a test to use snabb-softwire-v2 schema
  • 7cb536a: Fix a few more tests and remove redundent tests
  • 3f4d908: Fix config translation layer for ietf-softwire
  • c2408ff: Fix small nits
  • a1a3425: Update documentation for new schema
  • 7776572: Fix typo nit in docs
  • c96875f: Remove shift and padding parameters
  • 5eb7126: Update test data for removal of shift and padding
  • 6635dd4: Update migration for removal of shift and padding
  • 6db0b08: Update snabbvmx configs to remove shift too
  • c833507: Fix migration to handle larger files and add padding leaf
  • c7cb145: Convert the binding table to use rangemap
  • d49aaf7: Fix small documentation and other nits
  • 35e23c4: Add test for lwaftr's generate-binding-table subcommand
  • 985359a: Fix small nit in generate_binding_table_test.py
  • c48d6af: Update generate-binding-table for new schema changes
  • 10c5029: Fix small performance nit
  • 43bfb5d: Update migrations fixing the port-set definition.
  • fc8980b: Fix lwaftr's migrate-configuration.
  • f27f70a: Fix lwaftr's test vlan configs
  • eac7acf: Fix some small nits
  • c295c2c: Add selftest for YANG choice type
  • 7699f77: Fix #835 - Support YANG choice statement
  • ef66b7d: Fix small nit in parser definition
  • efd24f7: Add choice statement printer for YANG data
  • 8b07e1e: Add YANG binary data emitter for choice statements
  • 5488770: Fix potential problem modifying a table during iteration
  • 725a915: Add test for choice support for YANG binary compilation
  • acb6707: Include the round which binary choice test fails
  • 0eb00d3: Fix bug where choice statements where not being written out correctly
  • 3f9ab2e: Add multiprocess support to snabb-softwire-v2
  • 37b5b13: Change instance list to have a list for RSS queues
  • 3f2d3e3: Addresses feedback on multiprocess changes
  • 6d8106e: Fix some small problems in YANG schema
  • ec7ec0f: Add migration for multiprocess snabb-softwire-v2
  • 48a7687: Migrate lwaftr testing config files
  • 27d7c7e: Convert lwaftr bench to multiprocess config for non --reconfigurable
  • 9bbf115: Add support for snabb-softwire-v3 for reconfigurable
  • 1dfb7e6: Convert test data from fixed PCI device to JIT based
  • 2d8f87f: Update tests and migration
  • 5f7c950: Add missed snabbvmx configs
  • ea311f6: Fix nit in snabbvmx setup
  • 127dcb8: Add checks for PCI devices and feed single instance configs to lwaftr
  • 0b73e25: Fix vlan tagging in new configuration
  • 049126c: Update documentation for multiprocess snabbs-softwire-v2 schema
  • 237a541: Update the version number to new format used by thew lwAFTR
  • 6b527a9: Fix a couple of typos and nits from review
  • 0444c7e: Restore --v4 and --v6 flags to lwaftr run command.
  • 737bf47: Fix small bug in retriving instance config
  • 27a6fc5: Fix small nit in documentation
  • ade39da: Fix some small nits
  • 9db1f51: Remove redundnet JIT files in selftest.sh
  • 096de03: Fix incorrect call to produce_instance_configs in snabbvmx
  • c626e21: Move back produce_instance_configs to lwutil
  • a3868d2: Fix testcases as manual migration is not needed.
  • 4e0efcf: Fix #876 - Improve config migration by chaining together
  • 5f5c257: Add selftests for snabb lwaftr migrate-configuration
  • 6f778a7: Reduce memory footprint of migration
  • d7abf53: This fixes the memory issues with util.string_output_file
  • 176906c: Deprecate reconfigurable flag
  • 95c1e4e: Fix few nits with depreaction of --reconfigurable
  • 65e447c: Start worker processes from leader
  • 9503b7d: Cleanup setup.lua to remove produce_instance_configs calls
  • 380df1e: Fixes Leader update configuration
  • a1a98c2: Maintain a single in_place_dependencies
  • c7b918c: Fix nits in variable names and comments
  • 0bd6d0c: Improve variable name clarity and make timer repeating
  • 0c4b0f8: Move sampling to setup
  • 7a64163: Support starting and stopping instances via snabb config
  • 155269b: Update ietf-softwire translation layer for multiproc
  • 44c0e36: Improve error handling in multiprocess tests
  • 949be79: Add empty.conf data for lwaftr
  • edc1e75: Shutdown the follower properly when removing
  • 0b742d1: Stop csv stats outputting for stale instances
  • f9b12ab: Only check for stale followers if one has been shutdown
  • ede1f8c: Fix nit
  • 8aec912: Add test for migration using --on-a-stick command
  • 71a0f9d: Appropriately choose on-a-stick or bump-in-the-wire
  • 34a2f63: Fix typo nits
  • 278501c: Fix get-state for multiprocesses in lwaftr
  • c893cbc: Add tests for multiprocess get-state
  • 8b8a244: Change default schema to ietf-softwire
  • 0d70e22: Fix indent nit
  • e0c037f: Fix tests

Kristian Larsson (1):

  • 74cfd80: Remove mandatory statement for list keys

Luke Gorrie (1):

  • a8a805a: .version: bump to v2018.01

Max Rottenkolber (20):

  • 879af86: core.packet: resize should return the packet like the other functions
  • 0a67162: lib.ipsec.esp: add support for tunnel mode
  • 1df5f63: program/snabbnfv/selftest.sh: move some functions to test_env for reuse
  • add01dc: Cleanup ipsec esp linux interoperability test.
  • cb28b63: apps/ipsec/selftest.sh: remove leftovers
  • 1600fcb: lib.ipsec.esp.decrypt_payload: properly handle packet underflow
  • b3072ab: lib.ipsec.aes_128_gcm: use consttime_memequal to compare HMAC
  • beab39c: lib.ipsec.aes_128_gcm: use fixed length ASM routine instead of consttime_memequal
  • d95d1cb: apps/ipsec/selftest.sh: add environment variable for skipping the e2e test
  • ae09895: lib.ipsec.esp.decrypt_payload: remove redundant bounds/spi checks
  • 2794f6a: core.link: free any packets left in link when freeing link
  • ac7c5e0: top: fix bug where counters were redundantly reopened
  • 413b661: lib.ipsec: update documentation w/r to tunnel mode and new interface
  • f0b2060: src/README.md: improve docs of core packet ops that clobber their input value
  • ee6cd0d: apps.ipsec: fixup incompatibilities introduces in esp-tunnel branch
  • 0faa510: Revert "src/README.md: improve docs of core packet ops that clobber their input value"
  • 73e88bf: lib.ipsec.esp: paddle back on "freeing" vs "ownership" in documentation.
  • da5293d: lib.lpm.lpm4: skip intensive test by default
  • 2c71c23: lib.numa: skip selftest if running on a non-NUMA machine
  • fcf0ff1: Revert "lib.numa: skip selftest if running on a non-NUMA machine"

Nicola Larosa (3):

  • 00af632: Allow running just one lwaftr test file (#859)
  • b04b85a: Stop the lwaftr monitor test from hanging (#858)
  • a5fa676: Improve the generate-binding-table test (#863)

Timo Buhrmester (2):

  • 28bb896: Fix minor things that crossed my path
  • 20a9c3e: ipsec test vs qemu works with vanfstd/snabblab-nixos:ipsec-linux-test (aad3824a2a703ff01bd44a5f065faee7d430cc2e) command: nix-build -K jobsets/ipsec.nix -A tests --arg snabbSrc /path/to/snabb