*Hi,* *I am facing an issue with the LCP route update when a particular interface changes state (i.e. when I manually shut it down and when I bring it up).*
*Before shutting interface down, below is the state both in FRR and Linux table:* *FRR table:* ingress-node-vpp-58dcb69b5f-g9rzp:/# vtysh Hello, this is FRRouting (version 8.5_git). Copyright 1996-2005 Kunihiro Ishiguro, et al. ingress-node-vpp-58dcb69b5f-g9rzp# show ip route Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR, f - OpenFabric, > - selected route, * - FIB route, q - queued, r - rejected, b - backup t - trapped, o - offload failure K>* 0.0.0.0/0 [0/0] via 169.254.1.1, eth0, 00:29:12 C>* 10.0.0.142/32 is directly connected, eth0, 00:29:12 O 10.0.5.0/24 [110/10] is directly connected, dpdk0, weight 1, 00:29:12 C>* 10.0.5.0/24 is directly connected, dpdk0, 00:29:12 *O>* 10.0.9.0/24 <http://10.0.9.0/24> [110/40] via 192.168.100.2, gre0, weight 1, 00:24:19 * via 192.168.100.6, gre1, weight 1, 00:24:19* K>* 169.254.1.1/32 [0/0] is directly connected, eth0, 00:29:12 O 192.168.100.0/30 [110/10] is directly connected, gre0, weight 1, 00:24:31 C>* 192.168.100.0/30 is directly connected, gre0, 00:24:31 O 192.168.100.4/30 [110/10] is directly connected, gre1, weight 1, 00:24:33 C>* 192.168.100.4/30 is directly connected, gre1, 00:24:33 O>* 192.168.100.8/30 [110/20] via 192.168.100.2, gre0, weight 1, 00:24:19 O>* 192.168.100.12/30 [110/20] via 192.168.100.6, gre1, weight 1, 00:24:19 O>* 192.168.100.16/30 [110/30] via 192.168.100.2, gre0, weight 1, 00:24:19 O>* 192.168.100.20/30 [110/30] via 192.168.100.6, gre1, weight 1, 00:24:19 *Linux Table:* ingress-node-vpp-58dcb69b5f-g9rzp:/# ip r default via 169.254.1.1 dev eth0 10.0.5.0/24 dev dpdk0 proto kernel scope link src 10.0.5.16 *10.0.9.0/24 <http://10.0.9.0/24> nhid 22 proto ospf metric 20 nexthop via 192.168.100.2 dev gre0 weight 1 nexthop via 192.168.100.6 dev gre1 weight 1* 169.254.1.1 dev eth0 scope link 192.168.100.0/30 dev gre0 proto kernel scope link src 192.168.100.1 192.168.100.4/30 dev gre1 proto kernel scope link src 192.168.100.5 192.168.100.8/30 nhid 18 via 192.168.100.2 dev gre0 proto ospf metric 20 192.168.100.12/30 nhid 23 via 192.168.100.6 dev gre1 proto ospf metric 20 192.168.100.16/30 nhid 18 via 192.168.100.2 dev gre0 proto ospf metric 20 192.168.100.20/30 nhid 23 via 192.168.100.6 dev gre1 proto ospf metric 20 *When I manually shut gre0 down, it is removed from the nexthop:* ingress-node-vpp-58dcb69b5f-g9rzp:/# vtysh Hello, this is FRRouting (version 8.5_git). Copyright 1996-2005 Kunihiro Ishiguro, et al. ingress-node-vpp-58dcb69b5f-g9rzp# ingress-node-vpp-58dcb69b5f-g9rzp# ingress-node-vpp-58dcb69b5f-g9rzp# show ip route Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR, f - OpenFabric, > - selected route, * - FIB route, q - queued, r - rejected, b - backup t - trapped, o - offload failure K>* 0.0.0.0/0 [0/0] via 169.254.1.1, eth0, 00:37:00 C>* 10.0.0.142/32 is directly connected, eth0, 00:37:00 O 10.0.5.0/24 [110/10] is directly connected, dpdk0, weight 1, 00:37:00 C>* 10.0.5.0/24 is directly connected, dpdk0, 00:37:00 *O>* 10.0.9.0/24 <http://10.0.9.0/24> [110/40] via 192.168.100.6, gre1, weight 1, 00:00:06* K>* 169.254.1.1/32 [0/0] is directly connected, eth0, 00:37:00 O>* 192.168.100.0/30 [110/60] via 192.168.100.6, gre1, weight 1, 00:00:06 O 192.168.100.4/30 [110/10] is directly connected, gre1, weight 1, 00:32:21 C>* 192.168.100.4/30 is directly connected, gre1, 00:32:21 O>* 192.168.100.8/30 [110/50] via 192.168.100.6, gre1, weight 1, 00:00:06 O>* 192.168.100.12/30 [110/20] via 192.168.100.6, gre1, weight 1, 00:32:07 O>* 192.168.100.16/30 [110/40] via 192.168.100.6, gre1, weight 1, 00:00:06 O>* 192.168.100.20/30 [110/30] via 192.168.100.6, gre1, weight 1, 00:32:07 ingress-node-vpp-58dcb69b5f-g9rzp:/# ip link set dev gre0 down ingress-node-vpp-58dcb69b5f-g9rzp:/# ingress-node-vpp-58dcb69b5f-g9rzp:/# ingress-node-vpp-58dcb69b5f-g9rzp:/# ingress-node-vpp-58dcb69b5f-g9rzp:/# ip r default via 169.254.1.1 dev eth0 10.0.5.0/24 dev dpdk0 proto kernel scope link src 10.0.5.16 *10.0.9.0/24 <http://10.0.9.0/24> nhid 23 via 192.168.100.6 dev gre1 proto ospf metric 20* 169.254.1.1 dev eth0 scope link 192.168.100.0/30 nhid 23 via 192.168.100.6 dev gre1 proto ospf metric 20 192.168.100.4/30 dev gre1 proto kernel scope link src 192.168.100.5 192.168.100.8/30 nhid 23 via 192.168.100.6 dev gre1 proto ospf metric 20 192.168.100.12/30 nhid 23 via 192.168.100.6 dev gre1 proto ospf metric 20 192.168.100.16/30 nhid 23 via 192.168.100.6 dev gre1 proto ospf metric 20 192.168.100.20/30 nhid 23 via 192.168.100.6 dev gre1 proto ospf metric 20 *But when I bring it up again, FRR shows that both gre0 and gre1 are nexthops but Linux table (also in VPP fib) still shows only gre1:* ingress-node-vpp-58dcb69b5f-g9rzp:/# ip link set dev gre0 up ingress-node-vpp-58dcb69b5f-g9rzp:/# ingress-node-vpp-58dcb69b5f-g9rzp:/# ingress-node-vpp-58dcb69b5f-g9rzp:/# ingress-node-vpp-58dcb69b5f-g9rzp:/# ingress-node-vpp-58dcb69b5f-g9rzp:/# ip r default via 169.254.1.1 dev eth0 10.0.5.0/24 dev dpdk0 proto kernel scope link src 10.0.5.16 *10.0.9.0/24 <http://10.0.9.0/24> nhid 23 via 192.168.100.6 dev gre1 proto ospf metric 20* 169.254.1.1 dev eth0 scope link 192.168.100.0/30 dev gre0 proto kernel scope link src 192.168.100.1 192.168.100.4/30 dev gre1 proto kernel scope link src 192.168.100.5 192.168.100.8/30 nhid 23 via 192.168.100.6 dev gre1 proto ospf metric 20 192.168.100.12/30 nhid 23 via 192.168.100.6 dev gre1 proto ospf metric 20 192.168.100.16/30 nhid 23 via 192.168.100.6 dev gre1 proto ospf metric 20 192.168.100.20/30 nhid 23 via 192.168.100.6 dev gre1 proto ospf metric 20 ingress-node-vpp-58dcb69b5f-g9rzp:/# ingress-node-vpp-58dcb69b5f-g9rzp:/# ingress-node-vpp-58dcb69b5f-g9rzp:/# vtysh Hello, this is FRRouting (version 8.5_git). Copyright 1996-2005 Kunihiro Ishiguro, et al. ingress-node-vpp-58dcb69b5f-g9rzp# ingress-node-vpp-58dcb69b5f-g9rzp# ingress-node-vpp-58dcb69b5f-g9rzp# show ip route Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR, f - OpenFabric, > - selected route, * - FIB route, q - queued, r - rejected, b - backup t - trapped, o - offload failure K>* 0.0.0.0/0 [0/0] via 169.254.1.1, eth0, 00:34:25 C>* 10.0.0.142/32 is directly connected, eth0, 00:34:25 O 10.0.5.0/24 [110/10] is directly connected, dpdk0, weight 1, 00:34:25 C>* 10.0.5.0/24 is directly connected, dpdk0, 00:34:25 *O>* 10.0.9.0/24 <http://10.0.9.0/24> [110/40] via 192.168.100.2, gre0, weight 1, 00:00:17 * via 192.168.100.6, gre1, weight 1, 00:00:17* K>* 169.254.1.1/32 [0/0] is directly connected, eth0, 00:34:25 O 192.168.100.0/30 [110/10] is directly connected, gre0, weight 1, 00:00:24 C>* 192.168.100.0/30 is directly connected, gre0, 00:00:24 O 192.168.100.4/30 [110/10] is directly connected, gre1, weight 1, 00:29:46 C>* 192.168.100.4/30 is directly connected, gre1, 00:29:46 O>* 192.168.100.8/30 [110/20] via 192.168.100.2, gre0, weight 1, 00:00:17 O>* 192.168.100.12/30 [110/20] via 192.168.100.6, gre1, weight 1, 00:29:32 O>* 192.168.100.16/30 [110/30] via 192.168.100.2, gre0, weight 1, 00:00:17 O>* 192.168.100.20/30 [110/30] via 192.168.100.6, gre1, weight 1, 00:29:32 *startup.conf:* unix { nodaemon log /tmp/vpp.log full-coredump gid vpp interactive cli-listen /run/vpp/cli.sock exec /etc/vpp/init.conf } cpu { main-core CORE1 corelist-workers CORE2 } memory { main-heap-size 2G } api-trace { on } buffers { buffers-per-numa 128000 default data-size 2048 page-size default-hugepage } dpdk { dev 0000:00:06.0 {name dpdk0} dev 0000:00:07.0 {name dpdk1} } api-segment { gid vpp } plugins { path /usr/lib/x86_64-linux-gnu/vpp_plugins/ plugin ping_plugin.so { disable } plugin linux_cp_plugin.so { disable } plugin linux_nl_plugin.so { disable } plugin lcpng_if_plugin.so { enable } plugin lcpng_nl_plugin.so { enable } plugin dpdk_plugin.so { enable } } lcpng { lcp-sync lcp-auto-subint } logging { default-log-level info default-syslog-log-level crit class linux-cp/if { rate-limit 10000 level debug syslog-level debug } class linux-cp/nl { rate-limit 10000 level debug syslog-level debug } } *Init conf:* create gre tunnel src 10.0.6.16 dst 10.0.6.17 instance 0 create gre tunnel src 10.0.6.16 dst 10.0.6.18 instance 1 lcp create gre0 host-if gre0 tun lcp create gre1 host-if gre1 tun lcp create dpdk0 host-if dpdk0 set interface ip address gre0 192.168.100.1/30 set interface ip address gre1 192.168.100.5/30 set interface state gre0 up set interface state gre1 up set interface mtu 9001 dpdk0 set interface mtu 9001 dpdk1 set interface ip address dpdk0 10.0.5.16/24 set interface ip address dpdk1 10.0.6.16/24 set interface state dpdk0 up set interface state dpdk1 up What could be wrong? Thanks
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#22765): https://lists.fd.io/g/vpp-dev/message/22765 Mute This Topic: https://lists.fd.io/mt/97863718/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/1480452/21656/631435203/xyzzy [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-