<feed xmlns='http://www.w3.org/2005/Atom'>
<title>vyos-1x.git/smoketest/scripts/cli/test_system_ip.py, 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-04-21T04:13:21+00:00</updated>
<entry>
<title>T8534: refactor sysctl_(read|write) to accept key parts</title>
<updated>2026-04-21T04:13:21+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-04-19T20:45:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=754635c257b1860ce393cdc342c1b7ca7e65da1f'/>
<id>urn:sha1:754635c257b1860ce393cdc342c1b7ca7e65da1f</id>
<content type='text'>
Interface names can contain dots (e.g. VLAN subinterfaces like eth0.10), which
conflicts with sysctl's dot-separated key syntax.

Change sysctl_read() and sysctl_write() to take key components as a list and
normalize each component by replacing . with / before invoking sysctl. This
fixes sysctl lookups/updates for VLAN subinterfaces.

Extend the SR-TE smoketest to cover a VLAN subinterface.

Previous error raising this issue:
  vyos-configd: sysctl: cannot stat /proc/sys/net/ipv6/conf/eth0/10/seg6_enabled: No such file or directory
  vyos-configd: sysctl: cannot stat /proc/sys/net/ipv6/conf/eth0/201/seg6_enabled: No such file or directory
</content>
</entry>
<entry>
<title>T7664: ip protocol 'kernel' etc removed</title>
<updated>2026-01-12T21:17:50+00:00</updated>
<author>
<name>Kyrylo Yatsenko</name>
<email>hedrok@gmail.com</email>
</author>
<published>2025-12-28T15:21:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=2471f686979fd83bd015f124b6faa66f27b8c9ba'/>
<id>urn:sha1:2471f686979fd83bd015f124b6faa66f27b8c9ba</id>
<content type='text'>
In FRR 10.5 ip protocols

* connected
* kernel
* local
* table
* table-direct

are removed. First three in fb8e399e4f66d09780f176fbecb99168089e64eb,
table* in 7fd030504be060387694e8a2af7f19ddd7dee39d.

In `ip protocols`, `ipv6 protocols` and `vrf`  VyOS supports

* connected
* kernel
* table

