Skip to content
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

Merge lwaftr to wingo-next #1328

Merged
merged 101 commits into from
Apr 24, 2018
Merged

Conversation

wingo
Copy link
Contributor

@wingo wingo commented Apr 24, 2018

This commit merges in the following Snabb lwAFTR releases:

See the linked CHANGELOG entries for full details.

wingo and others added 30 commits December 14, 2017 13:04
We'll also start moving utilities from lib.ptree.ptree into
lib.yang.path_data.
* src/program/config/listen/listen.lua: Default path to '/'.
The trace log is in a JSON format that "snabb config listen" can play
back.
The get-config RPC would want to create an array of Lua strings for the
returned config.  For large configs (e.g. the 1M-entry binding table
that's already 122 MB raw), this is too much memory overhead.  Instead
change to incrementally write bytes to an output device held off-heap.
Improve performance of "snabb config get" on big configurations
The conversion of localtime to ISO8601 format didn't include timezone
information. For instance, timestamp 0 (UNIX epoch) was converted to in
GMT +01:00:

1970-01-01T00:00:00Z

While it should be:

1970-01-01T00:00:00Z+01:00

So now all alarms date information works using localtime and converting
it to ISO8601 including timezone info.  When an ISO8601 date is
converted to seconds it takes into account timezone information. That
makes possible to compare local timestamps and ISO8601 dates.
* src/lib/yang/data.lua (data_grammar_from_schema): Prune cases with no
  members.  Can be the case when we're asking for state data, for
  example, and a case has no state data.
The path selector and value generator now use the grammar instead of the
schema.  Invalid path and value generation are now parameterized by a
function argument instead of being a global variable.
dpino and others added 28 commits March 29, 2018 21:25
This extends loadtest's find-limit command so that multiple sets
of traffic and NICs can be configured. The support is similar to
how the loadtest transient command accepts multiple NICs.
Extend find-limit to support multiple NICs.
This commit fixes two bugs:

  * It was impossible to distinguish between a nonempty batch of dirents
    that contains all deleted entries (d.ino == 0) and a terminal batch
    of dirents (size == 0).  To fix this, we modify the getdents /
    getdirentries interfaces to return nil, nil in the terminal case.
    This is an incompatible change, but most users are probably using
    the util.ls or util.dirtable methods.

  * The util.ls method left the directory FD open, to be later closed by
    GC.  This can lead to running out of FDs if GC doesn't happen soon
    enough.  The fix is to close the directory fd after the iterator
    terminates normally, in addition to closing the fd in error cases.
There's no need to use this when ljsyscall's "ls" and "dirtable" exist.
Avoid fd leaks in "snabb config get-state"
Merge v2018.04 prerelease from next to lwaftr
Otherwise, we would never claim the name when starting with an empty
config.
This replaces "sleep" calls with deterministic waits.
Make lwAFTR selftests less flaky
@wingo
Copy link
Contributor Author

wingo commented Apr 24, 2018

merging my own pr to my own branch, la la la

@wingo wingo merged commit f645404 into snabbco:wingo-next Apr 24, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants