I'm running a gentoo server that is hosting openvpn for me. I recently upgraded it to openvpn-2.1_rc7-r1 and openrc-0.2.2. I'm using a bridged network which means net.eth1 and openvpn are bridged to net.br0. But this now causes a circular dependecy when starting openvpn, since openvpn has listed "net" in it's dependencies, which is provided by net.br0, which needs openvpn, ... you get the point. Here's my /etc/conf.d/net modules=( "iproute2" ) tuntap_tap0="tap" config_eth1=( "null" ) bridge_br0=( "eth1 tap0" ) config_br0=( "192.168.123.123/24" ) routes_br0=( "default via 192.168.123.1" ) brctl_br0=( "stp on" ) depend_br0() { need net.eth1 openvpn } Changing: depend() { need localmount net to: it to openvpn-2.1_rc7-r1 and openrc-0.2.2. I'm using a bridged network which means net.eth1 and openvpn are bridged to net.br0. But this now causes a circular dependecy when starting openvpn, since openvpn has listed "net" in it's dependencies, which is provided by net.br0, which needs openvpn, ... you get the point. Here's my /etc/conf.d/net modules=( "iproute2" ) tuntap_tap0="tap" config_eth1=( "null" ) bridge_br0=( "eth1 tap0" ) config_br0=( "192.168.123.123/24" ) routes_br0=( "default via 192.168.123.1" ) brctl_br0=( "stp on" ) depend_br0() { need net.eth1 openvpn } Changing: depend() { need localmount works around that problem. This should be fine for all openvpn-server that have such configuration but breaks for openvpn clients. I'm not sure if this should be assigned to openrc (to fix the circular dependency in the service dependecy calculation) or to openvpn (to work around that issue). Reproducible: Always
I think you can use /etc/rc.conf to modify service dependency. Look for "SERVICE CONFIGURATION VARIABLES"
Alon's idea was correct