<feed xmlns='http://www.w3.org/2005/Atom'>
<title>vyos-1x.git/src/conf_mode/nat64.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>nat64: T8456: add constraint for translation port range</title>
<updated>2026-04-03T11:32:48+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-04-03T11:05:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=33179967cd169d52c0732e5eed1aaa93ad12ab8d'/>
<id>urn:sha1:33179967cd169d52c0732e5eed1aaa93ad12ab8d</id>
<content type='text'>
NAT64 requires dedicated transport address space for translation, similar to
exclusive port ownership during socket binding. If a local process and Jool
translation both use the same transport tuple (for example, 192.0.2.1:5000),
traffic conflicts can occur.

Jool does not prevent pool4 from overlapping with other port allocations, so
avoiding conflicts is an operator responsibility.

In addition to service ports already in use, account for Linux ephemeral
range (net.ipv4.ip_local_port_range), which defaults to 32768-60999. This
default is why, when pool4 is empty, Jool uses 61001-65535 on the node's
primary global addresses.

One can adjust the ephemeral range via sysctl, and Jools translation range via
pool4 add/remove.

vyos@vyos:~$ sysctl net.ipv4.ip_local_port_range
net.ipv4.ip_local_port_range = 32768	60999

VyOS now uses verify() in NAT64 to check that the supplied tranlation port
range does not overlap with the Kernels ephemeral port range.
</content>
</entry>
<entry>
<title>nat64: T8456: rename CLI path variables for a better fit</title>
<updated>2026-04-03T11:13:39+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-04-03T11:04:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=316c45aaaee2e646f70b6ef444a462656d31f682'/>
<id>urn:sha1:316c45aaaee2e646f70b6ef444a462656d31f682</id>
<content type='text'>
</content>
</entry>
<entry>
<title>nat64: T8456: remove no longer needed pylint control statements</title>
<updated>2026-04-03T11:13:32+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-04-03T11:02:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=bf126401747d1a7a344fec5a48f2313d3f5eb67a'/>
<id>urn:sha1:bf126401747d1a7a344fec5a48f2313d3f5eb67a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>T7645: formatting</title>
<updated>2025-07-20T23:58:26+00:00</updated>
<author>
<name>John Estabrook</name>
<email>jestabro@vyos.io</email>
</author>
<published>2025-07-20T19:56:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=30ecc2de64682522ca099bfd23c1535aebcddcd6'/>
<id>urn:sha1:30ecc2de64682522ca099bfd23c1535aebcddcd6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>T7645: fix missing import and incorrect check of is_node_changed</title>
<updated>2025-07-20T20:20:45+00:00</updated>
<author>
<name>John Estabrook</name>
<email>jestabro@vyos.io</email>
</author>
<published>2025-07-20T16:35:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=d9f12bfe584c6568239db15d23eaffbd9f5b5a5c'/>
<id>urn:sha1:d9f12bfe584c6568239db15d23eaffbd9f5b5a5c</id>
<content type='text'>
Fix errors introduced by refactoring for modprobe/rmmod jool module.
</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>nat64: T6627: call check_kmod within standard config function</title>
<updated>2024-08-02T13:13:51+00:00</updated>
<author>
<name>John Estabrook</name>
<email>jestabro@vyos.io</email>
</author>
<published>2024-08-01T16:47:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=aeb51976ea23d68d35685bdaa535042a05016185'/>
<id>urn:sha1:aeb51976ea23d68d35685bdaa535042a05016185</id>
<content type='text'>
Functions called from config scripts outside of the standard functions
get_config/verify/generate/apply will not be called when run under
configd. Move as appropriate for the general config script structure and
the specific script requirements.
</content>
</entry>
<entry>
<title>nat64: T6403: validate source prefix for RFC compliance</title>
<updated>2024-06-01T10:42:36+00:00</updated>
<author>
<name>Andrew Topp</name>
<email>andrewt@telekinetica.net</email>
</author>
<published>2024-06-01T10:42:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=3ad333fc62807f5816f826d7bc0c4c8e0ac96167'/>
<id>urn:sha1:3ad333fc62807f5816f826d7bc0c4c8e0ac96167</id>
<content type='text'>
Simplest fix is to comply with RFC6052. The code change is just masking
out the relevant bits and ensuring they're zeroed.
</content>
</entry>
<entry>
<title>T6199: drop unused Python imports</title>
<updated>2024-04-02T22:15:43+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2024-04-02T22:15:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=274b2da242acd1f1f64ff1dee471e34295137c5f'/>
<id>urn:sha1:274b2da242acd1f1f64ff1dee471e34295137c5f</id>
<content type='text'>
found using "git ls-files *.py | xargs pylint | grep W0611"
</content>
</entry>
</feed>
