<feed xmlns='http://www.w3.org/2005/Atom'>
<title>vyos-1x.git/src/conf_mode, 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-08-03T14:16:10+00:00</updated>
<entry>
<title>Merge pull request #5356 from natali-rs1985/T8468</title>
<updated>2026-08-03T14:16:10+00:00</updated>
<author>
<name>Daniil Baturin</name>
<email>daniil@vyos.io</email>
</author>
<published>2026-08-03T14:16:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=221d4fb6c199e6803fb454c6567f9dde2e2902d1'/>
<id>urn:sha1:221d4fb6c199e6803fb454c6567f9dde2e2902d1</id>
<content type='text'>
vpp: T8468: Apply MAC address changes on VPP interfaces</content>
</entry>
<entry>
<title>vpp: T9139: Check interface not referenced by a feature before removal</title>
<updated>2026-07-29T10:52:38+00:00</updated>
<author>
<name>Nataliia Solomko</name>
<email>natalirs1985@gmail.com</email>
</author>
<published>2026-07-29T10:17:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=390e93138b32c54c6a98b98b22351052bc8c206e'/>
<id>urn:sha1:390e93138b32c54c6a98b98b22351052bc8c206e</id>
<content type='text'>
Reject deletion of a gre, ipip, vxlan or loopback interface that is still
used by a feature.
</content>
</entry>
<entry>
<title>vpp: T8468: Apply MAC address changes on VPP interfaces</title>
<updated>2026-07-29T10:45:21+00:00</updated>
<author>
<name>Nataliia Solomko</name>
<email>natalirs1985@gmail.com</email>
</author>
<published>2026-07-27T13:35:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=4839fbdc5e48aa8a32bf08ca20c4b922aa26cb32'/>
<id>urn:sha1:4839fbdc5e48aa8a32bf08ca20c4b922aa26cb32</id>
<content type='text'>
The interface config filter stripped the "mac" node, so a MAC address
configured on a VPP interface never reached the dataplane. Allow "mac"
through the filter; VPP applies it to the hardware interface via lcp-sync.
Some DPDK drivers (e.g. vmxnet3) cannot change the MAC and would fail to
bring the interface up. Reject such a change at verify time - both when
setting the MAC and when adding an interface that already has one to VPP.
</content>
</entry>
<entry>
<title>qos: T9080: only delete ingress qdisc when interface has an ingress policy</title>
<updated>2026-07-24T14:33:37+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-07-24T14:32:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=687092a753b9ccbd57ed0e8d9194052116380a58'/>
<id>urn:sha1:687092a753b9ccbd57ed0e8d9194052116380a58</id>
<content type='text'>
apply_interface() unconditionally deleted the "parent ffff:" ingress
qdisc before re-applying QoS, even for interfaces with an egress-only
policy.

