FRRouting / frr

The FRRouting Protocol Suite
https://frrouting.org/
Other
3.35k stars 1.25k forks source link

Can't setup nexthop resilient #16489

Closed k0ste closed 3 months ago

k0ste commented 3 months ago

Description

Was try to setup resilient nexthoup-group (see #12188). Group was added to kernel, but resilient options seems ignored

Version

FRRouting 10.0.1 (example.com) on Linux(6.7.2-arch1-1).
Copyright 1996-2005 Kunihiro Ishiguro, et al.
configured with:
    '--prefix=/usr' '--sbindir=/usr/bin' '--sysconfdir=/etc' '--localstatedir=/run' '--with-libpam' '--enable-snmp=agentx' '--enable-multipath=256' '--enable-user=frr' '--enable-group=frr' '--enable-vty-group=frrvty' '--enable-configfile-mask=0640' '--enable-logfile-mask=0640' '--enable-pcre2posix' '--enable-shell-access' '--enable-rpki' '--enable-fpm'

How to reproduce

nexthop-group resilence
 resilient buckets 32 idle-timer 100 unbalanced-timer 100
 nexthop 172.16.240.1
 nexthop 172.16.241.2
exit

Expected behavior

nexthop-group installed with resilient buckets

Actual behavior

host# sh nexthop-group rib 174
ID: 174 (zebra)
     RefCnt: 1
     Uptime: 00:40:28
     VRF: default
     Valid, Installed
     Depends: (170) (175)
           via 172.16.240.1, vlan444 (vrf default), weight 1
           via 172.16.241.2, vlan445 (vrf default), weight 1

Additional context

[root@host /]$ ip nexthop
id 2 dev vlan444 scope host proto zebra
id 4 dev vlan445 scope host proto zebra
id 6 dev vlan2048 scope host proto zebra
id 8 dev vlan444 scope link proto zebra
id 21 blackhole proto zebra
id 152 dev ppp0 scope host proto zebra
id 153 dev ppp0 scope host proto zebra
id 156 via 100.82.0.1 dev ppp0 scope link proto zebra
id 170 via 172.16.240.1 dev vlan444 scope link proto zebra
id 174 group 170/175 proto zebra
id 175 via 172.16.241.2 dev vlan445 scope link proto zebra

Checklist

donaldsharp commented 3 months ago
id 181818177 group 270/284/285 proto 194 
id 181818178 group 269/270 type resilient buckets 64 idle_timer 1280 unbalanced_timer 2560 unbalanced_time 0 proto 194 
root@r1:/tmp/topotests/all_protocol_startup.test_all_protocol_startup/r1# vtysh -c "show nexthop-group rib 181818178"
ID: 181818178 (sharp)
     RefCnt: 1
     Uptime: 00:00:31
     VRF: default
     Valid, Installed
     Depends: (269) (270)
           via 1.1.1.1, r1-eth1 (vrf default) onlink, weight 1
           via 1.1.1.2, r1-eth2 (vrf default) onlink, weight 1
     Buckets: 64 Idle Timer: 128 Unbalanced Timer: 256 Unbalanced time: 0
root@r1:/tmp/topotests/all_protocol_startup.test_all_protocol_startup/r1# 

It's working for me locally. I would guess that your kernel version is less than 5.19, correct?

donaldsharp commented 3 months ago

https://docs.frrouting.org/en/latest/nexthop_groups.html#clicmd-resilient-buckets-1-256-idle-timer-1-4294967295-unbalanced-timer-1-4294967295

donaldsharp commented 3 months ago

Additionally are you running sharpd?

k0ste commented 3 months ago

I would guess that your kernel version is less than 5.19, correct?

Kernel 6.7.2

Additionally are you running sharpd?

AFAIK, sharpd is a daemon for a developer testing purposes, so No

host# show daemons
 mgmtd zebra watchfrr pbrd staticd
donaldsharp commented 3 months ago

I would try running sharpd to get this to work

k0ste commented 3 months ago

I would try running sharpd to get this to work

I should try? Or this daemon is required to work? If so, please say so explicitly, as there is no documentation about this. Right now it looks like it only works with the test daemon

k0ste commented 3 months ago

I was try to enable sharpd in daemons: daemon binary not installed

Jul 31 19:53:40 example.com systemd[1]: Starting FRRouting...
Jul 31 19:53:40 example.com frrinit.sh[916180]: cannot start sharpd: daemon binary not installed
Jul 31 19:53:40 example.com frrinit.sh[916180]: Starting watchfrr with command: '  /usr/bin/watchfrr  -d  -F traditional   zebra mgmtd pbrd staticd'

This means, the binary is not included to frr packages

Donald, please reopen this issue