Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

staticd does not install subtree/source specific ipv6 routes (regression since at least 7.5) #14247

Open
ardje opened this issue Aug 21, 2023 · 2 comments
Labels
triage Needs further investigation

Comments

@ardje
Copy link

ardje commented Aug 21, 2023

  • FRR VERSION 8.4, 8.5, 9 from debian as well as
  • Linux (pve container in debian bullseye and bookworm)
  • KERNEL VERSION: 5.15

Hi guys,

Got a very easy testcase that just doesn't seem to work:

rtrC# show running-config
Building configuration...

Current configuration:
!
frr version 8.4.2
frr defaults traditional
hostname rtrC
log syslog informational
no ip forwarding
no ipv6 forwarding
service integrated-vtysh-config
!
ipv6 route 2000::/3 from 2001:db8::/48 fe80::200:5eff:fe00:110 eth0 onlink
ipv6 route 4000::/4 fe80::200:5eff:fe00:110 eth0 onlink
!
end
rtrC# show ipv6 route kernel
Codes: K - kernel route, C - connected, S - static, R - RIPng,
       O - OSPFv3, I - IS-IS, B - BGP, 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/1024] via fe80::200:5eff:fe00:110, eth0, 02w6d22h
K>* 2000::/3 from 2001:db9::/48 [0/1024] via fe80::200:5eff:fe00:110, eth0, 00:08:06
rtrC# show ipv6 route static
Codes: K - kernel route, C - connected, S - static, R - RIPng,
       O - OSPFv3, I - IS-IS, B - BGP, 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

S>* 4000::/4 [1/0] via fe80::200:5eff:fe00:110, eth0 onlink, weight 1, 00:00:20

the kernel route was installed with:

root@rtrC:/etc/ssh# ip -6 ro add 2000::/3 from 2001:db9::/48 via fe80::200:5eff:fe00:110 dev eth0

So non-source-specific routes get installed by staticd, however source specific routes don't.

I tried to debug it on version 9, stracing the staticd daemon, but this is a bit over my head. I would expect it to perform netlink requests (which I can read), but then again I would assume zebra would do the netlink requests and not staticd.

@ardje ardje added the triage Needs further investigation label Aug 21, 2023
@ardje
Copy link
Author

ardje commented Aug 21, 2023

As a side note:

rtrC# show debugging
MGMT debugging status:

Zebra debugging status:
  Zebra kernel debugging is on
  Zebra kernel netlink message dumps (send) are on
  Zebra kernel netlink message dumps (recv) are on


Staticd debugging status

It's as if staticd's debug part is also broken: I miss the:

The working non source specific route ends up as nlmsg's in zebra debug.

@ardje
Copy link
Author

ardje commented Jan 31, 2024

The same problem persists with version 9.1 on debian buster in an lxc on armhf.
No problems with bird 2.
Downgraded to 7.5, same problem
Downgraded to 6.0.2, and it works.
frr/static of at least 7.5 and higher is incapable of configuring static source specific routes.
It puts them in the config file, but it essentially does nothing.

So it's a regression since at least 7.5

@ardje ardje changed the title staticd does not install subtree/source specific ipv6 routes staticd does not install subtree/source specific ipv6 routes (regression since at least 7.5) Jan 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
triage Needs further investigation
Projects
None yet
Development

No branches or pull requests

1 participant