<div dir="ltr"><div dir="ltr"><div>Holy cow, it works in bird3. I tried with 50k routes. Thanks Maria.</div><div><br></div><div>QQ, how are you sending millions of routes? populate the static protocol in the conf file with those routes and let bgp export those? Just checking to see if there are other ways to pump these routes other than generating a conf file with them already present.</div><div><br></div><div>Neighbor        V    AS    MsgRcvd    MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd<br>10.0.0.2        4 65000         84         19    11948    0    0 00:00:01 50000<br><br>Attaching to module 1 ...<br>To exit type 'exit', to abort type '$.'<br>module-1# sh hardware internal s1hal dchal l3 event-history trace | grep -i received<br>module-1#<br>module-1#<br>module-1# sh hardware internal s1hal dchal l3 event-history trace | grep -i received<br>2026-04-08T18:43:11.234661000+00:00 [M 1] [s1hal] E_DEBUG [L3:TRACE l3_route.cpp: :hal_sone_l3_route_update_internal:4468] Received route add for VRF 0x1, pfx <a href="http://50.0.196.80/32">50.0.196.80/32</a>, route_flags 0x0 src_lif 0x0(Lo: 'FALSE') ecmp_id 0x0 adj_i<br>d: 0x40000 myip 0 attr_cnt 1 mpls_ppfx 0 vrf_redir: 0<br>2026-04-08T18:43:11.234658000+00:00 [M 1] [s1hal] E_DEBUG [L3:TRACE l3_route.cpp: :hal_sone_l3_route_update_internal:4468] Received route add for VRF 0x1, pfx <a href="http://50.0.196.79/32">50.0.196.79/32</a>, route_flags 0x0 src_lif 0x0(Lo: 'FALSE') ecmp_id 0x0 adj_i<br>d: 0x40000 myip 0 attr_cnt 1 mpls_ppfx 0 vrf_redir: 0<br>2026-04-08T18:43:11.234654000+00:00 [M 1] [s1hal] E_DEBUG [L3:TRACE l3_route.cpp: :hal_sone_l3_route_update_internal:4468] Received route add for VRF 0x1, pfx <a href="http://50.0.196.78/32">50.0.196.78/32</a>, route_flags 0x0 src_lif 0x0(Lo: 'FALSE') ecmp_id 0x0 adj_i<br>d: 0x40000 myip 0 attr_cnt 1 mpls_ppfx 0 vrf_redir: 0<br>2026-04-08T18:43:11.234651000+00:00 [M 1] [s1hal] E_DEBUG [L3:TRACE l3_route.cpp: :hal_sone_l3_route_update_internal:4468] Received route add for VRF 0x1, pfx <a href="http://50.0.196.77/32">50.0.196.77/32</a>, route_flags 0x0 src_lif 0x0(Lo: 'FALSE') ecmp_id 0x0 adj_i<br>d: 0x40000 myip 0 attr_cnt 1 mpls_ppfx 0 vrf_redir: 0<br>2026-04-08T18:43:11.234648000+00:00 [M 1] [s1hal] E_DEBUG [L3:TRACE l3_route.cpp: :hal_sone_l3_route_update_internal:4468] Received route add for VRF 0x1, pfx <a href="http://50.0.196.76/32">50.0.196.76/32</a>, route_flags 0x0 src_lif 0x0(Lo: 'FALSE') ecmp_id 0x0 adj_i<br>d: 0x40000 myip 0 attr_cnt 1 mpls_ppfx 0 vrf_redir: 0<br>2026-04-08T18:43:11.234644000+00:00 [M 1] [s1hal] E_DEBUG [L3:TRACE l3_route.cpp: :hal_sone_l3_route_update_internal:4468] Received route add for VRF 0x1, pfx <a href="http://50.0.196.75/32">50.0.196.75/32</a>, route_flags 0x0 src_lif 0x0(Lo: 'FALSE') ecmp_id 0x0 adj_i<br>d: 0x40000 myip 0 attr_cnt 1 mpls_ppfx 0 vrf_redir: 0<br>2026-04-08T18:43:11.234640000+00:00 [M 1] [s1hal] E_DEBUG [L3:TRACE l3_route.cpp: :hal_sone_l3_route_update_internal:4468] Received route add for VRF 0x1, pfx <a href="http://50.0.196.74/32">50.0.196.74/32</a>, route_flags 0x0 src_lif 0x0(Lo: 'FALSE') ecmp_id 0x0 adj_i<br>d: 0x40000 myip 0 attr_cnt 1 mpls_ppfx 0 vrf_redir: 0<br>2026-04-08T18:43:11.234637000+00:00 [M 1] [s1hal] E_DEBUG [L3:TRACE l3_route.cpp: :hal_sone_l3_route_update_internal:4468] Received route add for VRF 0x1, pfx <a href="http://50.0.196.73/32">50.0.196.73/32</a>, route_flags 0x0 src_lif 0x0(Lo: 'FALSE') ecmp_id 0x0 adj_i<br>d: 0x40000 myip 0 attr_cnt 1 mpls_ppfx 0 vrf_redir: 0<br>2026-04-08T18:43:11.234633000+00:00 [M 1] [s1hal] E_DEBUG [L3:TRACE l3_route.cpp: :hal_sone_l3_route_update_internal:4468] Received route add for VRF 0x1, pfx <a href="http://50.0.196.72/32">50.0.196.72/32</a>, route_flags 0x0 src_lif 0x0(Lo: 'FALSE') ecmp_id 0x0 adj_i<br>d: 0x40000 myip 0 attr_cnt 1 mpls_ppfx 0 vrf_redir: 0<br>2026-04-08T18:43:11.234630000+00:00 [M 1] [s1hal] E_DEBUG [L3:TRACE l3_route.cpp: :hal_sone_l3_route_update_internal:4468] Received route add for VRF 0x1, pfx <a href="http://50.0.196.71/32">50.0.196.71/32</a>, route_flags 0x0 src_lif 0x0(Lo: 'FALSE') ecmp_id 0x0 adj_i<br>d: 0x40000 myip 0 attr_cnt 1 mpls_ppfx 0 vrf_redir: 0<br>2026-04-08T18:43:11.234626000+00:00 [M 1] [s1hal] E_DEBUG [L3:TRACE l3_route.cpp: :hal_sone_l3_route_update_internal:4468] Received route add for VRF 0x1, pfx <a href="http://50.0.196.70/32">50.0.196.70/32</a>, route_flags 0x0 src_lif 0x0(Lo: 'FALSE') ecmp_id 0x0 adj_i<br>d: 0x40000 myip 0 attr_cnt 1 mpls_ppfx 0 vrf_redir: 0<br>2026-04-08T18:43:11.234622000+00:00 [M 1] [s1hal] E_DEBUG [L3:TRACE l3_route.cpp: :hal_sone_l3_route_update_internal:4468] Received route add for VRF 0x1, pfx <a href="http://50.0.196.69/32">50.0.196.69/32</a>, route_flags 0x0 src_lif 0x0(Lo: 'FALSE') ecmp_id 0x0 adj_i<br>d: 0x40000 myip 0 attr_cnt 1 mpls_ppfx 0 vrf_redir: 0</div><div><br></div><div>Sincerely</div><div>Gautham</div></div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Tue, Apr 7, 2026 at 4:22 PM Maria Matejka <<a href="mailto:maria.matejka@nic.cz">maria.matejka@nic.cz</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="msg-6565430279370787688"><u></u>


  
  
  
  

