]> git.puffer.fish Git - mirror/frr.git/commit
zebra: fix missing static routes 16373/head
authoranlan_cs <vic.lan@pica8.com>
Fri, 12 Jul 2024 09:03:03 +0000 (17:03 +0800)
committeranlan_cs <vic.lan@pica8.com>
Fri, 12 Jul 2024 14:23:42 +0000 (22:23 +0800)
commit4518d386f7683289b079708fcdb0c42ced4754d9
tree751631f72f7d950be4f0c17324a6ef98b455e03b
parentebf05b4ee18a94086a15207f14b00b05df5a5dde
zebra: fix missing static routes

Use `vtysh` with this input file:
```
ip route A nh1
ip route A nh2
ip route B nh1
ip route B nh2
```

When running "ip route B" with "nh1" and "nh2", the procedure maybe is:
1) Create the two nexthops: "nh1" and "nh2".
2) Register "nh1" with `static_zebra_nht_register()`, then the states of both
   "nh1" and "nht2" are set to "STATIC_SENT_TO_ZEBRA".
3) Register "nh2" with `static_zebra_nht_register()`, then only the routes with
   nexthop of "STATIC_START" will be sent to zebra.

So, send the routes with the nexthop of "STATIC_SENT_TO_ZEBRA" to zebra.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
staticd/static_zebra.c