On Mon, Jun 14, 2010 at 04:07:07PM +0100, Ian Jackson wrote:
> Previously, the default "network-script",
> /etc/xen/scripts/network-bridge, would attempt to do its horrid work
> even if you had already set everything up in /etc/network/interfaces.
>
Instead of talking about "/etc/network/interfaces" you could write
"distro-specific network scripts like /etc/network/interfaces or
/etc/sysconfig/network-scripts/ifcfg-*" :)
-- Pasi
> Setting up your bridge in /etc/network/interfaces is:
> * easy
> * required for libxl since libxl never does it for you
> * not a fragile piece of lunacy
> * properly documented
> * the way everyone would expect it to work
>
> In this small patch we make it so that the default config for xend
> doesn't mess about on startup if you already have a bridge, and
> doesn't mess about on shutdown unless your first-named bridge (eth0 or
> xenbr0, normally) doesn't also have a physical interface named
> p<whatever> (peth0 or pxenbr0) enslaved to it. The latter test is not
> ideal but will hopefully do from now until the time xend finally dies.
>
> We also fix the "documentation" - ie, the comments in the default
> xend-config.sxp - to correspond to reality.
>
> Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
>
>
> diff -r 125b3493dac9 tools/examples/xend-config.sxp
> --- a/tools/examples/xend-config.sxp Fri Jun 11 11:37:22 2010 +0100
> +++ b/tools/examples/xend-config.sxp Mon Jun 14 16:07:02 2010 +0100
> @@ -147,8 +147,22 @@
> #
> # (network-script 'network-bridge netdev=eth1')
> #
> -# The bridge is named xenbr0, by default. To rename the bridge, use
> +# The bridge is named eth0, by default (yes, really!)
> #
> +
> +# It is normally much better to create the bridge yourself in
> +# /etc/network/interfaces. network-bridge start does nothing if you
> +# already have a bridge, and network-bridge stop does nothing if the
> +# default bridge name (normally eth0) is not a bridge. See
> +# bridge-utils-interfaces(5) for full information on the syntax in
> +# /etc/network/interfaces, but you probably want something like this:
> +# iface xenbr0 inet static
> +# address [etc]
> +# netmask [etc]
> +# [etc]
> +# bridge_ports eth0
> +#
> +# To have network-bridge create a differently-named bridge, use:
> # (network-script 'network-bridge bridge=<name>')
> #
> # It is possible to use the network-bridge script in more complicated
> @@ -169,7 +183,8 @@
> # configuring a new vif, but a value specified here would act as a default.
> #
> # If you are using only one bridge, the vif-bridge script will discover that,
> -# so there is no need to specify it explicitly.
> +# so there is no need to specify it explicitly. The default is to use
> +# the bridge which is listed first in the output from brctl.
> #
> (vif-script vif-bridge)
>
> diff -r 125b3493dac9 tools/hotplug/Linux/network-bridge
> --- a/tools/hotplug/Linux/network-bridge Fri Jun 11 11:37:22 2010 +0100
> +++ b/tools/hotplug/Linux/network-bridge Mon Jun 14 16:07:02 2010 +0100
> @@ -216,6 +216,10 @@
> return
> fi
>
> + if [ `brctl show | wc -l` != 1 ]; then
> + return
> + fi
> +
> if link_exists "$pdev"; then
> # The device is already up.
> return
> @@ -263,6 +267,10 @@
> fi
> if ! link_exists "$bridge"; then
> return
> + fi
> + if ! [ -e "/sys/class/net/${bridge}/brif/${pdev}" ]; then
> + # $bridge is not a bridge to which pdev is enslaved
> + return
> fi
>
> claim_lock "network-bridge"
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|