]> git.puffer.fish Git - matthieu/frr.git/commit
zebra: fix broken evpn
authoranlan_cs <vic.lan@pica8.com>
Tue, 6 Sep 2022 05:34:11 +0000 (01:34 -0400)
committeranlan_cs <vic.lan@pica8.com>
Thu, 8 Sep 2022 10:27:01 +0000 (06:27 -0400)
commitf09428e472512eaec2641524f30934a0b6a3012e
tree481d32f24a017f8b9ffab2f01d3061b29816d844
parent340ed5f9e20871bd8ae391cb06432138e1fa11b7
zebra: fix broken evpn

To resolve link dependencies of unordered interfaces, the commit
`520ebf72b27c2462ce8b0dc5a1d4cb83956df69c` has separated assignment of
`zif->link_ifindex` and `zif->link` from `netlink_interface()` during startup.
The fixup stage of `zebra_if_update_all_links()` goes into the last of
`interface_lookup_netlink()`, it can't be executed in the case of error in
above `netlink_parse_info()`s.

`RTM_GETTUNNEL` is not supported in linux kernel until 5.18, so
`netlink_parse_info()` will throw error with the previous versions.

If two conditions are met, (it is a common case)
1. Interfaces are created before frr restart/start
2. Linux kernel version < 5.18

the link dependencies will not be done, then evpn feature will be broken.
IMO we should just ignore this error.

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