Re: [vpp-dev] VPP LCP Route Not Reflecting After Interface State Change

2023-03-26 Thread Christopher Adigun
I was not able to use *linux_cp/linux_nl* (vpp 23.02-release) because with
the same config, the interfaces are not even coming up, that is why I
switched back  to *lcpng_if_plugin and lcpng_nl_plugin*

On Sun, Mar 26, 2023 at 11:38 AM Pim van Pelt via lists.fd.io  wrote:

> Hoi,
>
> Does the same behavior happen with linux_cp_plugin and linux_nl_plugin
> enabled instead? I saw a change in linux_cp that will walk the fib and
> remove routes associated with down interfaces; and I think this is because
> FRR does not remove them while Bird does. Can you try with
> linux_cp/linux_nl please?
>
> Relevant reading:
> https://gerrit.fd.io/r/c/vpp/+/35529
> https://gerrit.fd.io/r/c/vpp/+/35530
> https://gerrit.fd.io/r/c/vpp/+/35531
>
> groet,
> Pim
>
> On Sun, Mar 26, 2023 at 5:33 PM Christopher Adigun 
> wrote:
>
>>
>> *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  [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  nhid 22 proto ospf metric 20
>> nexthop via 192.168.100.2 dev gre0 weight 1nexthop 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  [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>* 

Re: [vpp-dev] VPP LCP Route Not Reflecting After Interface State Change

2023-03-26 Thread Pim van Pelt via lists.fd.io
Hoi,

Does the same behavior happen with linux_cp_plugin and linux_nl_plugin
enabled instead? I saw a change in linux_cp that will walk the fib and
remove routes associated with down interfaces; and I think this is because
FRR does not remove them while Bird does. Can you try with
linux_cp/linux_nl please?

Relevant reading:
https://gerrit.fd.io/r/c/vpp/+/35529
https://gerrit.fd.io/r/c/vpp/+/35530
https://gerrit.fd.io/r/c/vpp/+/35531

groet,
Pim

On Sun, Mar 26, 2023 at 5:33 PM Christopher Adigun 
wrote:

>
> *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  [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  nhid 22 proto ospf metric 20
> nexthop via 192.168.100.2 dev gre0 weight 1nexthop 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  [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:/#
> 

[vpp-dev] VPP LCP Route Not Reflecting After Interface State Change

2023-03-26 Thread Christopher Adigun
*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  [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  nhid 22 proto ospf metric 20
nexthop via 192.168.100.2 dev gre0 weight 1nexthop 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  [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  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