Commit Graph
4918 Commits
Author SHA1 Message Date
Mattias Walström 52c7e4e90e test: ospf_unnumbered_interface: Adapt to new yangerd 2026-06-27 08:41:21 +02:00
Mattias Walström f50f6add9c test: veth_delete: Adapt to new yangerd
Operational is now not instantly availible, is some lag.
2026-06-27 08:41:21 +02:00
Mattias Walström 5071a1f177 test: ntp_client: Adapt to new yangerd daemon 2026-06-27 08:41:21 +02:00
Mattias Walström ee5499501c test: stp_basic: Stabilize test
With the new yangerd it failed 100% of the times, but it could fail
before as well, but that whould be very rare. Wait until operational
has been updated.
2026-06-27 08:41:21 +02:00
Mattias Walström e9ff748df9 tests: Adapt to new yangerd 2026-06-27 08:41:20 +02:00
Mattias Walström bf850f59d7 yangerd: Add support for getting ARP neighbors 2026-06-27 08:39:48 +02:00
Mattias Walström 76de3427ff test: syslog: property_filter: Adapt to changes required by yangerd
The test got an unexpected input in one of its logs:

'May 22 11:18:32 test-00-03-00 yangerd[3677]: SIGHUP: triggering immediate re-poll'
limit the string grepping for to be more exact.
2026-06-27 08:39:48 +02:00
Mattias Walström 6a78def525 test: upgrade: Add adaptions needed for yangerd 2026-06-27 08:39:48 +02:00
Mattias Walström 59fbb26dca test: upgrade: Add adaptions needed for yangerd
Specially the change:
`
-            oper = target.get_dict("/system-state/software")
+            oper = target.get_dict("/ietf-system:system-state/software")
`
i feel is strange, since only the backend for sysrepo has changed, but the
new syntax is actually correct, unsure why it has worked before.
2026-06-27 08:39:48 +02:00
Mattias Walström 56b7904d1a statd: Remove old code 2026-06-27 08:39:48 +02:00
Mattias Walström 3e23997289 yanger: Remove code duplication and fix upgrade
Remove a lot of duplication and move to seperate libs in internal/

Also, instead of polling upgrade status using src/rauc-installation-status,
hook into the dbus monitor.
2026-06-27 08:39:48 +02:00
Mattias Walström c7ab211e51 yangerd: Add WiFi implementation 2026-06-27 08:39:48 +02:00
Mattias Walström 32bed66267 yangerd: Add backoff if ip batch work have crashed 2026-06-27 08:39:48 +02:00
Mattias Walström ca7447dfc9 yangerd: Do not start in runlevel S 2026-06-27 08:39:48 +02:00
Mattias Walström dc7a86c604 test: iface_enable_disable: Simplify test 2026-06-27 08:39:48 +02:00
Mattias Walström f305bd3527 test: wireguard_roadwarrior: Adapt to the new polled world in yangerd 2026-06-27 08:39:48 +02:00
Mattias Walström 73f6b52a70 yangerd: Add wireguard support 2026-06-27 08:39:48 +02:00
Mattias Walström 9e403831b3 yangerd: fix stp status 2026-06-27 08:39:48 +02:00
Mattias Walström b40f64492f yangerd: Send sighup to yangerd on config change
This is to force yangerd to repoll polled things
2026-06-27 08:39:48 +02:00
Mattias Walström 2dffad67b7 test: usb: adapt to new yangerd 2026-06-27 08:39:48 +02:00
Mattias Walström 0cd598d67c test: containers: host_commands/test.py: Adapt to new yangerd
Slightly slower to detect changes
2026-06-27 08:39:48 +02:00
Mattias Walström 6ce28a7e40 Fix containers, reactive now. 2026-06-27 08:39:48 +02:00
Mattias Walström e938c2dce2 test: case: ntp: Adapt tests for polled yangerd 2026-06-27 08:39:48 +02:00
Mattias Walström 61a7c85d96 test: dhcp: server_subnets: Add longer timeout for polling
This since NTP status is polled in yangerd.
2026-06-27 08:39:48 +02:00
Mattias Walström 72d3777d3f Fix ntp and dns status 2026-06-27 08:39:48 +02:00
Mattias Walström 02db44bb82 FRR does not send delete on OSPF route change
Handle this.
2026-06-27 08:39:48 +02:00
Mattias Walström 4cc9751c7b Fix interface and bridge race conditions 2026-06-27 08:39:48 +02:00
Mattias Walström 7b45f2589c zapi: Fix deletion of routes 2026-06-27 08:39:48 +02:00
Mattias Walström ad67a5aacf yangerd: Continues 2026-06-27 08:39:48 +02:00
Mattias Walström fdbf00ca76 Fix routing and ip addresses 2026-06-27 08:39:47 +02:00
Mattias Walström 4131167ede update doc 2026-06-27 08:39:47 +02:00
Mattias Walström 281adb45b6 statd: Include new yangerd backend for operational 2026-06-27 08:39:47 +02:00
Mattias Walström 35f8d6e3d5 move yanger 2026-06-27 08:39:47 +02:00
Mattias Walström 1e932f09c1 yangerd: Initial 2026-06-27 08:39:47 +02:00
Mattias Walström 6d27f67b37 test: firewall: Make tests more robust 2026-06-27 08:39:47 +02:00
Mattias Walström ce4dd2d3e3 test: system: Make tests more robust 2026-06-27 08:39:47 +02:00
Mattias Walström 0deff2515c firewall: simplify 2026-06-27 08:39:47 +02:00
Mattias Walström 30907b0343 TEMP: Update yanger spec 2026-06-27 08:39:47 +02:00
Mattias Walström 89fee60663 TEMP: WiP document 2026-06-27 08:39:47 +02:00
Mattias WalströmandGitHub 6d6064f946 Merge pull request #1548 from kernelkit/veth-regression 2026-06-26 18:30:50 +02:00
Joachim WibergandGitHub a4e5c27b9d Merge pull request #1547 from kernelkit/only-start-crond-if-schedule
Only start crond if there exist at least one schedule configured
2026-06-26 16:15:39 +02:00
Joachim Wiberg ddc57ed6ae confd: fix veth teardown regression
When a veth pair has one end in a container and the other in the host
namespace, removing it failed: the container end's teardown deleted the
whole pair, so the host end's own delete then failed ("Cannot find
device") and aborted the teardown, leaving the interface behind.

