FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Yangerd by mattiaswal · Pull Request #1536 · kernelkit/infix · GitHub

Yangerd - #1536

Draft
mattiaswal wants to merge 73 commits into
mainfrom
yangerd
Draft

Yangerd#1536
mattiaswal wants to merge 73 commits into
mainfrom
yangerd

Conversation

Copy link
Copy Markdown
Contributor

Description

Checklist

Tick relevant boxes, this PR is-a or has-a:

  • Bugfix
    • Regression tests
    • ChangeLog updates (for next release)
  • Feature
    • YANG model change => revision updated?
    • Regression tests added?
    • ChangeLog updates (for next release)
    • Documentation added?
  • Test changes
    • Checked in changed Readme.adoc (make test-spec)
    • Added new test to group Readme.adoc and yaml file
  • Code style update (formatting, renaming)
  • Refactoring (please detail in commit messages)
  • Build related changes
  • Documentation content changes
    • ChangeLog updated (for major changes)
  • Other (please describe):

mattiaswal added the ci:main Build default defconfig, not minimal label Jun 12, 2026
mattiaswal force-pushed the yangerd branch 3 times, most recently from 3ec2747 to 71d50ea Compare June 19, 2026 09:38
mattiaswal force-pushed the yangerd branch 2 times, most recently from baea038 to 646aa70 Compare August 14, 2026 08:03
RAUC downloads the upgrade bundle to /tmp (tmpfs) before installing.
With a ~175 MB bundle, a 384 MB DUT runs out of memory mid-upgrade and
the OOM killer takes out random daemons.  Bump to 512 MB.

Signed-off-by: Mattias Walström <lazzer@gmail.com>
Talk chronyd's native monitoring protocol over its Unix command
socket instead of forking chronyc four times per poll and parsing CSV.
Typed replies via github.com/facebook/time/ntp/chrony.  The Unix
socket, not UDP, is required for serverstats (PERMIT_AUTH in chronyd).

Also fixes three bugs in the CSV parsing:

 - packet-sent/packet-sent-fail actually reported chrony's
   authenticated and interleaved packet counters; chronyd does not
   count sent packets, so drop them
 - clock-refid truncated the sync source address to four characters
   ("192."); now the full IPv4 address, the numeric refid for IPv6
   (as a JSON number, the uint32 union member libyang accepts), or
   the pseudo-IP for non-printable refids like the local reference
 - a stopped chronyd could leave a phantom {"port": ...} subtree
   from the ss listening-port probe

Signed-off-by: Mattias Walström <lazzer@gmail.com>
Replace the yanger pmc-based collector with a native monitor talking
the PTP management protocol on each ptp4l instance's Unix socket.
Reactive rather than polled: SUBSCRIBE_EVENTS_NP makes ptp4l push port
state changes, per-sync-cycle time status, and parent data set changes;
the near-static data sets refresh on a slow timer that also renews the
subscription.  Queries are served from the cached tree, no forking pmc.

Management requests carry the instance's transportSpecific nibble;
without it ptp4l silently drops them on gPTP (802.1AS) instances.

Signed-off-by: Mattias Walström <lazzer@gmail.com>
Dynamic entries were baked into the generated ipset XML to survive the
firewalld reload triggered by configuration changes.  But the reload is
asynchronous to the add/remove action handlers: an entry removed while
a reload was in flight came back when the reload restored the XML, and
could then never be removed again -- the shadow file no longer listed
it, so the remove action rejected it, and firewalld refused re-adding.

Generate the XML with static entries only and have the firewalld reload
hook re-apply dynamic entries from the shadow files once the reload has
completed.  The shadow files are updated synchronously by the action
handlers, so a remove racing the reload stays removed and an add racing
it is re-applied.

Never seen on main only because operational reads via yanger were slow
enough to keep clients out of the reload window; with yangerd the
firewall/address-set regression test hit it every run.

Signed-off-by: Mattias Walström <lazzer@gmail.com>

This branch has not been deployed

No deployments
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:main Build default defconfig, not minimal

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant


Back | FazBrowse Home | New Git URL