<feed xmlns='http://www.w3.org/2005/Atom'>
<title>vyos-1x.git/src/validators/interface-exists, 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-08-17T16:54:14+00:00</updated>
<entry>
<title>xml: T9179: reject VRF names in interface-name constraint</title>
<updated>2026-08-17T16:54:14+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-08-11T18:32:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=a57dd68ed40ec77ba0a0fc5a2c641fe344fc0570'/>
<id>urn:sha1:a57dd68ed40ec77ba0a0fc5a2c641fe344fc0570</id>
<content type='text'>
Tab completion for source-interface and other interface leafNodes already
excludes VRF names, but the shared interface-name constraint accepted them
anyway: an existing VRF is a real net device, so it passed the file-path
existence check even though it failed the interface-name regex.

Replace the file-path validator with a new interface-exists validator that
requires the value to both exist under /sys/class/net and not be a VRF.
The regex-match fallback is unchanged, so dynamic interfaces (e.g. pppoe)
referenced before they exist still validate correctly.
</content>
</entry>
</feed>
