<feed xmlns='http://www.w3.org/2005/Atom'>
<title>vyos-1x.git/src/services, branch nos-task-id</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=nos-task-id</id>
<link rel='self' href='https://git.amelek.net/vyos/vyos-1x.git/atom?h=nos-task-id'/>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/'/>
<updated>2026-07-30T03:58:13+00:00</updated>
<entry>
<title>vyos-netlinkd: T9143: seed operstate cache at startup</title>
<updated>2026-07-30T03:58:13+00:00</updated>
<author>
<name>Ariel E</name>
<email>4097513+eirriel@users.noreply.github.com</email>
</author>
<published>2026-07-30T03:58:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=0afc97c1d2f2b901bd63b90c78703203f6e29f84'/>
<id>urn:sha1:0afc97c1d2f2b901bd63b90c78703203f6e29f84</id>
<content type='text'>
The state tracker starts empty whenever vyos-netlinkd starts, so the first same-state RTM_NEWLINK UP notification is treated as a transition and unnecessarily restarts DHCP.

Seed matching interface states from the kernel link dump after binding the rtnetlink socket. This preserves real DOWN-to-UP handling while suppressing the first redundant UP notification.
</content>
</entry>
<entry>
<title>Merge pull request #5327 from BradKollmyer/T9076-remote-group-interval</title>
<updated>2026-07-23T14:28:21+00:00</updated>
<author>
<name>Daniil Baturin</name>
<email>daniil@vyos.io</email>
</author>
<published>2026-07-23T14:28:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=3668d1eec819d545ec29bd56a98e22ce4775156e'/>
<id>urn:sha1:3668d1eec819d545ec29bd56a98e22ce4775156e</id>
<content type='text'>
firewall: T9076: add per-remote-group update interval</content>
</entry>
<entry>
<title>utils: T9008: migrate remaining cmd() callers to cmdl() and remove cmd()</title>
<updated>2026-07-17T16:10:08+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-07-09T20:21:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=e0684c0c343835c7674a94424d847592511915b0'/>
<id>urn:sha1:e0684c0c343835c7674a94424d847592511915b0</id>
<content type='text'>
Complete the safer-subprocess migration started by the cmdl()/ifconfig
refactoring and convert every remaining vyos.utils.process.cmd() call site to
the list-based cmdl().

Drop the vyos.utils.process.cmd() implementation as it is no longer in use.
</content>
</entry>
<entry>
<title>firewall: T9076: add per-remote-group update interval</title>
<updated>2026-07-10T23:31:18+00:00</updated>
<author>
<name>Brad Kollmyer</name>
<email>bradk@vitalsoft.com</email>
</author>
<published>2026-07-10T21:54:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=91850ce83561cdd24f21a0dfa67d0754b0ff5e80'/>
<id>urn:sha1:91850ce83561cdd24f21a0dfa67d0754b0ff5e80</id>
<content type='text'>
Add 'set firewall group remote-group &lt;name&gt; interval &lt;value&gt;' to
control how often each remote group list is re-downloaded,
independent of the global resolver-interval that also drives
domain-group/FQDN resolution.

The value accepts plain seconds or time-unit suffixes s/m/h/d/w
(e.g. 4h), range 60 seconds to 4 weeks, enforced at commit time
after conversion. When unset, the group keeps following
'firewall global-options resolver-interval', so existing
configurations are unaffected.

vyos-domain-resolver now tracks a last-update timestamp per
remote group and sleeps until the next due update instead of a
fixed resolver-interval tick, honoring per-group intervals both
shorter and longer than the global one. A group is only stamped
as updated after a successful download; failed downloads fall
back to the cached list and are retried at the resolver cadence
rather than after the full group interval.