Since call_dependents() had already restored an unrelated ingress
redirect/mirror qdisc on that handle just before, and only directions
present in the interface's QoS config get re-applied, the redirect
was silently lost and never recreated.
</content>
</entry>
<entry>
<title>Merge pull request #5335 from natali-rs1985/T8367</title>
<updated>2026-07-23T14:34:03+00:00</updated>
<author>
<name>Daniil Baturin</name>
<email>daniil@vyos.io</email>
</author>
<published>2026-07-23T14:34:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=b4595ff5601732610fe48ecbe8850eccb88187f5'/>
<id>urn:sha1:b4595ff5601732610fe48ecbe8850eccb88187f5</id>
<content type='text'>
vpp: T8367: Fix identical default MAC on bridged loopback interfaces</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>Merge pull request #5324 from tjjh89017/frr-exporter-collectors</title>
<updated>2026-07-20T15:05:37+00:00</updated>
<author>
<name>Viacheslav Hletenko</name>
<email>v.gletenko@vyos.io</email>
</author>
<published>2026-07-20T15:05:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=69039b47017bc0187e3305759278fc42d62d3743'/>
<id>urn:sha1:69039b47017bc0187e3305759278fc42d62d3743</id>
<content type='text'>
T9073: frr-exporter: add CLI support for optional collectors and collector options</content>
</entry>
<entry>
<title>Merge pull request #5336 from c-po/fix-wifi-race</title>
<updated>2026-07-20T11:55:10+00:00</updated>
<author>
<name>Daniil Baturin</name>
<email>daniil@vyos.io</email>
</author>
<published>2026-07-20T11:55:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=029620220f0904772ebad2ccc641d0e1e523b38d'/>
<id>urn:sha1:029620220f0904772ebad2ccc641d0e1e523b38d</id>
<content type='text'>
wireless: T9104: fix CLI/OS race on interface removal</content>
</entry>
<entry>
<title>vpp: T8367: Fix identical default MAC on bridged loopback interfaces</title>
<updated>2026-07-20T09:02:54+00:00</updated>
<author>
<name>Nataliia Solomko</name>
<email>natalirs1985@gmail.com</email>
</author>
<published>2026-07-16T12:16:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=e72de7eb3e4a6ef67a6836367f43ef363bf77e40'/>
<id>urn:sha1:e72de7eb3e4a6ef67a6836367f43ef363bf77e40</id>
<content type='text'>
VPP assigns loopback interfaces a default MAC address derived only from
the interface instance number (de:ad:00:00:00:&lt;instance&gt;), with no
host-specific entropy. Two independent VPP nodes configuring the same
loopback instance (e.g. as a bridge BVI over VXLAN) therefore end up with
an identical MAC address.
When that MAC arrives from a peer over the shared L2 segment, VPP's L2
learning logic rejects it as a `mac move violation` - it's statically
pinned to the local BVI and cannot legitimately appear on another port.
This silently drops ARP traffic between the loopbacks while ordinary
bridged client traffic (unique MACs) is unaffected, breaking
loopback-to-loopback connectivity.
Add a mac-address option to the VPP loopback interface, and fall back to
a deterministic, host-unique MAC (derived from host UUID/hostname, same
scheme already used for container interfaces) whenever none is
configured, so the collision can no longer occur by default.
Also fix a related bug found while reproducing the above: a loopback is
fully deleted and recreated in VPP on every apply, receiving a new
`sw_if_index` each time. The loopback conf_mode script never registered
the bridge it's a BVI member of as a dependent, so the bridge kept its
L2 membership bound to the stale, deleted index instead of reattaching
the current one. Register the bridge dependency and reuse the existing
`verify_vpp_remove_bridge_interface()` check to block deleting a
loopback still in use as a BVI.
</content>
</entry>
<entry>
<title>wireless: T9104: fix CLI/OS race on interface removal</title>
<updated>2026-07-19T18:57:59+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-07-19T18:57:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=ba396133c4342068881d3e98c71a7dd9e6afd75b'/>
<id>urn:sha1:ba396133c4342068881d3e98c71a7dd9e6afd75b</id>
<content type='text'>
A classical race condition detected depending on host system CPU load while
executing smoketests.

Removal of the Wireless/Wifi interfaces can cause a KeyError.

  Traceback (most recent call last):
    File "/usr/libexec/vyos/conf_mode/interfaces_wireless.py", line 414, in &lt;module&gt;
      apply(c)
    File "/usr/libexec/vyos/conf_mode/interfaces_wireless.py", line 325, in apply
      WiFiIf(**wifi).remove()
      ^^^^^^^^^^^^^^
    File "/usr/lib/python3/dist-packages/vyos/ifconfig/interface.py", line 358, in __init__
      self._create()
    File "/usr/lib/python3/dist-packages/vyos/ifconfig/wireless.py", line 33, in _create
      cmd = ['iw', 'phy', self.config['physical_device'], 'interface', 'add',
                         ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  KeyError: 'physical_device'

In src/conf_mode/interfaces_wireless.py:apply(), the delete path
unconditionally does WiFiIf(**wifi).remove(). Since the wifi dict for a
deleted node never contains physical_device, and Interface.__init__ calls
self._create() whenever the kernel interface doesn't already exist,
WiFiIf._create() crashes with KeyError: 'physical_device' when the interface
never actually got created (or already vanished) before deletion.
</content>
</entry>
</feed>
