|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] How to stop XenD creating bridge devices on startup?
Hi,
Bridge creating is enabled in xen-config.sxp
Comment this lines
#(network-script 'network-bridge netdev=eth1')
#(network-script network-bridge)
And uncomment this line:
(network-script network-dummy)
Regards,
Luiz Vitor Martinez Cardoso (Grabber)
Em Mon, 23 Jul 2007 04:26:37 +0100
"Daniel P. Berrange" <berrange@xxxxxxxxxx> escreveu:
> Prior to starting XenD I have a single bridge device 'eth0' containing a
> physical interface 'peth0':
>
> # brctl show
> bridge name bridge id STP enabled interfaces
> eth0 8000.00161745105a no peth0
>
> The /etc/xen/xend-config.sxp is configured to a no-op network-script config,
> and yet when I start XenD:
>
> # /etc/init.d/xend start
> Starting xend: [ OK ]
>
> It still feels the need to create a whole bunch of bridge devices...
>
> # brctl show
> bridge name bridge id STP enabled interfaces
> eth0 8000.00161745105a no peth0
> virbr0 8000.000000000000 no
> virbr1 8000.000000000000 no
> vnet0 8000.000000000000 no
>
> These bridge devices it is creating correspond to bridge devices I had
> previously configured on the host, but since deleted. XenD happily
> re-creates them every time it starts.
>
> This problem is pretty repeatable, if you simply define a bridge and
> then start & stop Xen
>
> # brctl addbr foo
> # /etc/init.d/xend start
> Starting xend: [ OK ]
> # /etc/init.d/xend stop
> Stopping xend: [ OK ]
>
> Now delete the bridge and start Xend again
>
> # brctl delbr foo
> # /etc/init.d/xend start
> Starting xend: [ OK ]
>
> Low and behold it has re-created the bridge
>
> # brctl show | grep foo
> foo 8000.000000000000 no
>
> This is seriously unhelpful behaviour, the only way to kill it seems to be
> to stop XenD and then hand edit its persistent state file.
>
> The problem code is in XendNode.py
>
> bridges = Brctl.get_state().keys()
> configured_bridges = [XendAPIStore.get(
> network_uuid, "network")
> .get_name_label()
> for network_uuid in XendNetwork.get_all()]
> unconfigured_bridges = [bridge
> for bridge in bridges
> if bridge not in configured_bridges]
> for unconfigured_bridge in unconfigured_bridges:
> XendNetwork.create_phy(unconfigured_bridge)
>
> This re-creates asks brctl for a list of all devices, records all their
> names and then re-creates any it previously saw, but which no longer
> exist. In essence once XenD has seen a bridge you can never remove it.
> IMHO, any devices XenD sees from 'brctl' need to be marked as 'transient'
> in some way and not kept in XenD persistent state file - it should only
> be re-creating bridges that the user created via XenD's APIs
>
> Dan.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|