Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 218700

Summary: circular dependency: openvpn and bridging
Product: Gentoo Linux Reporter: Christoph Brill (egore) (RESIGNED) <egore>
Component: [OLD] UnspecifiedAssignee: Gentoo's Team for Core System packages <base-system>
Status: RESOLVED INVALID    
Severity: normal CC: alonbl, cedk
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Christoph Brill (egore) (RESIGNED) 2008-04-21 08:20:44 UTC
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
Comment 1 Alon Bar-Lev (RETIRED) gentoo-dev 2008-04-21 16:16:48 UTC
I think you can use /etc/rc.conf to modify service dependency. Look for "SERVICE CONFIGURATION VARIABLES"
Comment 2 Christoph Brill (egore) (RESIGNED) 2010-07-04 13:00:43 UTC
Alon's idea was correct