<div>
<p>Hello,</p>
<p>On Tue, Apr 07, 2026 at 02:14:40PM -0700, gautham devalapalli
wrote:</p>
<blockquote>
<p>When advertising the routes from BGP to an nxos switch, we are
noticing the routes come in random order instead of sequential
order.</p>
</blockquote>
<p>That’s expected.</p>
<blockquote>
<p>Using bird 2.0.8 version.</p>
</blockquote>
<p>That’s very old.</p>
<blockquote>
<p>Is there a way to force an order of routes like how Ixia traffic
generator does this.</p>
</blockquote>
<p>There is literally no way. We may think of some hacks and quirks how
to immitate that but there is no actual guarantee, and it will work only
in very limited scenarios.</p>
<p>I expect that you wanna use this for traffic-blasting other BGP
implementations, and that is something not really expected from BIRD.
While I admit that I’m using myself a custom-modified BIRD 3 to blast
another BIRD 3 with millions of routes to measure performance, it’s not
an officially supported use-case for now.</p>
<p>We are not opposed to implementing traffic-blasting extensions into
our BGP. However, even keeping the send order is hard, and the TX
routines belong to the most complicated parts of BGP. I would expect
that there would be much more one could desire here, and all of that
carries quite some maintenance burden which only grows over time.</p>
<p>In other words, money can fix this.</p>
<p>Until then, you may try starting the static protocol disabled and
enabling it after startup, that should help. But if you wanna get
full-speed blast, you are screwed. Also, you may wanna try the same
scenario with BIRD 3, you may get, paradoxically, more stable
results.</p>
<p>Happy route-blasting! Maria</p>
<p>–<br>
Maria Matejka (she/her) | BIRD Team Leader | CZ.NIC, z.s.p.o.</p>
</div>

</div></blockquote></div>