Hi team
We've found when you add or delete a nhrp tunnel , it restart the opennhrp process of all tunnels which trigger any connection to be lost. example below :
vyos@hub-dmvpn# compare [edit protocols nhrp] -tunnel tun104 { - cisco-authentication pass123 - holding-time 400 -} [edit] vyos@hub-dmvpn# commit vyos@vyos:~$ sudo systemctl status opennhrp ● opennhrp.service - OpenNHRP Loaded: loaded (/lib/systemd/system/opennhrp.service; static) Active: active (running) since Tue 2022-04-26 21:13:55 UTC; 11min ago Process: 8084 ExecStart=/usr/sbin/opennhrp -d -v -a /run/opennhrp.socket -c> Main PID: 8096 (opennhrp) Tasks: 1 (limit: 545) Memory: 932.0K CPU: 590ms CGroup: /system.slice/opennhrp.service └─8096 /usr/sbin/opennhrp -d -v -a /run/opennhrp.socket -c /run/op> Apr 26 21:24:14 hub-dmvpn opennhrp[8096]: NL-ARP(tun100) who-has 100.64.10.2 Apr 26 21:24:15 hub-dmvpn opennhrp[8096]: NL-ARP(tun100) who-has 100.64.10.2 Apr 26 21:24:30 hub-dmvpn opennhrp[8096]: NL-ARP(tun100) who-has 100.64.10.2 Apr 26 21:24:32 hub-dmvpn opennhrp[8096]: NL-ARP(tun100) who-has 100.64.10.2 Apr 26 21:24:44 hub-dmvpn opennhrp[8096]: Received Registration Request from pr> Apr 26 21:24:44 hub-dmvpn opennhrp[8096]: [100.64.10.2] Peer registration faile> Apr 26 21:24:44 hub-dmvpn opennhrp[8096]: Sending Registration Reply from proto> Apr 26 21:24:44 hub-dmvpn opennhrp[8096]: Sending packet 4, from: 100.64.10.2 ( Apr 26 21:13:54 hub-dmvpn opennhrp[2788]: Removing local 10.64.20.1/32 dev tun101 up Apr 26 21:13:54 hub-dmvpn opennhrp[2788]: Removing local 100.64.10.255/32 alias 100.64.10.1 dev tun100 up Apr 26 21:13:54 hub-dmvpn opennhrp[2788]: Removing local 100.64.10.1/32 dev tun100 up Apr 26 21:13:54 hub-dmvpn opennhrp[2788]: Removing dynamic 100.64.10.2/32 nbma 100.0.0.3 dev tun100 up expires_in 0:04 Apr 26 21:13:54 hub-dmvpn opennhrp[2788]: Removing local-route 172.16.80.0/24 nexthop 100.64.10.2 dev tun100 up Apr 26 21:13:54 hub-dmvpn opennhrp[2788]: NL-ARP(tun100) 100.64.10.2 not-reachable Apr 26 21:13:55 hub-dmvpn systemd[1]: opennhrp.service: Succeeded. Apr 26 21:13:55 hub-dmvpn systemd[1]: opennhrp.service: Consumed 49.880s CPU time. Apr 26 21:13:55 hub-dmvpn opennhrp[8084]: opennhrp[8084]: OpenNHRP 0.14-20-g613277f starting Apr 26 21:13:55 hub-dmvpn opennhrp[8084]: OpenNHRP 0.14-20-g613277f starting Apr 26 21:13:55 hub-dmvpn opennhrp[8084]: opennhrp[8084]: Interface lo: configured UP, mtu=0 Apr 26 21:13:55 hub-dmvpn opennhrp[8084]: Interface lo: configured UP, mtu=0 Apr 26 21:13:55 hub-dmvpn opennhrp[8084]: opennhrp[8084]: Interface eth0: configured UP, mtu=1500
it seems to be affected for this action (python code)
action = 'restart' if nhrp and 'tunnel' in nhrp else 'stop' run(f'systemctl {action} opennhrp') return None
we need to improve this behavior .