The host-namespace delete added for the both-ends-in-container case was
emitted for every container veth end.  Restrict it to the primary end,
which for a host/container pair is the host end that already deletes the
pair itself.

Extend the container veth tests to remove the pair and verify it is gone,
covering both the single-end (regression) and both-ends teardown paths.

Fixes: #1546

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-06-26 16:05:53 +02:00
Joachim Wiberg 2ae1a70bac test: simplify interfaces/veth_delete
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-06-26 16:04:25 +02:00
Joachim Wiberg 20350fa52c test/infamy: new method, delete_xpaths()
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-06-26 16:04:25 +02:00
Mattias Walström f866cf15b4 confd: schedule: generate in change, apply in done
Write the crontab to admin.next on change and promote it on done, drop it
on abort.

Signed-off-by: Mattias Walström <lazzer@gmail.com>
2026-06-26 13:33:44 +02:00
Mattias Walström 7030f85484 confd: schedule: start crond only when a schedule is active
crond shipped auto-enabled in finit (symlinked into enabled/), so it ran
on every boot.  With no cron jobs /var/spool/cron/crontabs does not exist
and 'crond -f' exits non-zero, which finit then crash-loops until it gives
up ("Service crond keeps crashing, not restarting").

Ship crond available-only and let confd manage it: the schedule plugin
already rebuilds the crontab on every change, so enable + touch crond when
at least one consumer is active and disable it otherwise.  No jobs, no
crond, no crash loop.

Signed-off-by: Mattias Walström <lazzer@gmail.com>
2026-06-26 13:33:44 +02:00
Joachim WibergandGitHub d194b52629 Merge pull request #1544 from kernelkit/misc 2026-06-22 08:39:14 +02:00
Joachim Wiberg 674fd6c396 confd: allow both ends of a veth pair to be assigned to containers
Previously at least one end of a veth pair had to remain in the host
namespace, because that end created and destroyed the pair.  Assigning
both ends to containers left no one to create it.

Select a deterministic primary end so exactly one side creates the pair.
When the primary is itself a container interface, create the pair in the
host namespace before the container starts; CNI host-device then moves
each end into its container.  Teardown is deferred to the container
removal script so the pair does not linger and block re-creation.

Drop the now-obsolete limitation notes from the documentation and YANG,
and add a regression test connecting two containers over a veth pair.

Fixes: #941

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-06-20 19:26:22 +02:00
Joachim Wiberg 0229057612 statd: fix temperature sensor display on Marvell switches
The per-port PHY temperature sensors on Marvell DSA switches show up in
'show hardware' with the name the kernel derives from the full device
tree path, e.g. cp0busbusf2000000mdio12a200switch2mdio01, which honestly
is completely unreadable and also overruns the value column.  Name each
sensor after the front-panel port it serves (e1, e2, ...) by matching
the PHY's device-tree phandle against each interface's phy-handle.

Also:
- show system: report a representative SoC temperature on CN913x by
  matching the ap-* and cp<N>-* thermal zones, hottest wins.
- cli-pretty: truncate over-long sensor names so they can never spill
  into the value column again.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-06-20 19:26:21 +02:00
Joachim Wiberg b3450d004d doc: lead README with the product, tidy prose
Reorder the README so newcomers see the product before the philosophy:
CLI demo and web UI up top, a "Try it in 5 minutes" section linking the
GNS3 and build-from-source guides, then hardware and the rest.  Tone
down the remaining marketing prose in the hardware and use-case lists.

Rename CODE-OF-CONDUCT.md to CODE_OF_CONDUCT.md so GitHub recognises it
as the community code of conduct, and link the .github/ health files
from the README.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-06-20 19:26:21 +02:00