|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
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
 
 |   
 
 | 
    | 
  
  
    |   | 
    |