mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-05-01 23:29:38 +00:00
![]() Currently when one interface changes its VRF, zebra will send these messages to all daemons in *order*: 1) `ZEBRA_INTERFACE_DELETE` ( notify them delete from old VRF ) 2) `ZEBRA_INTERFACE_VRF_UPDATE` ( notify them move from old to new VRF ) 3) `ZEBRA_INTERFACE_ADD` ( notify them added into new VRF ) When daemons deal with `VRF_UPDATE`, they use `zebra_interface_vrf_update_read()->if_lookup_by_name()` to check the interface exist or not in old VRF. This check will always return *NULL* because `DELETE` ( deleted from old VRF ) is already done, so can't find this interface in old VRF. Send `VRF_UPDATE` is redundant and unuseful. `DELETE` and `ADD` are enough, they will deal with RB tree, so don't send this `VRF_UPDATE` message when vrf changes. Since all daemons have good mechanism to deal with changing vrf, and don't use this `VRF_UPDATE` mechanism. So, it is safe to completely remove all the code with `VRF_UPDATE`. Signed-off-by: anlan_cs <anlan_cs@tom.com> |
||
---|---|---|
.. | ||
.gitignore | ||
Makefile | ||
pbr_debug.c | ||
pbr_debug.h | ||
pbr_main.c | ||
pbr_map.c | ||
pbr_map.h | ||
pbr_memory.c | ||
pbr_memory.h | ||
pbr_nht.c | ||
pbr_nht.h | ||
pbr_vrf.c | ||
pbr_vrf.h | ||
pbr_vty.c | ||
pbr_vty.h | ||
pbr_zebra.c | ||
pbr_zebra.h | ||
subdir.am |