human_to_seconds() now treats a plain number as seconds instead
of returning 0.

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>T9068: refactor vyos-configd with config manager</title>
<updated>2026-07-09T02:27:45+00:00</updated>
<author>
<name>John Estabrook</name>
<email>jestabro@vyos.io</email>
</author>
<published>2026-07-08T21:06:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=b14a010b07de95f36e9d0d420ea7f74fa062ad39'/>
<id>urn:sha1:b14a010b07de95f36e9d0d420ea7f74fa062ad39</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge pull request #5275 from BradKollmyer/remote-T8829-head-fallback</title>
<updated>2026-07-07T13:42:21+00:00</updated>
<author>
<name>John Estabrook</name>
<email>jestabro@vyos.io</email>
</author>
<published>2026-07-07T13:42:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=e3b38a56bd24407b1f03d6e833b3b5db94fe2443'/>
<id>urn:sha1:e3b38a56bd24407b1f03d6e833b3b5db94fe2443</id>
<content type='text'>
remote: T8829: fall back to GET when HEAD is not supported</content>
</entry>
<entry>
<title>ci: T8490: fix typos in comments, strings, and local identifiers</title>
<updated>2026-06-29T12:10:10+00:00</updated>
<author>
<name>Yuriy Andamasov</name>
<email>yuriy@vyos.io</email>
</author>
<published>2026-06-29T07:28:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=094928ba02bbabf3807ebe8f5ae77b957435d288'/>
<id>urn:sha1:094928ba02bbabf3807ebe8f5ae77b957435d288</id>
<content type='text'>
Reaches a clean typos baseline for the T8490 ruleset pilot. Categories:
- Comments/docs: recursivly, taret, passsed, characted, arhive, AtrributeError;
  "ned" -&gt; "new" (migration comments).
- Messages/strings: writeable -&gt; writable (x5); OCaml log "Commandis" -&gt; "Command is".
- Local variables (all refs in-function): commited, formating, presistent;
  inpt_range -&gt; input_range; tz_datas -&gt; tz_data_raw (avoids the tz_data collision).
- Self-contained renames (definition + all references in-file): formated_stats,
  _get_formatted_output_conections -&gt; ..._connections, expension_failure -&gt;
  expansion_failure (ping + traceroute), snmpd_restart_reqired -&gt; ..._required.

False positives are allowlisted centrally (vyos/.github, separate PR), NOT changed
here: mke2fs, Maya-calendar "Mak", RFC 4122 "IDentifier" (hostapd), and VPP's
"U-Forwrd" bridge-domain column header (op_mode/vpp.py + the VPP smoketest assert
the real upstream `vppctl` output). Verified: typos clean, py_compile of every
edited .py, zero remaining old-identifier references.

🤖 Generated by [robots](https://vyos.io)
</content>
</entry>
<entry>
<title>vyos-netlink: T7965: only re-apply QoS configuration to individual interface</title>
<updated>2026-06-22T19:33:50+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-06-20T10:37:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=50ffc690fdeaaa30a9f353bc76fe87d748cc2e58'/>
<id>urn:sha1:50ffc690fdeaaa30a9f353bc76fe87d748cc2e58</id>
<content type='text'>
The previous vyos-netlinkd implementation for QoS policy re-apply was very heavy.
It conducted a full CLI validation and re-apply on every interface. Instead we
do not only re-apply the QoS configuration to the interface which has had an
address change detected by vyos-netlinkd.

This can be tested by checking "tc qdisc show" before disconnecting a PPPoE
interface and during/after reconnect. There will be no qdisc until the dynamic
interface has received an IP address - then the qdisc will be re-applied.
</content>
</entry>
<entry>
<title>remote: T8829: fall back to GET when HEAD is not supported</title>
<updated>2026-06-21T22:42:29+00:00</updated>
<author>
<name>Brad Kollmyer</name>
<email>bradk@vitalsoft.com</email>
</author>
<published>2026-06-21T22:31:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=516eccd41b75bbfd237440d919ef5292215ba30d'/>
<id>urn:sha1:516eccd41b75bbfd237440d919ef5292215ba30d</id>
<content type='text'>
HttpC.download() always probed remote URLs with HEAD before GET to
discover redirects and Content-Length. Some APIs (e.g. AbuseIPDB)
reject HEAD with 405 Method Not Allowed, causing firewall remote-group
downloads to fail and leave empty cached list files.

Treat HEAD 405/501 as unsupported and proceed with GET using the
original URL. When HEAD does not provide Content-Length, read it from
the GET response headers instead. Validate available storage after
determining file size and before opening the destination file.

Log sanitized download errors in vyos-domain-resolver when a remote-
group list-file fetch fails. Add unit tests with mock servers that
return 405 or 501 on HEAD and 200 on GET.
</content>
</entry>
<entry>
<title>vyos-netlink: T7965: re-apply QoS configuration on dynamic interfaces</title>
<updated>2026-06-20T20:56:18+00:00</updated>
<author>
<name>opswill</name>
<email>will@nixops.org</email>
</author>
<published>2026-05-27T09:19:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=2c6c98060ec2af764d4802ec58969399854eb140'/>
<id>urn:sha1:2c6c98060ec2af764d4802ec58969399854eb140</id>
<content type='text'>
Re-apply QoS after dynamic interfaces get addresses after connect/disconnect.
When PPPoE interfaces re-connect we need to re-do QoS settings.
</content>
</entry>
</feed>
