<feed xmlns='http://www.w3.org/2005/Atom'>
<title>vyos-1x.git/smoketest/scripts/cli/test_protocols_bgp.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-06-29T15:10:13+00:00</updated>
<entry>
<title>bgp: T6573: add input/output queue limit CLI commands</title>
<updated>2026-06-29T15:10:13+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-06-25T20:10:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=1ba7fc62556ff3ef99280d876c92e38d24dc0bfc'/>
<id>urn:sha1:1ba7fc62556ff3ef99280d876c92e38d24dc0bfc</id>
<content type='text'>
Add input-queue-limit and output-queue-limit CLI nodes to expose global FRR
"bgp input-queue-limit" and "bgp output-queue-limit" commands via our CLI.

Parameters control the maximum number of queued messages for all BGP peers
during message parsing. FRR default is 10000 which we honor.

Note that this is a global option and can only be set for the global/default
BGP instance.
</content>
</entry>
<entry>
<title>bgp: T8865: Reject `vni` sub-block in VRF l2vpn-evpn when `advertise-all-vni` is globally active</title>
<updated>2026-06-26T07:28:05+00:00</updated>
<author>
<name>Oleksandr Kuchmystyi</name>
<email>o.kuchmystyi@vyos.io</email>
</author>
<published>2026-06-26T07:23:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=4e11adfb927c22e2f977c897d56a4d243860e877'/>
<id>urn:sha1:4e11adfb927c22e2f977c897d56a4d243860e877</id>
<content type='text'>
When `advertise-all-vni` is configured in the global/default BGP instance,
VyOS generated a `vni &lt;id&gt;` sub-block under each VRF BGP `address-family
l2vpn evpn` context. This conflicts with advertise-all-vni: FRR already
owns all kernel VNIs and returns `% Failed to create VNI` when frr-reload.py
attempts to apply the VRF-level vni sub-block. FRR then performs an early
exit from config processing, silently dropping the entire l2vpn evpn
address-family for all subsequent VRF BGP instances.
</content>
</entry>
<entry>
<title>Merge pull request #5272 from natali-rs1985/T5526</title>
<updated>2026-06-25T14:38:50+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-06-25T14:38:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=d4e384f69497030469d0e935d7c95f563867edc7'/>
<id>urn:sha1:d4e384f69497030469d0e935d7c95f563867edc7</id>
<content type='text'>
bgp: T5526: Fix BGP neighbor validation not raising when interface does not exist</content>
</entry>
<entry>
<title>bgp: T9013: Add BMP source-interface support</title>
<updated>2026-06-25T13:06:05+00:00</updated>
<author>
<name>Nataliia Solomko</name>
<email>natalirs1985@gmail.com</email>
</author>
<published>2026-06-24T14:10:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=a83edf1a11c86df0a1419930b31544296a7a6e6c'/>
<id>urn:sha1:a83edf1a11c86df0a1419930b31544296a7a6e6c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>bgp: T5526: Fix BGP neighbor validation not raising when interface does not exist</title>
<updated>2026-06-25T08:28:11+00:00</updated>
<author>
<name>Nataliia Solomko</name>
<email>natalirs1985@gmail.com</email>
</author>
<published>2026-06-15T11:18:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=f04dfac8772c7a1326bad4f12ec3aedea9a4d8d9'/>
<id>urn:sha1:f04dfac8772c7a1326bad4f12ec3aedea9a4d8d9</id>
<content type='text'>
Validation of interface-based BGP neighbors relied on checking physical
interface existence, which silently skipped the check when interface didn't
exist yet, letting invalid config reach FRR. Fix by checking whether the
neighbor is not an IP address instead, and improve the error messages to
show the correct command.
</content>
</entry>
<entry>
<title>T8990: bgp: fix VPNv4/VPNv6 leaked routes flapping on every commit</title>
<updated>2026-06-20T13:51:25+00:00</updated>
<author>
<name>Alex Kudentsov</name>
<email>43482574+alexk37@users.noreply.github.com</email>
</author>
<published>2026-06-20T13:38:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=23649ea9dec442795997aac3da148e3312018d75'/>
<id>urn:sha1:23649ea9dec442795997aac3da148e3312018d75</id>
<content type='text'>
VRF route leaking via VPNv4/VPNv6 caused all imported (leaked) routes to
be withdrawn and reinstalled on every commit - even commits unrelated to
BGP, VRF or routing - briefly blackholing traffic that depends on them.

