On NHRP deletion generate() returns before re-rendering the nftables file, and apply() reloads the stale rules.
Location
src/conf_mode/protocols_nhrp.py:101-103, :110
data/templates/frr/nhrpd_nftables.conf.j2:14-15, :25-26
Problem
generate() returns on deleted before rendering; apply() runs nft --file on the stale file.
Impact
Multicast dropped on a tunnel after NHRP is removed (OSPF hellos etc.) until reboot.