core-agent-linux/vm-systemd
Rudd-O b7d8d66bb1 Eliminate race condition with qubes-setup-dnat-to-ns
qubes-setup-dnat-to-ns is called multiple times during boot.  Of particular interest are the two invocations done by:

1. `/usr/lib/qubes/init/network-proxy.setup.sh` (`qubes-network.service`)
2. `/usr/lib/qubes/init/misc-post.sh` (`qubes-misc-post.service`)

These can, and do often, run in parallel.  Often enough that the `PR-QBS` `nat` chain can end up with eight rules instead of four, or (worse) zero rules.

This commit represents the proper boot ordering of these services, where the post startup *must* happen after Qubes has already started its iptables, firewall, network setup and netwatcher.

This eliminates the race.
2016-10-12 15:19:46 +00:00
..
chronyd.service.d
cron.service.d
crond.service.d
cups.path.d
cups.service.d
cups.socket.d
getty@tty.service.d
ModemManager.service.d
netfilter-persistent.service.d
network-manager.service.d
NetworkManager-wait-online.service.d
NetworkManager.service.d
ntpd.service.d systemd: order units checking for qubes-service after qubes-sysinit 2016-05-12 00:17:05 +02:00
org.cups.cupsd.path.d
org.cups.cupsd.service.d
org.cups.cupsd.socket.d
systemd-random-seed.service.d
tinyproxy.service.d
tmp.mount.d
tor.service.d
tor@default.service.d
user
75-qubes-vm.preset
bind-dirs.sh
misc-post-stop.sh
misc-post.sh
mount-dirs.sh
network-proxy-setup.sh
prepare-dvm.sh
qubes-core-agent-linux.tmpfiles
qubes-core.conf systemd: load xen-privcmd module 2016-07-27 05:19:46 +02:00
qubes-dvm.service
qubes-firewall.service
qubes-iptables.service
qubes-misc-post.service Eliminate race condition with qubes-setup-dnat-to-ns 2016-10-12 15:19:46 +00:00
qubes-misc.conf
qubes-mount-dirs.service systemd: order qubes-mount-dirs.service before local-fs.target 2016-07-27 05:19:46 +02:00
qubes-netwatcher.service
qubes-network.service
qubes-qrexec-agent.service
qubes-random-seed.sh
qubes-sysinit.service
qubes-sysinit.sh
qubes-update-check.service
qubes-update-check.timer
qubes-updates-proxy.service