Remove these from CLI, add migration scripts, update tests.
</content>
</entry>
<entry>
<title>smoketest: T7966: perform full regex match with ^ and $</title>
<updated>2025-11-07T15:41:14+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2025-11-07T15:41:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=316b31e304db92d87e63321628be21f9f4cd1387'/>
<id>urn:sha1:316b31e304db92d87e63321628be21f9f4cd1387</id>
<content type='text'>
Commit 9775bb49e ("frr: T7664: drop BASH/SED implementation in smoketest
getFRRconfig()") changed how we searched strings using a regex. In the
past we searched at the beginning of a line ^ till the end $. THis logic
was dropped in commit 9775bb49e marking some tests failing as they matched,
when they should not match.

Example: getFRRconfig('vrf red') showed output for both VRF red and red15 as
both started with "red". This has been fixed.
</content>
</entry>
<entry>
<title>T7948: always call setUp() and tearDown() base class methods</title>
<updated>2025-10-21T19:03:16+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2025-10-20T16:52:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=4995a58f998d3bdd055e49e919945bc0aa939be4'/>
<id>urn:sha1:4995a58f998d3bdd055e49e919945bc0aa939be4</id>
<content type='text'>
While working on task T7664 (FRR 10.4 upgrade), I identified the need for
additional validation and safeguards around the FRR management daemon. The
most appropriate place for this logic is in the setUp() and tearDown() methods
of the smoketest base class, VyOSUnitTestSHIM.

However, during implementation, it became apparent that test cases do not
consistently invoke the base class's setup and teardown methods. This
inconsistency complicates the process of capturing the FRR mgmtd PID at the
start of a test and verifying that it remains unchanged by the end - a key step
in detecting crashes or unexpected terminations (e.g., SIGSEGV) of the FRR
management daemon during tests.
</content>
</entry>
<entry>
<title>frr: T7664: drop BASH/SED implementation in smoketest getFRRconfig()</title>
<updated>2025-10-16T14:33:44+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2025-10-14T15:37:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=9775bb49e4d42c7bf09f4d78b404b5b39b47b11f'/>
<id>urn:sha1:9775bb49e4d42c7bf09f4d78b404b5b39b47b11f</id>
<content type='text'>
Rathern then re-inventing the wheel by outself we import the frr-reload.py
script and their read-in function of the current vtysh configuration.
</content>
</entry>
<entry>
<title>smoketest: T7858: make failfast main argument dynamic</title>
<updated>2025-09-30T15:19:06+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2025-09-22T18:49:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=2c521f1356378904e3d3a744960de68e8c5b62dc'/>
<id>urn:sha1:2c521f1356378904e3d3a744960de68e8c5b62dc</id>
<content type='text'>
When smoketest debugging is enabled (by creating the file
/tmp/vyos.smoketest.debug), all available smoketests will fail fast instead
of running to completion. This helps reduce test time when something is
broken or undergoing refactoring, as it avoids waiting for the full test suite
to finish.
</content>
</entry>
<entry>
<title>T7591: remove copyright years from source files</title>
<updated>2025-06-28T21:16:52+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2025-06-28T18:51:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=1478516ae437f19ebeb7d6ff9b83dd74f8e76758'/>
<id>urn:sha1:1478516ae437f19ebeb7d6ff9b83dd74f8e76758</id>
<content type='text'>
The legal team says years are not necessary so we can go ahead with it, since
it will simplify backporting.

Automatically removed using: git ls-files | grep -v libvyosconfig | xargs sed -i -E \
's/^# Copyright (19|20)[0-9]{2}(-[0-9]{4})? VyOS maintainers.*/# Copyright VyOS maintainers and contributors &lt;maintainers@vyos.io&gt;/g'

In addition we will error-out during "make" if someone re-adds a legacy
copyright notice
</content>
</entry>
<entry>
<title>zebra: T7349: Added importing routes from non to the kernel routing table</title>
<updated>2025-05-29T12:35:09+00:00</updated>
<author>
<name>aapostoliuk</name>
<email>108394744+aapostoliuk@users.noreply.github.com</email>
</author>
<published>2025-05-29T12:35:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=a439be2447f5f7e8be19c6f5b86f8dcc3d056385'/>
<id>urn:sha1:a439be2447f5f7e8be19c6f5b86f8dcc3d056385</id>
<content type='text'>
* zebra: T7349: Added importing routes from non to the kernel routing table

Added importing routes from non to the kernel routing table.

---------

Co-authored-by: Christian Breunig &lt;christian@breunig.cc&gt;</content>
</entry>
<entry>
<title>frr: T6746: additional improvements after 10.2 upgrade (#4259)</title>
<updated>2024-12-30T19:35:08+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2024-12-30T19:35:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=ec80c75d677608da438a9360657d9729296afc73'/>
<id>urn:sha1:ec80c75d677608da438a9360657d9729296afc73</id>
<content type='text'>
* smoketest: T6746: add substring search in getFRRconfig()

Some daemons (e.g. bgpd) have several nested substrings/sections like

router bgp 100
 address-family ipv4 unicast
 ..
 exit-address-family
exit

We can now use getFRRconfig() with the substring option to extract only
 address-family ipv4 unicast
 ..
 exit-address-family

Making config validation more granular

* frrender: T6746: only re-render FRR config if config_dict did change

* frrender: T6746: fix naming glitch isis/eigrp

* frrender: T6746: add --stdout option when running with debug flags

* smoketest: T6746: remove unneeded commit_guard time

It was an invalid workarround as the underlaying issue seems to be a race
condition in CStore.

The commit process is not finished until all pending files from
VYATTA_CHANGES_ONLY_DIR are copied to VYATTA_ACTIVE_CONFIGURATION_DIR. This is
done inside libvyatta-cfg1 and the FUSE UnionFS part. On large non-interactive
commits FUSE UnionFS might not replicate the real state in time, leading to
errors when querying the working and effective configuration.

TO BE DELETED AFTER SWITCH TO IN MEMORY CONFIG</content>
</entry>
<entry>
<title>frr: T6746: handle "system ip" and "system ipv6" with FRRender class</title>
<updated>2024-12-16T21:24:50+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2024-12-11T20:07:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=2e4725cd77a33f91e091d86d94056f43dafd153d'/>
<id>urn:sha1:2e4725cd77a33f91e091d86d94056f43dafd153d</id>
<content type='text'>
FRR 10.2 will use "[no] ip forwarding" and "[no] ipv6 forwarding" to enable or
disable IP(v6) forwarding. We no longer rely on sysctl as this was overridden
by FRR later on.

Remove code path for sysctl setting and solely rely on FRR.
</content>
</entry>
</feed>
