frr icon indicating copy to clipboard operation
frr copied to clipboard

zebra doesn't lookup other table to resolve recursive nextHop

Open nobuganymor opened this issue 3 years ago • 4 comments

  • FRR VERSION n4100(config)# do show version FRRouting 7.2.1 (n4100). Copyright 1996-2005 Kunihiro Ishiguro, et al. configured with: '--build=x86_64-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--disable-silent-rules' '--libdir=${prefix}/lib/x86_64-linux-gnu' '--libexecdir=${prefix}/lib/x86_64-linux-gnu' '--disable-maintainer-mode' '--enable-exampledir=/usr/share/doc/frr/examples/' '--localstatedir=/var/run/frr' '--sbindir=/usr/lib/frr' '--sysconfdir=/etc/frr' '--with-vtysh-pager=/usr/bin/pager' '--libdir=/usr/lib/x86_64-linux-gnu/frr' '--with-moduledir=/usr/lib/x86_64-linux-gnu/frr/modules' '--disable-dependency-tracking' '--enable-systemd=yes' '--enable-rpki' '--with-libpam' '--enable-doc' '--enable-doc-html' '--enable-snmp' '--enable-fpm' '--disable-protobuf' '--disable-zeromq' '--enable-ospfapi' '--enable-bgp-vnc' '--enable-multipath=256' '--enable-user=frr' '--enable-group=frr' '--enable-vty-group=frrvty' '--enable-configfile-mask=0640' '--enable-logfile-mask=0640' 'build_alias=x86_64-linux-gnu' 'PYTHON=python3'
  • OPERATING SYSTEM VERSION ubuntu 20.04
  • KERNEL VERSION 5.4.0-96-generic

zebra only resolve recursive neextHop with main table.

To Reproduce

n4100(config)# ip route 1.1.1.1/32 192.168.195.254 table 1
n4100(config)# do show ip route table 1
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, D - SHARP,
       F - PBR, f - OpenFabric,
       > - selected route, * - FIB route, q - queued route, r - rejected route


VRF default table 1:
S>* 1.1.1.1/32 [1/0] via 192.168.195.254, ztc3qw4fhf, 00:00:15

n4100(config)# ip route 2.2.2.2/32 1.1.1.1 table 1
n4100(config)# do show ip route table 1
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, D - SHARP,
       F - PBR, f - OpenFabric,
       > - selected route, * - FIB route, q - queued route, r - rejected route


VRF default table 1:
S>* 1.1.1.1/32 [1/0] via 192.168.195.254, ztc3qw4fhf, 00:00:30

n4100(config)# ip route 1.1.1.1/32 192.168.195.254 
n4100(config)# do show ip route table 1
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, D - SHARP,
       F - PBR, f - OpenFabric,
       > - selected route, * - FIB route, q - queued route, r - rejected route


VRF default table 1:
S>* 1.1.1.1/32 [1/0] via 192.168.195.254, ztc3qw4fhf, 00:00:40
S>  2.2.2.2/32 [1/0] via 1.1.1.1 (recursive), 00:00:03
  *                    via 192.168.195.254, ztc3qw4fhf, 00:00:03

I add direct route to table 1, then recursive route to table 1. But zebra doesn't install it to kernel. Only if I add direct route to main table, it can resolve recursive nextHop and install it. Why it doesn't lookup table 1 for recursive resolving, which is the same table for both entry?

nobuganymor avatar Jan 29 '22 13:01 nobuganymor

FRR does not currently have the ability to track nexthops against a particular table. Someone would need to implement this feature

donaldsharp avatar Jan 29 '22 19:01 donaldsharp

FRR does not currently have the ability to track nexthops against a particular table. Someone would need to implement this feature

is that also means ‘bgp vpnv4 routes exporting to vrf can not resolve recursively’?

lyrh7819 avatar Mar 21 '22 16:03 lyrh7819

This issue is stale because it has been open 180 days with no activity. Comment or remove the autoclose label in order to avoid having this issue closed.

github-actions[bot] avatar Sep 18 '22 02:09 github-actions[bot]

This issue will be automatically closed in the specified period unless there is further activity.

frrbot[bot] avatar Sep 18 '22 02:09 frrbot[bot]