Commit Graph
4735 Commits
Author SHA1 Message Date
Joachim WibergandGitHub 230bd77623 Merge pull request #1513 from kernelkit/acer-license
Add missing license for new board
2026-05-23 18:10:07 +02:00
Joachim Wiberg 0bc998c24a board/aarch64: add missing license for new board
[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-05-23 16:05:10 +00:00
Joachim WibergandGitHub 6618bcdf1e Merge pull request #1511 from kernelkit/refactor-confd-deps
Refactor confd deps
2026-05-23 14:59:20 +02:00
Mattias Walström cf4de78d29 confd: move dhcp-client hostname dependency to core tracker
Move the hostname-triggers-dhcp-client logic from dhcp-client.c into
the centralized dep_hostname() dependency tracker.  When the hostname
changes, all interfaces with DHCP client configured are now added to
the diff by the core dependency resolver, so dhcp_client_change() picks
them up through its normal diff-based interface iteration.
2026-05-22 16:20:45 +02:00
Mattias Walström 555de63fd6 confd: add wireguard key dependency tracking
When keystore keys change, trigger regeneration of wireguard
interfaces that reference them:

 - Asymmetric key change: triggers interfaces using it as private-key
 - Symmetric key change: triggers interfaces using it as preshared-key
   (both at peers bag-level and individual peer-level)
2026-05-22 16:20:45 +02:00
Mattias Walström 9d4d521fa2 confd: split handle_dependencies() into focused helpers
Extract the monolithic handle_dependencies() into five smaller
functions, each handling one dependency type:

 - dep_symmetric_keys()    - key -> wifi secret
 - dep_asymmetric_keys()   - key -> ssh hostkey/web cert
 - dep_hostname()          - hostname -> dhcp-server/mdns
 - dep_wifi_interfaces()   - interface wifi -> radio hardware
 - dep_radio_components()  - radio hardware -> interface wifi

Also fixes a potential NULL dereference of dwifi before accessing
its access-point child, and removes redundant NULL checks for
YANG-guaranteed mandatory leaves (list keys, mandatory true).
2026-05-22 16:20:25 +02:00
Mattias WalströmandGitHub e994d976ff Merge pull request #1510 from kernelkit/fix-acer-connect
aarch64: board: Acer Connect Vero rename board
2026-05-20 12:50:16 +02:00
Mattias Walström 3fdbe15585 aarch64: board: Acer Connect Vero rename board
Fix so the board actually build when selected and rename the board
to the actual name `Acer Connect Vero W6m`
2026-05-20 11:19:12 +02:00
Tobias WaldekranzandGitHub eb2135bd15 Merge pull request #1509 from kernelkit/fix-flaky-container-tests
Fix operational get-data crash on containers with shell chars
2026-05-20 08:12:21 +02:00
Mattias WalströmandGitHub 5cf180b4d7 Merge pull request #1507 from kernelkit/add-vero
Add Acer Connect Vero W6m support
2026-05-19 20:10:37 +02:00
Richard Alpe bcc2df7e20 statd: yanger: stop overwriting infix-containers 'command' leaf
The 'command' leaf is config, with a strict pattern that doesn't allow
'&', quotes or pipes.  Yanger was populating it from podman's full,
untruncated container command -- so any container whose entrypoint
uses shell metacharacters (e.g. sh -c "... && ...") failed YANG
validation.

The symptom: every operational read of /infix-containers:containers
returns SR_ERR_INTERNAL, which in turn fails the whole get-data on
the operational datastore.  This breaks case/misc/operational_all and
any RESTCONF/NETCONF read that touches containers.

This was introduced in 59028c4 ("Fix #1466: 'show container' shows no
output"), which added the operational, pattern-less 'cmdline' leaf
but left the old 'command' assignment in place.  Drop it -- 'cmdline'
already carries the full command line, and 'command' belongs to
running config.

Note: the failure can look intermittent across test runs because
podman storage is persistent.  It only triggers once a container with
a bad-pattern command ends up in 'podman ps -a', including stale or
exited leftovers from earlier runs.

Signed-off-by: Richard Alpe <richard@bit42.se>
2026-05-19 19:49:29 +02:00
Mattias Walström 02a5079c6a doc: Changelog: Update with channel-width and the Acer Connect Vero W6m 2026-05-19 15:51:20 +02:00
Mattias Walström f39e62fdb1 feature-wifi: Only install files in romfs if enabled
Move from board romfs directory, to inside feature-wifi
2026-05-19 15:51:20 +02:00
Mattias Walström 87c2d3fc77 CI: Refactor build-image workflow
Reduce the number of duplication and try to simplify the flow.
2026-05-19 13:45:25 +02:00
Mattias WalströmandGitHub ab3594e124 Merge pull request #1508 from kernelkit/kernel-upgrade-c22791e9-8a8a-4420-a254-a84c8b6395ae
Upgrade to kernel 6.18.32
2026-05-19 13:40:06 +02:00
ael-bot 01cb60d125 Upgrade Linux kernel to 6.18.32 2026-05-19 07:01:40 +00:00
Mattias Walström 0c35a90841 doc: wifi: Document channel-width and security mode auto 2026-05-19 06:38:32 +02:00
Mattias Walström bfbf08943b mt7986: Add Acer Connect Vero w6 2026-05-19 06:38:32 +02:00
Mattias Walström 21fd80a71d confd: wifi: Fix WiFi 6E support
Was not correct handled before, a few assumptions was made,
but did not work in reality.

* Fix correct channels for WiFi 6E
* Add missing parameters required for 6ghz to work
2026-05-18 21:52:22 +02:00
Mattias Walström 64819075d5 WiFi: Add support for setting channel width 2026-05-18 09:27:03 +02:00
Joachim WibergandGitHub 2885112da8 Merge pull request #1502 from kernelkit/upgrade-frr
Upgrade FRR to 10.5.4

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-05-18 03:06:30 +02:00
Mattias Walström 48a1df4c67 confd: yang: Put some limits on custom mac addresses
Not correct MAC address for example multicast bit set,
caused `ip` to exit with failure code, resulting in
that configuration was not applied.
2026-05-17 18:27:45 +02:00
Mattias Walström ed6171f920 Upgrade FRR to 10.5.4
Summary of Changes:

bfdd:
    - cap IPv6 echo reflection to declared length
    - account for FP offset in echo length checks
    - fix recv errno filter logic in a few places
    - tighten SBFD reflector packet sanity checks
    - gate IPv6 echo reflection on known sessions
    - tighten auth header parsing skeleton
    - validate control packet length before session lookup

bgpd:
    - Fix memleak when configuring rd
    - Validate if NHC BGPID TLV value is non-zero
    - Avoid having a dangling pointer after we free NHC attribute
    - Check if BGPID NHC TLV exists when IPv6 next-hop is link-local
    - Do not allocate NHC TLV with an extra trailer
    - migrate timers during peer_xfer_conn to fix stale route cleanup
    - honor 'no activate' for dynamic neighbors in peer-group
    - Return immediately when dynamic capability action is not valid
    - Validate BGP role capability when handling it dynamically
    - fix neighbor IP comparison for IPv6 memcmp return values
    - Don't mark nexthop as changed if a set next-hop unchanged is applied
    - Return BGP_PEER_INTERNAL when first peer's as type is set to auto
    - Update peer sort cache when remote-as auto is used and AS number changed
    - Check dynamic capability action before validating ENHE capability
    - Do not allocate stream if route-refresh capability is not received
    - Move rpki strict check to bgp_accept()
    - Fix memory leak for nhc attribute if ipv6 is link-local address
    - Fix compilation for Debian 11 when printing uint64 values
    - Return zero labels if no BOS found and it's not a withdraw label
    - Fix signed overflow in hexstr2num()
    - Check the length also when parsing ENCAP attr sub-TLVs
    - Validate prefixlen before subtracting when parsing labeled unicast NLRI
    - Reset the stream to attr_start + attribute_len when WITHDRAWN
    - Revalidate locally originated routes against RPKI changes
    - Check if prefixlen is not 0 when parsing flowspec stuff
    - Prevent len_string going negative when trying to display flowspec entries
    - fix import vrf on non existing vrf
    - fix no vrf import command
    - Free hostname for FQDN capability if the parsing goes wrong
    - Validate MP_REACH_NLRI attribute against incorrect next-hop
    - Fix dynamic FQDN capability handling
    - Check if the remaining length for subtracting TLV length is enough
    - Fix the end pointer boundaries for dynamic graceful restart capability
    - Add missing returns when parsing enhanced route-refresh
    - Return original as-path when reconciling AS versus AS4
    - Do not process route-refresh for AFI/SAFI if it's not negotiated
    - Check if we are not overusing error_data buffer when unknown cap received
    - fix NHT for explicit link-local BGP peers
    - improve packet parsing for EVPN and ENCAP/VNC
    - Prevent heap use-after-free for tunnel encapsulation attribute
    - Return 0 if AS4 capability is malformed
    - close dynamic peer socket in ttl error path
    - fix logic handling EVPN_FLAG_DEFAULT_GW
    - avoid early return in MPLSVPN NLRI processing
    - remove unneeded asserts in packet reads

eigrpd:
    - fix byte order in Hello TLV decode functions
    - Handling for malformed update packets
    - enforce minimum TLV length in Hello handler
    - reject invalid prefix mask len
    - skip unknown and ignored TLVs
    - Improve packet validation

isisd:
    - Reject SRv6 Locator TLV with Loc-Size of zero
    - consume leftover bytes after FAD sub-sub-TLV loop
    - use correct min size values for srv6 subtlvs
    - improve validation of flex-algo decoder
    - Fix missing neighbor address Sub-TLVs after link-params change
    - add unit test for remove_excess_adjs() memory leak fix
    - fix memory leak in remove_excess_adjs()
    - fix edge condition in max_lsp_count computation

ldpd:
    - improve tlv validation in several places

lib:
    - Report IPv6 MTU and not IPv4 for if_update_state_mtu6
    - disable warning in zlog.c to match master

nhrpd:
    - stop debugging auth credentials
    - fix byte-order when comparing error code in shortcut path
    - guard against zbuf_pulln NULL on truncated packets
    - require auth for all received packet types
    - harden debug packet parsing against malformed input
    - validate AFI index in extension replies

ospf6d:
    - move log call out of priv block
    - remove asserts in packet-handling paths
    - fix issues in ospf6 auth trailer code

ospfd:
    - add LSA validation in the apiserver path
    - add validation in several places before accessing

pceplib:
    - validate during of_list TLV decoding

pimd:
    - fix NOCACHE MFC resync detection log, add vrf name too
    - use upstream-owned pim pointer in register and upstream timers
    - use upstream-owned pim pointer in MSDP update paths
    - avoid JP build deref through channel OIL
    - guard RP RPF-failure mroute delete on detached OIL
    - avoid null deref in upstream delete debug path
    - guard channel OIL detach against stale pointers
    - fix crash due to double free
    - Ensure igmp message is of proper size
    - Reject pim packets with a malformed header length
    - Fix out of bounds read in AutoRP code
    - igmpv3 never checks packet length and trusts the num-sources field
    - Do not allow a register-stop message if not received from the RP
    - Prevent received msg length from being larger than buffer
    - Remove unnecessary asserts
    - When receiving a register stop ensure we have enough data to read
    - Ensure a register packet has enough space to read S,G data
    - Ensure that header has space on packet

ripngd:
    - fix data handling in several places

tests:
    - Check if route-map with set nexthop unchanged does not prevent outgoing
    - Check if mixed peer-group remote-as types can be used with auto
    - Verify neighbor addr Sub-TLVs after link-params reset
    - Expect return code being 0, not -1 when AS4 is empty or ASN is 0

vrrpd:

    - replace some asserts
    - only support ethernet in GARP code
    - limit advertised timers to 12-bits

Signed-off-by: Mattias Walström <lazzer@gmail.com>
2026-05-16 20:56:56 +02:00
Joachim WibergandGitHub 689bd64b4d Merge pull request #1504 from kernelkit/kernel-upgrade-0ff65ffb-97d3-47f9-b02a-9328148ba88b
Upgrade to kernel 6.18.31
2026-05-16 10:29:49 +02:00
ael-bot dbdf5d9b78 Upgrade Linux kernel to 6.18.31 2026-05-16 06:06:55 +00:00
Joachim WibergandGitHub f13ee49f3c Merge pull request #1503 from kernelkit/kernel-upgrade-25c8ae89-19b4-443b-8ab6-78768210e119 2026-05-15 16:38:55 +02:00
ael-bot 1b34874d3d Upgrade Linux kernel to 6.18.30 2026-05-15 05:26:08 +00:00
Joachim WibergandGitHub 081491a380 Merge pull request #1500 from kernelkit/bump-9pm
Bump 9pm submodule
2026-05-12 14:50:40 +02:00
Joachim WibergandGitHub a19684c15c Merge pull request #1501 from kernelkit/misc
Misc
2026-05-12 14:47:33 +02:00
Joachim Wiberg f3183cd911 doc: update changelog
[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-05-12 13:39:18 +02:00
Joachim Wiberg e4203b0c9e package/finit: backport stale-pidfile and death-log fixes
Backport two fixes addressing a critical failure reported by a customer:
an unclean dbus-daemon exit leaves a lingering /run/messagebus.pid, the
daemon then refuse to start, and Finit's restart loop gives up.

0001 service: clean stale pidfile after unclean daemon exit
     Drop a daemon-owned (pid:!) pidfile when it still names the
     just-reaped PID and that PID is no longer alive.

0002 service: log signal name and core dumps in death message
     "by signal: 9" -> "killed by SIGKILL", with ", core dumped"
     when applicable.  Stronger breadcrumb for sudden deaths.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-05-12 13:38:49 +02:00
Joachim Wiberg 3be640409a confd: cache progress description and reprint on final status
The \r-overwrite of an in-progress line breaks when something else
writes to stderr between conout(3) and the final call, leaving blank
"[ OK ]" lines.  Cache the description and reprint it whole, so the
final status line is robust to intervening output.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-05-12 13:38:48 +02:00
Joachim Wiberg d393a10994 confd: skip neighbor/address flush for interfaces in container netns
When an interface has been handed off to a container it lives in
another netns, so `ip neigh/addr flush dev FOO` fails on the host.
The failure aborts dagger, and since interfaces_change() runs before
containers_change() in change_cb(), the container delete path is
never reached -- the stale container keeps the interface trapped in
its netns, breaking the next reconfiguration.

Guard both the neighbor and address flush exit scripts with
`if_nametoindex(ifname)` -- true exactly when the interface is in
the host netns, false for both "in a container" and "already gone".
This replaces the pre-existing `!cni_find(ifname) && if_nametoindex(
ifname)` guard at the addr site: cni_find() added no information
for this check and would popen(container find) for nothing when the
interface had been deleted entirely.

Also harden wrap() in /usr/sbin/container so a stale setup pidfile
doesn't short-circuit Finit's stop attempt -- kill the setup PID and
still ask podman to stop the container.

Fixes #1493

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-05-12 13:38:47 +02:00
Richard Alpe 5e6183eb4f Bump 9pm submodule
Signed-off-by: Richard Alpe <richard@bit42.se>
2026-05-12 11:49:45 +02:00
Mattias WalströmandGitHub 562435fac9 Merge pull request #1499 from kernelkit/kernel-upgrade-75b15a6e-2a9a-426d-acd1-6b77c0f9df19
Upgrade to kernel 6.18.29
2026-05-11 13:03:05 +02:00
ael-bot 21c070b928 Upgrade Linux kernel to 6.18.29 2026-05-11 07:13:25 +00:00
Joachim WibergandGitHub 23da086976 Merge pull request #1492 from kernelkit/kernel-upgrade-b951c1e9-f9f0-4f1f-be17-4ff16f7bb9c6
Upgrade to kernel 6.18.27
2026-05-09 10:04:12 +02:00
ael-bot 3c0c456bba Upgrade Linux kernel to 6.18.27 2026-05-07 06:22:32 +00:00
Mattias WalströmandGitHub f539da7e99 Merge pull request #1489 from kernelkit/disable-release-tests
Temporarily disable release regression tests
v26.04.0 v26.04.0-rc3
2026-05-04 10:05:45 +02:00
Joachim Wiberg 3a6e70ba26 .github: temporarily disable release regression tests
The regression tests do not pass for some reason, could be faulty test
runner (Lifeboat) -- container and DHCP tests failing since Apr 30), so
tests are disabled until the runner is fixed.

[skip ci]

Issue #1392

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-05-04 09:33:46 +02:00
Joachim WibergandGitHub 9406fd0e04 Merge pull request #1487 from kernelkit/releng v26.04.0-rc2 2026-04-30 18:53:48 +02:00
Joachim Wiberg 52ef3e2ded .github: set INFIX_RELEASE when running release tests
Without INFIX_RELEASE, make test resolves INFIX_ARTIFACT to the
unversioned infix-x86_64, but release builds produce versioned
artifacts (infix-x86_64-v26.04.0-rc1.qcow2 etc.), causing the
test environment to fail with "No such file or directory".

[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-04-30 18:34:35 +02:00
Joachim WibergandGitHub 3d1d73543e Merge pull request #1486 from kernelkit/release-tests
Run regression tests as part of release workflow
v26.04.0-rc1
2026-04-30 16:08:51 +02:00
Tobias WaldekranzandGitHub 4c0996b52b Merge pull request #1483 from saba8814/fix/uboot-aux-env-first-var-import
fix: import first variable from auxiliary environment
2026-04-30 14:45:44 +02:00
Joachim Wiberg e49682645c .github: run regression tests as part of release workflow
Add an x86_64 regression test job to release.yml that runs after the
build and gates publishing — the release job now requires both build
and test to succeed.

Update test.yml's artifact restore step to use a glob so it handles
both the unversioned CI artifact name (infix-x86_64.tar.gz) and the
versioned release artifact name (infix-x86_64-26.04.0.tar.gz).

Fixes #1392

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-04-30 13:45:35 +02:00
Joachim WibergandGitHub a3c6ec0cd5 Merge pull request #1484 from kernelkit/releng
Release preparations
2026-04-30 13:14:04 +02:00
Joachim Wiberg 25fcfba0cb doc: update ChangeLog for v26.04.0 release
[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-04-30 11:08:02 +02:00
Joachim Wiberg 5defdfdeac doc: add section on dummy interfaces
Fixes #769

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-04-30 11:08:02 +02:00
Joachim Wiberg 624bfd927c doc: add section on static mutlicast filters
Fixes #790

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-04-30 11:08:01 +02:00
Joachim Wiberg 4d8b2e5370 confd: warn if multicast flooding is disabled
Fixes #520

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-04-30 11:08:01 +02:00