<feed xmlns='http://www.w3.org/2005/Atom'>
<title>vyos-1x.git/src/services, branch fix/T8955-http-api-verify-tls</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=fix%2FT8955-http-api-verify-tls</id>
<link rel='self' href='https://git.amelek.net/vyos/vyos-1x.git/atom?h=fix%2FT8955-http-api-verify-tls'/>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/'/>
<updated>2026-05-28T13:31:26+00:00</updated>
<entry>
<title>T8502: add server support for config-sync excluded paths</title>
<updated>2026-05-28T13:31:26+00:00</updated>
<author>
<name>John Estabrook</name>
<email>jestabro@vyos.io</email>
</author>
<published>2026-05-04T19:34:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=9b6e4c75c8a362afa82c711a4254f38e8986662a'/>
<id>urn:sha1:9b6e4c75c8a362afa82c711a4254f38e8986662a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>vyos-netlinkd: T8781: try IPRoute.bind() RTNL subscription first (#5207)</title>
<updated>2026-05-18T15:34:47+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-05-18T15:34:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=51ab39e51bb925307c0f9ad1d905d450ceecc0f5'/>
<id>urn:sha1:51ab39e51bb925307c0f9ad1d905d450ceecc0f5</id>
<content type='text'>
Not all pyroute2 versions which ship IPRoute() support subscribing to RTNL
multicast groups. If subscribing fails, fallback to all messages.</content>
</entry>
<entry>
<title>vyos-netlinkd: T8781: use faster commit_in_progress2 with order O(1)</title>
<updated>2026-05-15T17:46:50+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-05-15T17:44:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=abd22ba6c3852fbf1002204a416b9de83e405caa'/>
<id>urn:sha1:abd22ba6c3852fbf1002204a416b9de83e405caa</id>
<content type='text'>
Move to the re-implementation of the commit in progress check added in
commit 002d45b70efd ("vyos.commit: T8781: move from O(n) to O(1) for
commit_in_progress() checks").
</content>
</entry>
<entry>
<title>vyos-netlinkd: T8781: do not call commit_in_progress() for EVERY netlink message (#5199)</title>
<updated>2026-05-15T14:24:47+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-05-15T14:24:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=08542c03c0d1ab2c114966f6fbd4c2b7c3a45b4a'/>
<id>urn:sha1:08542c03c0d1ab2c114966f6fbd4c2b7c3a45b4a</id>
<content type='text'>
* vyos-netlinkd: T8781: do not call commit_in_progress() for EVERY netlink message

Signed-off-by: Fabrizzio Petrucci &lt;fabrizziopm@compumundohipermegared.one&gt;

* vyos-netlinkd: T8781: restrict netlink subscription to link multicast group

Bind IPRoute with RTMGRP_LINK only so route/rule/neighbour/address updates
(e.g. full-table BGP) are not delivered to this socket.

Add a match wildcard so unexpected message types do not raise MatchError and
get logged as generic errors.

---------

Signed-off-by: Fabrizzio Petrucci &lt;fabrizziopm@compumundohipermegared.one&gt;
Co-authored-by: Fabrizzio Petrucci &lt;fabrizziopm@compumundohipermegared.one&gt;</content>
</entry>
<entry>
<title>T8831: smoketests: irregular PermissionError caused by systemctl stop</title>
<updated>2026-05-14T06:13:52+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-05-08T21:46:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=6df7ca2f61ce1aa8352e8dbb1fc6e9c5d6d42937'/>
<id>urn:sha1:6df7ca2f61ce1aa8352e8dbb1fc6e9c5d6d42937</id>
<content type='text'>
Failures appear during PPPoEIf.remove() -&gt; flush_addrs() -&gt; set_dhcpv6(False),
where disable uses self._cmd(f'systemctl stop ...'), which raises on any
non-zero exit code of cmd().

PermissionError: [Errno 1] is misleading: cmd() raises OSError(exit_code,
feedback); exit code 1 maps to PermissionError in Python 3, so logs point at
"permissions" while the real signal is systemctl stop returned 1 (job failure,
timeout, restart contention with Restart=always on dhcp6c@.service.

Add a small systemd teardown helper stop_systemd_unit() validating the return
codes from the "systemctl stop" calls.
</content>
</entry>
<entry>
<title>vyos-netlinkd: T8486: fix high-cpu utilisation due to excessive CLI calls</title>
<updated>2026-04-12T07:03:25+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-04-12T07:01:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=4af2579d8a6f73f4fc61c0d30d09695f07bf6940'/>
<id>urn:sha1:4af2579d8a6f73f4fc61c0d30d09695f07bf6940</id>
<content type='text'>
strace: Process 16362 attached
[pid 16362] execve("/bin/cli-shell-api", ["/bin/cli-shell-api", "--show-active-only", "showConfig", "interfaces"], ...) = 0
[pid 16362] +++ exited with 0 +++
--- SIGCHLD ...

strace: Process 16363 attached
[pid 16363] execve("/bin/cli-shell-api", ["/bin/cli-shell-api", "--show-active-only", "showConfig", "interfaces"], ...) = 0
[pid 16363] +++ exited with 0 +++
--- SIGCHLD ...

This would appear to be due to vyos-netlinkd calling op_mode_config_dict() more
than is necessary: it can be called only when it may be applicable (this patch).

Co-Authored-by: John Estabrook &lt;jestabro@vyos.io&gt;
</content>
</entry>
<entry>
<title>Merge pull request #4872 from c-po/vyos-netlinkd</title>
<updated>2026-04-02T14:31:46+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-04-02T14:31:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=c6ec6ade63a48a7e6a2ec5378c863d6d3b5bd000'/>
<id>urn:sha1:c6ec6ade63a48a7e6a2ec5378c863d6d3b5bd000</id>
<content type='text'>
vyos-netlinkd: T8047: replacement of netplugd</content>
</entry>
<entry>
<title>T8410: Fix typos and mistakes for comments and messages</title>
<updated>2026-03-27T15:00:17+00:00</updated>
<author>
<name>Viacheslav Hletenko</name>
<email>v.gletenko@vyos.io</email>
</author>
<published>2026-03-27T14:43:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=139b0841f8242a5c6ebdafb37380c1fb78342aae'/>
<id>urn:sha1:139b0841f8242a5c6ebdafb37380c1fb78342aae</id>
<content type='text'>
Fix typos and mistakes
No functional changes
</content>
</entry>
<entry>
<title>T8410: Fix typos and mistakes for operational and configuration commands</title>
<updated>2026-03-24T17:02:56+00:00</updated>
<author>
<name>Viacheslav Hletenko</name>
<email>v.gletenko@vyos.io</email>
</author>
<published>2026-03-20T16:41:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=bb2aee1e58c1cd30087b935798060e6bf3c698c8'/>
<id>urn:sha1:bb2aee1e58c1cd30087b935798060e6bf3c698c8</id>
<content type='text'>
Fix typos and mistakes in the commands and comments
No functional changes
</content>
</entry>
<entry>
<title>vyos-netlinkd: T8047: replace netplugd</title>
<updated>2026-03-19T21:37:45+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2025-11-07T21:05:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=b84bdbf8dd25995aa564081632de6251ecf5ad4e'/>
<id>urn:sha1:b84bdbf8dd25995aa564081632de6251ecf5ad4e</id>
<content type='text'>
Implementing a daemon that listens for netlink messages in Python was discussed
for many years. This is a proof-of-concept implementation how we can listen for
netlink messages and process them in Python.

Python 3.10 minimum is required due to the use of case statements which mimics
C-style switch/case instructions.

Add example:

 set interfaces ethernet eth1 vif 21 address dhcp
 set interfaces ethernet eth1 vif 21 address dhcpv6
 commit

If network cable is unplugged:

  vyos-netlinkd[12681]: RTM_NEWLINK -&gt; eth3.10, state=DOWN, mac=00:50:56:b3:9d:8e
  vyos-netlinkd[12681]: Stopping dhclient@eth3.10.service...
  vyos-netlinkd[12681]: Stopping dhcp6c@eth3.10.service...

If cable is plugged back in:

  vyos-netlinkd[12681]: RTM_NEWLINK -&gt; eth3.10, state=DOWN, mac=00:50:56:b3:9d:8e
  vyos-netlinkd[12681]: RTM_NEWLINK -&gt; eth3.10, state=UP, mac=00:50:56:b3:9d:8e
  vyos-netlinkd[12681]: Restarting dhclient@eth3.10.service...
  vyos-netlinkd[12681]: Restarting dhcp6c@eth3.10.service...
</content>
</entry>
</feed>
