Let's try to reproduce it manually first.

Can you run
ip route add 1.2.3.4/32 via x.y.z.w dev uplink1 protocol bgp (and check
that everything is propagated in both linux and vpp)
ip route replace 1.2.3.4/32 via a.b.c.d dev external protocol bgp (and
check again)

If the "replace" code doesn't work for some reason - you'll see the
inconsistency between linux and vpp and we can decide how to debug further.
BTW what kernel do you use?


On Thu, 14 Aug 2025 at 15:24, Andre Nathan via lists.fd.io <andre=
digirati.com...@lists.fd.io> wrote:

> 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
> >
> >
> >
> >
>
>
> 
>
>

-- 
Best regards
Stanislav Zaikin
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#26271): https://lists.fd.io/g/vpp-dev/message/26271
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]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to