Hoi, I spoke too soon, the patch _does_ work; When writing the mail below, I did not restart bird2 on all machines, so some where using the old version and only one was using the new version. With Ondrej's fix in b0ff170f, I now see the correct IMET endpoints using BGP.next_hop. However, the issue that only one such IMET makes it from evpntab to etab remains, I would expect three for each VNI. Current route.all.txt attached to see the full picture. groet, Pim On 10.03.2026 13:58, Pim van Pelt via Bird-users wrote:
Hoi,
On 05.03.2026 17:11, Ondrej Zajicek wrote:
show route eth 00:00:00:00:00:00 table etab2 I have built a fresh bird2.18+oz-evpn including your latest b0ff170f. I still see only one entry in etab, while I am expecting three. I do see three entries in evpntab.
I've attached 'show route all' and 'bird-example.conf' with the current vpp0-0 config, so you can take a look, but for me only one imet route made it to etab. root@vpp0-0:/etc/bird# birdc show route eth 00:00:00:00:00:00 vlan 100 all table etab BIRD 2.18+branch.oz.evpn.b0ff170fbc70 ready. Table etab: 00:00:00:00:00:00 vlan 100 mpls 10040 unicast [evpn1 18:23:48.761] * (80) via 2001:678:d78:200::2 on vxlan0 mpls 10040 Type: EVPN univ mpls_label: 10040 root@vpp0-0:/etc/bird# birdc show route eth 00:00:00:00:00:00 vlan 200 all table etab BIRD 2.18+branch.oz.evpn.b0ff170fbc70 ready. Table etab: 00:00:00:00:00:00 vlan 200 mpls 20040 unicast [evpn2 18:23:48.761] * (80) via 192.168.10.2 on vxlan0 mpls 20040 Type: EVPN univ mpls_label: 20040
The only clear difference I see with your output is that I'm using vid 100 and vid200 in the evpn protocol, and both evpn1 and evpn2 use the same etab.
Look at the patch:
https://gitlab.nic.cz/labs/bird/-/commit/b0ff170fbc70bfc978efe92257ca8b49dbd...
Patch does not work for me, I am expecting the VNI 20040 to be IPv4, correctly copied into the PMSI attribute, but its BGP.next_hop are IPv6 with this patch, I am expecting IPv4 BGP next hops:
evpn imet 8298:200 0 192.168.10.3 [vpp0_3 18:23:36.312 from 2001:678:d78:200::3] * (100) [i] Type: BGP univ BGP.origin: IGP BGP.as_path: BGP.next_hop: 2001:678:d78:200::3 BGP.local_pref: 100 BGP.ext_community: (rt, 8298, 20040) (generic, 0x30c0000, 0x8) BGP.pmsi_tunnel: ingress-replication 192.168.10.3 mpls 20040 evpn imet 8298:200 0 192.168.10.2 [vpp0_2 18:23:48.761 from 2001:678:d78:200::2] * (100) [i] Type: BGP univ BGP.origin: IGP BGP.as_path: BGP.next_hop: 2001:678:d78:200::2 BGP.local_pref: 100 BGP.ext_community: (rt, 8298, 20040) (generic, 0x30c0000, 0x8) BGP.pmsi_tunnel: ingress-replication 192.168.10.2 mpls 20040 evpn imet 8298:200 0 192.168.10.1 [vpp0_1 18:23:39.764 from 2001:678:d78:200::1] * (100) [i] Type: BGP univ BGP.origin: IGP BGP.as_path: BGP.next_hop: 2001:678:d78:200::1 BGP.local_pref: 100 BGP.ext_community: (rt, 8298, 20040) (generic, 0x30c0000, 0x8) BGP.pmsi_tunnel: ingress-replication 192.168.10.1 mpls 20040
(full route-table in route.all.txt)
I built at commit b0ff170fbc70bfc978efe92257ca8b49dbdbaf92 (HEAD -> oz-evpn, origin/oz-evpn)
groet, Pim
-- Pim van Pelt <pim@ipng.ch> PBVP1-RIPE https://ipng.ch/