Hello Andre, I'd suggest upgrading to the latest stable release.
For wrong ECMP: are you sure you have different metrics in Linux? can you show the output of ip route? For stale entries: did you adjust sysctl to support big buffers for netlink socket? Do you see in lcp log messages about re-synchronization? On Tue, 5 Aug 2025 at 14:41, Andre Nathan via lists.fd.io <andre= digirati.com...@lists.fd.io> wrote: > Hello > > I have a two-router setup where one is running VPP with LCP and the > other is a regular Linux box. I took down the Linux router to reinstall > it with VPP and noticed the following issue on the VPP router. > > For context, the routers each have two BGP sessions with uplink > providers and an iBGP session with each other, for redundancy. When I > turned off the Linux router, I noticed that the routes learned via the > iBGP session remained in the VPP FIB. > > In the output below, a.b.c.d is the IP of the Linux router and x.y.z.w > is the IP of the uplink provider's router. > > # vppctl show ip fib 138.117.103.55/32 > 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, ] > 138.117.102.0/23 fib:0 index:252584 locks:2 > lcp-rt-dynamic refs:1 src-flags:added,contributing,active, > path-list:[352] locks:4258 flags:shared,popular, uPRF-list:70 len:2 > itfs:[3, 7, ] > path:[65] pl-index:352 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:[] > 5a80bd2968e03cfdfe9ec4e40800 > path:[374] pl-index:352 ip4 weight=1 pref=32 attached-nexthop: > oper-flags:resolved, > x.y.z.w uplink1 > [@0]: ipv4 via x.y.z.w uplink1: mtu:1500 next:5 flags:[] > b49691b2a989b49691b2a6200800 > > However in bird this is the available route: > > bird> show route for 138.117.103.55 > Table master4: > 138.117.102.0/23 unicast [uplink2_ipv4 2025-07-24] * (100) [AS262387i] > via k.l.m.n on uplink2 > > So in fact both routes in the VPP FIB were stale, and the correct route > wasn't installed (The uplink2 interface is not compatible with DPDK so > it's managed by Linux, but it's moved to the VPP namespace so that > forwarding works). > > I tried removing the route manually with "vppctl ip route del > 138.117.102.0/23 via a.b.c.d" but that had no effect. > > I've found this thread about LCP routes not being deleted [1] but not > much else. > > Has anyone ever seen this behavior, and is there a workaround? The > output above is just an example for a single prefix, but it seems all > routes previously learned via the iBGP session were still in the FIB, > and likely many routes from the other BGP sessions were stale too. > > My configuration files follow. I'm using VPP 24.04 on this router. > > # cat /etc/vpp/startup.conf > unix { > gid vpp > nodaemon > cli-listen /run/vpp/cli.sock > exec /etc/vpp/bootstrap.vpp > } > > api-trace { on } > api-segment { gid vpp } > socksvr { default } > > memory { > main-heap-size 2G > main-heap-page-size default-hugepage > } > > cpu { > main-core 1 > corelist-workers 3,5,7,9,11,13,15,17,19 > } > > buffers { > buffers-per-numa 128000 > default data-size 16384 > page-size default-hugepage > } > > statseg { > size 1G > page-size default-hugepage > per-node-counters off > } > > plugins { > plugin default { disable } > plugin dpdk_plugin.so { enable } > plugin linux_nl_plugin.so { enable } > plugin linux_cp_plugin.so { enable } > } > > logging { > default-log-level warn > default-syslog-log-level warn > } > > dpdk { > uio-driver vfio-pci > > dev 0000:41:00.0 { > name uplink1 > } > dev 0000:05:00.0 { > name ext0 > } > dev 0000:05:00.1 { > name ext1 > } > } > > linux-cp { > default netns vpp > lcp-sync > lcp-auto-subint > } > > # cat /etc/vpp/bootstrap.vpp > lcp create uplink1 host-if uplink1 > set interface state uplink1 up > set interface ip address uplink1 x.y.z.z/30 > set interface ip address uplink1 x:y:z::z/126 > > lcp create ext0 host-if ext0 > lcp create ext1 host-if ext1 > > create bond mode active-backup > bond add BondEthernet0 ext0 > bond add BondEthernet0 ext1 > > set interface state ext0 up > set interface state ext1 up > > lcp create BondEthernet0 host-if external > set interface state BondEthernet0 up > set interface ip address BondEthernet0 a.b.c.e/22 > set interface ip address BondEthernet0 a:b:c::e/48 > > Thanks in advance, > Andre > > [1] https://lists.fd.io/g/vpp-dev/topic/111508185 > > > > -- Best regards Stanislav Zaikin
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#26248): https://lists.fd.io/g/vpp-dev/message/26248 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] -=-=-=-=-=-=-=-=-=-=-=-