Root cause: the BGP address-family template rendered the route-target
using the "route-target vpn ..." alias. FRR accepts that alias on input
but its config writer only ever emits the canonical "rt vpn ..." form.
frr-reload.py diffs the generated config against FRR's running config
line by line and has no normalisation for this, so the route-target lines
never matched and were deleted and re-added on every reload. Re-applying
the route-target runs FRR's vpn_leak_prechange()/postchange(), a
non-atomic withdraw-all then reinstall-all of every leaked route.

Emit the canonical "rt vpn" keyword so the rendered config round-trips
through frr-reload unchanged. FRR also folds an identical import+export
route-target into "both" (an order-sensitive, byte-identical match), so
do the same to stay idempotent; reordered or differing lists stay split
on both sides.

Add test_bgp_33_vpn_route_target_idempotency covering both / identical
export+import / asymmetric route-target, reading the generated FRR config
(getFRRconfig/vtysh returns FRR's already-canonical form and cannot catch
the alias).
</content>
</entry>
<entry>
<title>bgp: T8223: Prevent `advertise-all-vni` in multiple BGP VRF instances simultaneously</title>
<updated>2026-06-09T15:41:56+00:00</updated>
<author>
<name>Nataliia Solomko</name>
<email>natalirs1985@gmail.com</email>
</author>
<published>2026-05-26T15:27:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=b49e8f00560bdbd69f85539396afb6391b281519'/>
<id>urn:sha1:b49e8f00560bdbd69f85539396afb6391b281519</id>
<content type='text'>
FRR only allows one BGP instance to hold `advertise-all-vni` at a time
(FRR issue #9405). When a default BGP instance is present it is always
started before named VRF instances, so if a named VRF holds
the flag FRR silently rejects it on every boot (regardless of default
EVPN config), causing the running config to diverge from what is
stored in VyOS.
Enforce the following policy in verify():
- Default BGP instance may always hold `advertise-all-vni`.
- A named VRF may hold it only when no default BGP instance exists.
- Only one BGP instance (default or named VRF) may hold it at a time.
The default BGP verify path additionally scans dependent VRFs so that
adding or modifying the default BGP instance while a named VRF already
holds the flag is caught even when the VRF node is not part of the
current commit.
</content>
</entry>
<entry>
<title>T8822: Add BFD strict mode for BGP</title>
<updated>2026-05-21T13:26:07+00:00</updated>
<author>
<name>Viacheslav Hletenko</name>
<email>v.gletenko@vyos.io</email>
</author>
<published>2026-05-19T17:10:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=ff96f5895e87db7fc20cff9960a8cdea42c033d0'/>
<id>urn:sha1:ff96f5895e87db7fc20cff9960a8cdea42c033d0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>bgp: T8607: Add CLI support for BGP update-delay and establish-wait</title>
<updated>2026-05-11T09:24:43+00:00</updated>
<author>
<name>Nataliia Solomko</name>
<email>natalirs1985@gmail.com</email>
</author>
<published>2026-05-06T08:41:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=23a7841901d5b7e46f00c628fc1a0946197b3c5b'/>
<id>urn:sha1:23a7841901d5b7e46f00c628fc1a0946197b3c5b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>smoketest: T8457: bgp link-state address family</title>
<updated>2026-04-15T18:16:51+00:00</updated>
<author>
<name>Kyrylo Yatsenko</name>
<email>hedrok@gmail.com</email>
</author>
<published>2026-04-15T07:24:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=931de1e015efe4fd81b6673259b5430a3b678ce8'/>
<id>urn:sha1:931de1e015efe4fd81b6673259b5430a3b678ce8</id>
<content type='text'>
</content>
</entry>
</feed>
