<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
Hoi,<br>
<br>
<div class="moz-cite-prefix">On 10.03.2026 15:23, Pim van Pelt via
Bird-users wrote:<br>
</div>
<blockquote type="cite"
cite="mid:8b3e9ab5-c8c1-44a2-9abc-c2de658142aa@ipng.ch">However,
the issue that only one such IMET makes it from evpntab to etab
remains, I would expect three for each VNI.
</blockquote>
In evpn_receive_imet(), struct rte_src *s =
rt_get_source(&p->p, <b>rd_to_u64(n0->rd)</b>); which
makes all IMET routes share the same rte_src (for these routes in
VNI 20040, the RD is a constant 8298:200), so all three remote IMETs
for ::1 ::2 and ::3 will get the same value of s. Is that
intentional?<br>
<br>
The way I understand it, each call to rte_update2() overwrites the
previous (net, rte_src), so the last IMET received wins, the earlier
two ones are discarded, and we end up with always one etab entry. I
don't see how<br>
<br>
One possible fix is to use the originator IP (n0->rtr) or perhaps
the BGP router-id (ref->src->proto->remote_id) as the
source key instead of the RD, so each remote IMET speaker gets its
own rte_src? Perhaps something like evpn_imet_multipath.patch [as an
example, not something I expect you to merge], which when applied
does give me the desired outcome:<br>
<br>
root@vpp0-0:~# birdc show route eth 00:00:00:00:00:00 vlan 100 table
etab<br>
BIRD 2.18+branch.oz.evpn.2adc66776d5d ready.<br>
Table etab:<br>
00:00:00:00:00:00 vlan 100 mpls 10040 unicast [evpn1 21:52:04.008] *
(80)<br>
via 2001:678:d78:200::1 on vxlan0 mpls 10040<br>
unicast [evpn1 21:52:05.449] (80)<br>
via 2001:678:d78:200::2 on vxlan0 mpls 10040<br>
unicast [evpn1 21:52:11.849] (80)<br>
via 2001:678:d78:200::3 on vxlan0 mpls 10040<br>
<br>
root@vpp0-0:~# birdc show route eth 00:00:00:00:00:00 vlan 200 table
etab<br>
BIRD 2.18+branch.oz.evpn.2adc66776d5d ready.<br>
Table etab:<br>
00:00:00:00:00:00 vlan 200 mpls 20040 unicast [evpn2 21:52:04.008] *
(80)<br>
via 192.168.10.1 on vxlan0 mpls 20040<br>
unicast [evpn2 21:52:05.449] (80)<br>
via 192.168.10.2 on vxlan0 mpls 20040<br>
unicast [evpn2 21:52:11.849] (80)<br>
via 192.168.10.3 on vxlan0 mpls 20040<br>
<br>
groet,<br>
Pim
<pre class="moz-signature" cols="72">--
Pim van Pelt <a class="moz-txt-link-rfc2396E" href="mailto:pim@ipng.ch"><pim@ipng.ch></a>
PBVP1-RIPE <a class="moz-txt-link-freetext" href="https://ipng.ch/">https://ipng.ch/</a></pre>
<br>
</body>
</html>