<feed xmlns='http://www.w3.org/2005/Atom'>
<title>vyos-1x.git/debian, branch rolling</title>
<subtitle>VyOS command definitions, scripts, and utilities (mirror of https://github.com/vyos/vyos-1x.git)
</subtitle>
<id>https://git.amelek.net/vyos/vyos-1x.git/atom?h=rolling</id>
<link rel='self' href='https://git.amelek.net/vyos/vyos-1x.git/atom?h=rolling'/>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/'/>
<updated>2026-10-11T07:43:36+00:00</updated>
<entry>
<title>debian: T9455: drop exfat-fuse in favour of in-kernel exFAT driver</title>
<updated>2026-10-11T07:43:36+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-10-11T07:43:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=e5568919ced157534e05374ae50822a4efd94517'/>
<id>urn:sha1:e5568919ced157534e05374ae50822a4efd94517</id>
<content type='text'>
The VyOS kernel ships the native exFAT driver (CONFIG_EXFAT_FS=m), so the
userspace FUSE implementation is no longer needed. The exfatprogs tools for
creating and checking filesystems are kept.

The kernel options smoketest now verifies CONFIG_EXFAT_FS is enabled.
</content>
</entry>
<entry>
<title>wwan: T9350: query ModemManager instead of the QMI control port</title>
<updated>2026-09-24T15:28:39+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-09-24T15:28:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=9c88884a67c01b4e5d74872abee41820a8f65331'/>
<id>urn:sha1:9c88884a67c01b4e5d74872abee41820a8f65331</id>
<content type='text'>
show_wwan.py drove qmicli against /dev/cdc-wdmN, which assumes the modem
exposes a QMI control port. An MBIM modem does not, so every subcommand of
"show interfaces wwan wwanN" failed on one - after waiting out a five second
transaction timeout, twice over for "signal":

  $ show interfaces wwan wwan0 signal
  Command not supported by Modem                       (10.6s)

  $ qmicli --device=/dev/cdc-wdm0 --device-open-proxy --nas-get-signal-info
  error: couldn't create client for the 'nas' service: CID allocation failed
  in the CTL client: Transaction timed out

  ports: cdc-wdm0 (mbim), ttyUSB0 (at), wwan0 (net)

ModemManager has already probed the modem and speaks whichever protocol it
exposes - QMI, MBIM or plain AT. It is a hard dependency of "interfaces wwan"
anyway, as conf_mode cannot dial without it, and it answers from its own cache
over D-Bus without touching the device:

  $ show interfaces wwan wwan0 signal
  Access technology: lte                               (0.2s)
  Signal quality:    58%
  Operator:          Telekom.de
  Registration:      home
  Packet service:    attached
  State:             connected
</content>
</entry>
<entry>
<title>openvpn: T8264: require OpenVPN 2.7</title>
<updated>2026-09-12T21:53:49+00:00</updated>
<author>
<name>Antonio Quartulli</name>
<email>antonio@mandelbit.com</email>
</author>
<published>2026-08-30T00:05:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=9dc0546338672b8c34a8845e8daedff21c307b5c'/>
<id>urn:sha1:9dc0546338672b8c34a8845e8daedff21c307b5c</id>
<content type='text'>
Only 2.7 and later can drive the in-tree "ovpn" module. Without a bound,
a mirror carrying 2.6 silently reinstates a build where "offload dco"
loads the module but nothing uses it.
</content>
</entry>
<entry>
<title>smoketest: T9014: make configtest serial console image flavor agnostic</title>
<updated>2026-09-07T16:35:55+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-09-07T14:34:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=a4ca1e5979fe9c795e1ca210dd881f611d7fef21'/>
<id>urn:sha1:a4ca1e5979fe9c795e1ca210dd881f611d7fef21</id>
<content type='text'>
The configuration tests hardcoded "system console device ttyS0 speed 115200",
which only holds for amd64, whereas arm64 images expose the UART as ttyAMA0, so
loading these configs produced a diff against the assert data and the tests
failed.

Replace the hardcoded values in all config test inputs and their assert
counterparts with the @SERIAL_DEVICE@ and @SERIAL_SPEED@ placeholders. The
vyos-1x-smoketest postinst queries the image flavor and implants the real
values once at install time, so the test runner needs no runtime patching.

Migration script 31-to-32 now derives the serial device from the flavor, too,
instead of assuming ttyS0.

This can be observed during vyos-1x package installation while building the
ISO image

Setting up vyos-1x-smoketest (999.0-14834-g16f1cf457-dirty) ...
...
I: Implanted serial console ttyS0,115200 into /usr/libexec/vyos/tests/configs
</content>
</entry>
<entry>
<title>debian: T9261: warn when byte-compilation fails instead of hiding it</title>
<updated>2026-08-30T11:43:37+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-08-30T11:43:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=a8da48e1d8a78b4ba3e543658795a194efb9ae27'/>
<id>urn:sha1:a8da48e1d8a78b4ba3e543658795a194efb9ae27</id>
<content type='text'>
The compileall call for the XML reference cache ended in '|| true', so a real
failure left no trace at all. Report it on stderr instead, and give py3compile
the same treatment so the two adjacent calls behave alike.

Deliberately not fatal. Bytecode is an optimisation: if it cannot be built the
CLI is slower but entirely correct, so aborting the installation - and with it
any image build - would be a worse outcome than a slow shell. This postinst has
no 'set -e' and contains no exit statements, so a failing command here has never
been treated as fatal; adding one now would make byte-compilation the single
exception in the file.

Note that compileall exits 0 for a missing directory and only returns nonzero on
an actual compilation error, so the warning fires on the case worth knowing
about and stays quiet otherwise.
</content>
</entry>
<entry>
<title>debian: T9261: byte-compile the Python library on install</title>
<updated>2026-08-30T11:40:44+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-08-29T09:29:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=0e8c5e02f8b17b7b7a7905ec2b3057359edd02d6'/>
<id>urn:sha1:0e8c5e02f8b17b7b7a7905ec2b3057359edd02d6</id>
<content type='text'>
The package ships 188 .py files and zero .pyc. dh_python3 runs and its py3clean
counterpart is present in the generated prerm, but the postinst half is silently
dropped: debhelper only injects autoscripts where its substitution token
appears, and debian/vyos-1x.postinst does not carry one. The package therefore
cleans up bytecode that nothing ever creates.

Call py3compile directly rather than adding the token, which would also inject
the dh_installsystemd enable/start snippets for vyos-router.service and
vyos.target and change service enablement at install time.

vyos/xml_ref/cache.py needs a second pass. It is generated by update_cache.py
from the postinst itself, so it does not exist yet when py3compile walks the
package. It is a multi-megabyte dict literal and by far the most expensive
single file in the tree to parse.

Measured on a fast build host, per interpreter start:

  vyos/xml_ref/cache.py    216.1 -&gt; 32.1 ms  (-85%)
  import vyos.ifconfig      66.8 -&gt; 29.0 ms  (-57%)
  import vyos.config        31.0 -&gt; 20.4 ms  (-34%)

Since dist-packages is writable on an installed image, a root-run script would
eventually populate __pycache__ by itself; this makes it deterministic and
covers live boot, where the overlay is tmpfs and the cost is paid every boot.
</content>
</entry>
<entry>
<title>kdump: T8868: Implement kernel crash dump support</title>
<updated>2026-08-20T13:35:07+00:00</updated>
<author>
<name>Oleksandr Kuchmystyi</name>
<email>o.kuchmystyi@vyos.io</email>
</author>
<published>2026-07-09T08:16:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=2054c3c53f8bc83733c8ef81c2cc57f4e6b27f5a'/>
<id>urn:sha1:2054c3c53f8bc83733c8ef81c2cc57f4e6b27f5a</id>
<content type='text'>
Add new CLI subtree 'system option kdump' with memory reservation and
local dump path configuration. Also add 'show system kdump' and
'show system kdump dumps' operation mode commands to get
status of the configuration and list of dumps.

Extend 'show tech-support report' and 'generate tech-support archive' with
kdump service status, active config files and the recently kernel dump file.
</content>
</entry>
<entry>
<title>Debian: T9216: drop build time dependency on python3-vici</title>
<updated>2026-08-16T06:02:20+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-08-16T05:58:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=c2d2f51c3fecb46ffee7a104945eb512c711170c'/>
<id>urn:sha1:c2d2f51c3fecb46ffee7a104945eb512c711170c</id>
<content type='text'>
python3-vici was installed from the VyOS binary repository and the build time
dependency. The sole purpose was only to satisfy the pylint runs - no more,
no less.

WWith an updated pyproject.toml, the vici import can be ignored from pylint
runs - removing a circilar dependency for the Docker image.
</content>
</entry>
<entry>
<title>container: T7736: pin aardvark-dns to the same minimum version as netavark</title>
<updated>2026-08-04T18:36:28+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-08-04T18:27:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=1373026ff54e6496ae182ede56ada5eca120fb83'/>
<id>urn:sha1:1373026ff54e6496ae182ede56ada5eca120fb83</id>
<content type='text'>
aardvark-dns ships in lockstep with netavark (both 1.14.0 on the box this
was verified against), so pin it to the same &gt;=1.14.0 minimum required for
Podman's "host_interface_name" network option to actually take effect.
</content>
</entry>
<entry>
<title>container: T7736: give container veths a deterministic host_interface_name</title>
<updated>2026-08-04T18:36:28+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-07-25T10:47:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=6d35f067d6da0a0ce270b9eb883469e0559c7c0e'/>
<id>urn:sha1:6d35f067d6da0a0ce270b9eb883469e0559c7c0e</id>
<content type='text'>
Podman's default "vethN" auto-naming for a container's host-side veth can
collide with VyOS's own "virtual-ethernet vethN" interfaces.

Bump the minimum Podman dependency to 5.8 (which supports "host_interface_name"
network connect option) and use it to name every non-macvlan container network
attachment "veth-&lt;container name&gt;" instead, eliminating the collision by
construction. Container names too long to fit are shortened to a recognizable
prefix plus a short hash of the full name; verify() rejects the rare case
where two containers still generate the same interface name.

Add "show container interface" to display the resulting name-to-container
mapping.
</content>
</entry>
</feed>
