<feed xmlns='http://www.w3.org/2005/Atom'>
<title>vyos-1x.git/smoketest/scripts, branch current</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=current</id>
<link rel='self' href='https://git.amelek.net/vyos/vyos-1x.git/atom?h=current'/>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/'/>
<updated>2026-05-28T14:39:35+00:00</updated>
<entry>
<title>Merge pull request #5109 from statio/fix/vrf-aware-port-check</title>
<updated>2026-05-28T14:39:35+00:00</updated>
<author>
<name>Daniil Baturin</name>
<email>daniil@vyos.io</email>
</author>
<published>2026-05-28T14:39:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=cd619d4c355c9158497951231b1c993f8a7d26a9'/>
<id>urn:sha1:cd619d4c355c9158497951231b1c993f8a7d26a9</id>
<content type='text'>
T8454: fix VRF-bind port availability check in service_https</content>
</entry>
<entry>
<title>Merge pull request #5169 from jestabro/exclusive-mask-config-sync</title>
<updated>2026-05-28T13:40:57+00:00</updated>
<author>
<name>John Estabrook</name>
<email>jestabro@vyos.io</email>
</author>
<published>2026-05-28T13:40:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=d4bb72161387132475e68c9186419f0384c28b32'/>
<id>urn:sha1:d4bb72161387132475e68c9186419f0384c28b32</id>
<content type='text'>
T8502: Add exclusion mask to config-sync</content>
</entry>
<entry>
<title>T8502: op-mode call needs to wait on completion of remote commit</title>
<updated>2026-05-28T13:31:26+00:00</updated>
<author>
<name>John Estabrook</name>
<email>jestabro@vyos.io</email>
</author>
<published>2026-05-18T18:28:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=1f6a55bb039a94f1096a20b2dc11c4912ce8f6ce'/>
<id>urn:sha1:1f6a55bb039a94f1096a20b2dc11c4912ce8f6ce</id>
<content type='text'>
The added calculations were just enough to introduce a race between
remote commit completion and show remote config.
</content>
</entry>
<entry>
<title>T8454: fix VRF-bind port availability check in service_https</title>
<updated>2026-05-27T20:15:40+00:00</updated>
<author>
<name>Lee Clements</name>
<email>lclements0@gmail.com</email>
</author>
<published>2026-04-03T20:46:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=18e14cf71b3597112357b58e24fbe7aa9a7d7f4c'/>
<id>urn:sha1:18e14cf71b3597112357b58e24fbe7aa9a7d7f4c</id>
<content type='text'>
When service https is configured with a listen-address on a VRF
interface, adding or changing the vrf option causes the commit to
fail with "TCP port 443 is used by another service!" even though
no conflict exists.

Root cause: check_port_availability() performs a socket.bind() in
the default network namespace. When the listen-address belongs to
a VRF interface the address is unreachable from the default
namespace, so the bind fails with OSError which is misinterpreted
as "port in use". The secondary check via is_listen_port_bind_service()
also fails because psutil cannot see sockets bound inside a VRF.

Fix: add an optional vrf parameter to check_port_availability().
When set, the test socket is bound to the VRF master device via
SO_BINDTODEVICE before the bind() call, so that the address is
resolved in the correct L3 domain. This is done in-process (no
subprocess) and works for both IPv4 and IPv6.

service_https verify() now passes the configured VRF (if any) to
check_port_availability(). Non-VRF configurations are unaffected.

Add smoke test for HTTPS with listen-address inside a VRF.

Co-authored-by: Christian Breunig &lt;christian@breunig.cc&gt;
</content>
</entry>
<entry>
<title>Merge pull request #5208 from alexandr-san4ez/T8538-current</title>
<updated>2026-05-27T19:42:01+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-05-27T19:42:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=238d835823ee94b2060454e1a270176001d46345'/>
<id>urn:sha1:238d835823ee94b2060454e1a270176001d46345</id>
<content type='text'>
snmp: T8538: Persist engineBoots counter across reboots</content>
</entry>
<entry>
<title>Merge pull request #5197 from alexandr-san4ez/T7555-current</title>
<updated>2026-05-26T14:47:15+00:00</updated>
<author>
<name>Viacheslav Hletenko</name>
<email>v.gletenko@vyos.io</email>
</author>
<published>2026-05-26T14:47:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=f333e72b999c296565fc23e79b3bf651dc85afb0'/>
<id>urn:sha1:f333e72b999c296565fc23e79b3bf651dc85afb0</id>
<content type='text'>
ipsec: T7555: Implement `ikev2-reauth` for site-to-site peers</content>
</entry>
<entry>
<title>Merge pull request #5179 from josephillips85/current</title>
<updated>2026-05-26T06:34:20+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-05-26T06:34:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=567e968f5c6ee86360151144bd8239ec2cdca12b'/>
<id>urn:sha1:567e968f5c6ee86360151144bd8239ec2cdca12b</id>
<content type='text'>
Policy: T8823: validation of GE and LE according FRR instructions</content>
</entry>
<entry>
<title>Merge pull request #5119 from AppMana/T8480</title>
<updated>2026-05-26T06:11:55+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-05-26T06:11:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=9534f4202e4430b4a58caa28603e5594178fd745'/>
<id>urn:sha1:9534f4202e4430b4a58caa28603e5594178fd745</id>
<content type='text'>
wan: T8480: add suppress_prefixlength ip rules for internal routing</content>
</entry>
<entry>
<title>snmp: T8538: Persist engineBoots counter across reboots</title>
<updated>2026-05-22T14:50:22+00:00</updated>
<author>
<name>Oleksandr Kuchmystyi</name>
<email>o.kuchmystyi@vyos.io</email>
</author>
<published>2026-05-19T09:09:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=81e8f14c5b9b322a998e6530184b07e9e9187ff5'/>
<id>urn:sha1:81e8f14c5b9b322a998e6530184b07e9e9187ff5</id>
<content type='text'>
Per RFC 3414 section 2.2 (Replay Protection), the `snmpEngineBoots`
counter must be stored in non-volatile storage and incremented on
every snmpd restart. VyOS was not persisting this value, causing
it to reset to 1 after every reboot.

SNMP managers cache the engineBoots value from previous sessions.
When VyOS resets the counter to 1 after reboot, managers reject
incoming SNMPv3 trap packets as "too old", producing errors such as:

```
  usm: Message too old.
  reboot count invalid
```

This change introduces `/config/snmp/engineboots.count` as a disk-backed
persist file and it uses to sync the counter into snmpd's conf
before the daemon starts.
</content>
</entry>
<entry>
<title>T8910: ipoe-server: expose accel-ppp idle-timeout option</title>
<updated>2026-05-22T10:54:18+00:00</updated>
<author>
<name>Alex Kudentsov</name>
<email>43482574+alexk37@users.noreply.github.com</email>
</author>
<published>2026-05-22T06:50:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=ce401c3f099a92c49ee8a0344ac80e113e19883e'/>
<id>urn:sha1:ce401c3f099a92c49ee8a0344ac80e113e19883e</id>
<content type='text'>
Add a CLI knob to terminate idle IPoE sessions after a configurable
timeout:

  set service ipoe-server idle-timeout &lt;0-86400&gt;

Today there is no way to age out stale IPoE sessions: clients that go
silent (powered off, link down) leave a session record on the router
indefinitely. accel-ppp natively supports idle-timeout in its [ipoe]
section but VyOS did not expose it.

The option is added as a shared accel-ppp include so it can be reused
by other accel-ppp services in follow-up PRs.
</content>
</entry>
</feed>
