Hi Stanislav
Yes, I found that commit while trying to understand the issue. I've done
the test in VPP 25.06 and there was no difference in behavior, which
makes sense since I was on 24.10, which includes the replace code.
Do you know if there's any sysctl or other kind of setting which could
cause the netlink messages not to be delivered to VPP?
Best,
Andre
On 8/13/25 4:51 AM, Stanislav Zaikin via lists.fd.io wrote:
Hi Andre,
Replaces were supported a long time ago [0]. Did you have a chance to
check on newer vpp?
[0] - https://gerrit.fd.io/r/c/vpp/+/38854 <https://gerrit.fd.io/r/c/
vpp/+/38854>
On Wed, 13 Aug 2025 at 00:41, Andre Nathan via lists.fd.io <http://
lists.fd.io> <andre=digirati.com...@lists.fd.io
<mailto:digirati.com...@lists.fd.io>> wrote:
When inspecting captured netlink messages on wireshark, I noticed
that first a “route add” message is sent with flags CREATE and EXCL
with my other router as the gateway. This is the route from the iBGP
session which ends up in the VPP FIB. Then a second “route add”
message is sent with flags CREATE and REPLACE, with the uplink peer
router as the gateway. This route is not installed in the VPP FIB,
though it is in the kernel routing table, as I showed in the
previous email.
I’m not sure if LCP is simply not getting the second message or if
it gets it but doesn’t install the route due to some error.
Thanks,
Andre
> Em 11 de ago. de 2025, à(s) 16:24, Andre Nathan via lists.fd.io
<http://lists.fd.io> <andre=digirati.com...@lists.fd.io
<mailto:digirati.com...@lists.fd.io>> escreveu:
>
> Hi
>
>> On 8/8/25 3:14 PM, Matthew Smith via lists.fd.io <http://
lists.fd.io> wrote:
>> You could try adding del-dynamic-on-link-down to the linux-cp
section of your startup.conf and see if that helps.
>
> I've tried this parameter, but it didn't make a difference when
bringing the iBGP session down.
>
> Now that I'm inspecting this more closely, I've found some
strange behavior where the VPP routes don't match the ones installed
by Bird.
>
> In this case, I've started bird with the uplink BGP session
enabled, and afterwards started the iBGP session. I've noticed the
VPP FIB has ~24k routes pointing to my other router, that is,
learned via the iBGP session. This is weird because routes via the
other router should only be used in case the BGP session with the
uplink peer goes down, as they by definition have one extra hop, and
are therefore "worse".
>
> I've checked that bird is indeed selecting the uplink route as
the preferred one. One example:
>
> # birdc show route for 45.181.63.0/24 <http://45.181.63.0/24>
> BIRD 2.16.1 ready.
> Table master4:
> 45.181.63.0/24 <http://45.181.63.0/24> unicast [uplink_ipv4
17:44:31.966] * (100) [AS269170i]
> via x.y.z.w on uplink1
> unicast [ibgp_ipv4 17:44:31.609] (100) [AS269170i]
> via a.b.c.d on external
>
> The kernel route is in agreement:
>
> # ip route show 45.181.63.0/24 <http://45.181.63.0/24>
> 45.181.63.0/24 <http://45.181.63.0/24> via x.y.z.w dev uplink1
proto bird metric 32
>
> But the route in VPP is through my other router (a.b.c.d):
>
> # vppctl show ip fib 45.181.63.0/24 <http://45.181.63.0/24>
> ipv4-VRF:0, fib_index:0, flow hash:[src dst sport dport proto
flowlabel ] epoch:0 flags:none locks:[adjacency:1, default-route:1,
lcp-rt:1, ]
> 45.181.63.0/24 <http://45.181.63.0/24> fib:0 index:18181 locks:2
> lcp-rt-dynamic refs:1 src-flags:added,contributing,active,
> path-list:[77] locks:49272 flags:shared,popular, uPRF-list:69
len:1 itfs:[7, ]
> path:[103] pl-index:77 ip4 weight=1 pref=32 attached-
nexthop: oper-flags:resolved,
> a.b.c.d BondEthernet0
> [@0]: ipv4 via a.b.c.d BondEthernet0: mtu:1500 next:8 flags:
[] 12b9c288223f3cfdfe9ec4e40800
>
> forwarding: unicast-ip4-chain
> [@0]: dpo-load-balance: [proto:ip4 index:18182 buckets:1 uRPF:69
to:[0:0]]
> [0] [@5]: ipv4 via a.b.c.d BondEthernet0: mtu:1500 next:8
flags:[] 12b9c288223f3cfdfe9ec4e40800
> ipv4-VRF:180, fib_index:1, flow hash:[src dst sport dport proto
flowlabel ] epoch:0 flags:none locks:[lcp-rt:1, ]
> 0.0.0.0/0 <http://0.0.0.0/0> fib:1 index:49 locks:2
> default-route refs:1 entry-flags:drop, src-
flags:added,contributing,active,
> path-list:[66] locks:2 flags:drop, uPRF-list:62 len:0 itfs:[]
> path:[92] pl-index:66 ip4 weight=1 pref=0 special: cfg-
flags:drop,
> [@0]: dpo-drop ip4
>
> forwarding: unicast-ip4-chain
> [@0]: dpo-load-balance: [proto:ip4 index:50 buckets:1 uRPF:62
to:[0:0]]
> [0] [@0]: dpo-drop ip4
>
>
>
> I don't really know how to explain that.
>
>
>
>
>
>
--
Best regards
Stanislav Zaikin
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#26264): https://lists.fd.io/g/vpp-dev/message/26264
Mute This Topic: https://lists.fd.io/mt/114547460/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/14379924/21656/631435203/xyzzy
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-