All of lore.kernel.org
 help / color / mirror / Atom feed
* RE: help with bugs
@ 2005-08-04 21:48 Ian Pratt
  2005-08-04 22:21 ` Sean Dague
  2005-08-05  0:07 ` [PATCH] network -> network-bridge rename WAS: Re: " Nivedita Singhvi
  0 siblings, 2 replies; 7+ messages in thread
From: Ian Pratt @ 2005-08-04 21:48 UTC (permalink / raw)
  To: Sean Dague; +Cc: xen-devel

> >  BUG62  eth0 -> veth0 in network script can loose network
> I can make this bug come and go at will based on which of the 
> 2 network interfaces are part of the bridge.  I added that 
> information into the bugzilla bug, hopefully that helps.

Are you changing the default 'netdev' at the top of the network script?

I take it that if you try and get it to work on eth1 it fails?

BTW: I'd like to see a few changes in the way this stuff works anyhow.

Firstly, rename network to network-bridge.

Next, I'd make it such that it's possible to have multiple
network-script lines, each with parameters e.g. something like:

(network-script ( network-bridge ( bridge xen-br0 ) ( netdev eth0 ) ) )
(network-script ( network-bridge ( bridge xen-br1 ) ( netdev eth1 ) ) )

[having multiple interfaces should result in multiple vif0.x and vethX
devices]

And then the vif-script along with default parameters e.g.

( vif-script ( vif-bridge ( bridge xen-br0 ) ( antispoof no ) ) )

Do others agree?
Could someone work up a patch?

Thanks,
Ian

 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: help with bugs
  2005-08-04 21:48 help with bugs Ian Pratt
@ 2005-08-04 22:21 ` Sean Dague
  2005-08-05  0:07 ` [PATCH] network -> network-bridge rename WAS: Re: " Nivedita Singhvi
  1 sibling, 0 replies; 7+ messages in thread
From: Sean Dague @ 2005-08-04 22:21 UTC (permalink / raw)
  To: xen-devel


[-- Attachment #1.1: Type: text/plain, Size: 1020 bytes --]

On Thu, Aug 04, 2005 at 10:48:50PM +0100, Ian Pratt wrote:
> > >  BUG62  eth0 -> veth0 in network script can loose network
> > I can make this bug come and go at will based on which of the 
> > 2 network interfaces are part of the bridge.  I added that 
> > information into the bugzilla bug, hopefully that helps.
> 
> Are you changing the default 'netdev' at the top of the network script?

No actually, I guess I'm not even clear why veth0 exists, as everything
works quite nicely for me without it functioning.

	-Sean

-- 
__________________________________________________________________

Sean Dague                                       Mid-Hudson Valley
sean at dague dot net                            Linux Users Group
http://dague.net                                 http://mhvlug.org

There is no silver bullet.  Plus, werewolves make better neighbors
than zombies, and they tend to keep the vampire population down.
__________________________________________________________________

[-- Attachment #1.2: Type: application/pgp-signature, Size: 189 bytes --]

[-- Attachment #2: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH] network -> network-bridge rename WAS: Re: RE: help with bugs
  2005-08-04 21:48 help with bugs Ian Pratt
  2005-08-04 22:21 ` Sean Dague
@ 2005-08-05  0:07 ` Nivedita Singhvi
  1 sibling, 0 replies; 7+ messages in thread
From: Nivedita Singhvi @ 2005-08-05  0:07 UTC (permalink / raw)
  To: Ian Pratt; +Cc: xen-devel, Sean Dague

[-- Attachment #1: Type: text/plain, Size: 1245 bytes --]

Ian Pratt wrote:

> BTW: I'd like to see a few changes in the way this stuff works anyhow.
> 
> Firstly, rename network to network-bridge.

Ian, I had started something along these lines. Just for grins,
resubmitting a freshly regenerated patch that just does above.

> Next, I'd make it such that it's possible to have multiple
> network-script lines, each with parameters e.g. something like:

I started this - but it became less than desirable to stick
all of this into xend. That is, what I was thinking was - we
simply point the tools to a configuration file that's a top
level script, and hide all of the meat of the work inside those
scripts. If we change the syntax, we wouldn't require a change
to the tools, would be one advantage.

> (network-script ( network-bridge ( bridge xen-br0 ) ( netdev eth0 ) ) )
> (network-script ( network-bridge ( bridge xen-br1 ) ( netdev eth1 ) ) )

> [having multiple interfaces should result in multiple vif0.x and vethX
> devices]
> 
> And then the vif-script along with default parameters e.g.
> 
> ( vif-script ( vif-bridge ( bridge xen-br0 ) ( antispoof no ) ) )
> 
> Do others agree?
> Could someone work up a patch?

Or we could do the above..

Signed-off-by: Nivedita Singhvi (niv@us.ibm.com)


[-- Attachment #2: p2 --]
[-- Type: text/plain, Size: 16252 bytes --]

diff -urN xen-unstable-0804/tools/examples/network xen-p1-0804/tools/examples/network
--- xen-unstable-0804/tools/examples/network	2005-08-03 20:53:24.000000000 -0700
+++ xen-p1-0804/tools/examples/network	1969-12-31 16:00:00.000000000 -0800
@@ -1,246 +0,0 @@
-#!/bin/sh
-#============================================================================
-# Default Xen network start/stop script.
-# Xend calls a network script when it starts.
-# The script name to use is defined in /etc/xen/xend-config.sxp
-# in the network-script field.
-#
-# This script creates a bridge (default xen-br0), adds a device
-# (default eth0) to it, copies the IP addresses from the device
-# to the bridge and adjusts the routes accordingly.
-#
-# If all goes well, this should ensure that networking stays up.
-# However, some configurations are upset by this, especially
-# NFS roots. If the bridged setup does not meet your needs,
-# configure a different script, for example using routing instead.
-#
-# Usage:
-#
-# network (start|stop|status) {VAR=VAL}*
-#
-# Vars:
-#
-# bridge     The bridge to use (default xen-br0).
-# netdev     The interface to add to the bridge (default eth0).
-# antispoof  Whether to use iptables to prevent spoofing (default yes).
-#
-# start:
-# Creates the bridge and enslaves netdev to it.
-# Copies the IP addresses from netdev to the bridge.
-# Deletes the routes to netdev and adds them on bridge.
-#
-# stop:
-# Removes netdev from the bridge.
-# Deletes the routes to bridge and adds them to netdev.
-#
-# status:
-# Print ifconfig for netdev and bridge.
-# Print routes.
-#
-#============================================================================
-
-# Exit if anything goes wrong.
-set -e 
-
-# First arg is the operation.
-OP=$1
-shift
-
-# Pull variables in args in to environment.
-for arg ; do export "${arg}" ; done
-
-bridge=${bridge:-xen-br0}
-netdev=${netdev:-eth0}
-antispoof=${antispoof:-yes}
-
-echo "*network $OP bridge=$bridge netdev=$netdev antispoof=$antispoof" >&2
-
-# Usage: transfer_addrs src dst
-# Copy all IP addresses (including aliases) from device $src to device $dst.
-transfer_addrs () {
-    local src=$1
-    local dst=$2
-    # Don't bother if $dst already has IP addresses.
-    if ip addr show dev ${dst} | egrep -q '^ *inet ' ; then
-        return
-    fi
-    # Address lines start with 'inet' and have the device in them.
-    # Replace 'inet' with 'ip addr add' and change the device name $src
-    # to 'dev $src'.
-    ip addr show dev ${src} | egrep '^ *inet ' | sed -e "
-s/inet/ip addr add/
-s@\([0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+/[0-9]\+\)@\1@
-s/${src}/dev ${dst}/
-" | sh -e
-    # Remove automatic routes on destionation device
-    ip route list | sed -ne "
-/dev ${dst}\( \|$\)/ {
-  s/^/ip route del /
-  p
-}" | sh -e
-}
-
-# Usage: del_addrs src
-del_addrs () {
-    local src=$1
-    ip addr show dev ${src} | egrep '^ *inet ' | sed -e "
-s/inet/ip addr del/
-s@\([0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+\)/[0-9]\+@\1@
-s/${src}/dev ${src}/
-" | sh -e
-}
-
-# Usage: transfer_routes src dst
-# Get all IP routes to device $src, delete them, and
-# add the same routes to device $dst.
-# The original routes have to be deleted, otherwise adding them
-# for $dst fails (duplicate routes).
-transfer_routes () {
-    local src=$1
-    local dst=$2
-    # List all routes and grep the ones with $src in.
-    # Stick 'ip route del' on the front to delete.
-    # Change $src to $dst and use 'ip route add' to add.
-    ip route list | sed -ne "
-/dev ${src}\( \|$\)/ {
-  h
-  s/^/ip route del /
-  P
-  g
-  s/${src}/${dst}/
-  s/^/ip route add /
-  P
-  d
-}" | sh -e
-}
-
-# Usage: create_bridge bridge
-create_bridge () {
-    local bridge=$1
-
-    # Don't create the bridge if it already exists.
-    if ! brctl show | grep -q ${bridge} ; then
-        brctl addbr ${bridge}
-        brctl stp ${bridge} off
-        brctl setfd ${bridge} 0
-    fi
-    ifconfig ${bridge} up
-}
-
-# Usage: add_to_bridge bridge dev
-add_to_bridge () {
-    local bridge=$1
-    local dev=$2
-    # Don't add $dev to $bridge if it's already on a bridge.
-    if ! brctl show | grep -q ${dev} ; then
-        brctl addif ${bridge} ${dev}
-    fi
-}
-
-# Usage: antispoofing dev bridge
-# Set the default forwarding policy for $dev to drop.
-# Allow forwarding to the bridge.
-antispoofing () {
-    local dev=$1
-    local bridge=$2
-
-    iptables -P FORWARD DROP
-    iptables -A FORWARD -m physdev --physdev-in ${dev} -j ACCEPT
-}
-
-# Usage: show_status dev bridge
-# Print ifconfig and routes.
-show_status () {
-    local dev=$1
-    local bridge=$2
-    
-    echo '============================================================'
-    ifconfig ${dev}
-    ifconfig ${bridge}
-    echo ' '
-    ip route list
-    echo ' '
-    route -n
-    echo '============================================================'
-}
-
-op_start () {
-    if [ "${bridge}" == "null" ] ; then
-        return
-    fi
-
-    create_bridge ${bridge}
-
-    if ifconfig 2>/dev/null | grep -q veth0 ; then
-        return
-    fi
-
-    if ifconfig veth0 2>/dev/null | grep -q veth0 ; then
-        # Propagate MAC address and ARP responsibilities to virtual interface.
-        mac=`ifconfig ${netdev} | grep HWadd | sed -e 's/.*\(..:..:..:..:..:..\).*/\1/'`
-        ifconfig veth0 down
-        ifconfig veth0 hw ether ${mac}
-        ifconfig veth0 arp up
-        transfer_addrs ${netdev} veth0
-        transfer_routes ${netdev} veth0
-        del_addrs ${netdev}
-        ifconfig ${netdev} -arp down
-        ifconfig ${netdev} hw ether fe:ff:ff:ff:ff:ff up
-        # Bring up second half of virtual device and attach it to the bridge.
-        ifconfig vif0.0 up
-        add_to_bridge ${bridge} vif0.0
-    else
-        transfer_addrs ${netdev} ${bridge}
-        transfer_routes ${netdev} ${bridge}
-    fi
-
-    # Attach the real interface to the bridge.
-    add_to_bridge ${bridge} ${netdev}
-    
-    if [ ${antispoof} == 'yes' ] ; then
-        antispoofing ${netdev} ${bridge}
-    fi
-}
-
-op_stop () {
-    if [ "${bridge}" == "null" ] ; then
-        return
-    fi
-
-    brctl delif ${bridge} ${netdev}
-
-    if ifconfig veth0 2>/dev/null | grep -q veth0 ; then
-        brctl delif ${bridge} vif0.0
-        ifconfig vif0.0 down
-        mac=`ifconfig veth0 | grep HWadd | sed -e 's/.*\(..:..:..:..:..:..\).*/\1/'`
-        ifconfig ${netdev} down
-        ifconfig ${netdev} hw ether ${mac}
-        ifconfig ${netdev} arp up
-        transfer_addrs veth0 ${netdev}
-        transfer_routes veth0 ${netdev}
-        del_addrs veth0
-        ifconfig veth0 -arp down
-        ifconfig veth0 hw ether 00:00:00:00:00:00
-    else
-        transfer_routes ${bridge} ${netdev}
-    fi
-}
-
-case ${OP} in
-  start)
-        op_start
-        ;;
-    
-    stop)
-        op_stop
-        ;;
-
-    status)
-        show_status ${netdev} ${bridge}
-       ;;
-
-    *)
-       echo 'Unknown command: ' ${OP} >&2
-       echo 'Valid commands are: start, stop, status' >&2
-       exit 1
-esac
diff -urN xen-unstable-0804/tools/examples/network-bridge xen-p1-0804/tools/examples/network-bridge
--- xen-unstable-0804/tools/examples/network-bridge	1969-12-31 16:00:00.000000000 -0800
+++ xen-p1-0804/tools/examples/network-bridge	2005-08-03 20:53:24.000000000 -0700
@@ -0,0 +1,246 @@
+#!/bin/sh
+#============================================================================
+# Default Xen network start/stop script.
+# Xend calls a network script when it starts.
+# The script name to use is defined in /etc/xen/xend-config.sxp
+# in the network-script field.
+#
+# This script creates a bridge (default xen-br0), adds a device
+# (default eth0) to it, copies the IP addresses from the device
+# to the bridge and adjusts the routes accordingly.
+#
+# If all goes well, this should ensure that networking stays up.
+# However, some configurations are upset by this, especially
+# NFS roots. If the bridged setup does not meet your needs,
+# configure a different script, for example using routing instead.
+#
+# Usage:
+#
+# network (start|stop|status) {VAR=VAL}*
+#
+# Vars:
+#
+# bridge     The bridge to use (default xen-br0).
+# netdev     The interface to add to the bridge (default eth0).
+# antispoof  Whether to use iptables to prevent spoofing (default yes).
+#
+# start:
+# Creates the bridge and enslaves netdev to it.
+# Copies the IP addresses from netdev to the bridge.
+# Deletes the routes to netdev and adds them on bridge.
+#
+# stop:
+# Removes netdev from the bridge.
+# Deletes the routes to bridge and adds them to netdev.
+#
+# status:
+# Print ifconfig for netdev and bridge.
+# Print routes.
+#
+#============================================================================
+
+# Exit if anything goes wrong.
+set -e 
+
+# First arg is the operation.
+OP=$1
+shift
+
+# Pull variables in args in to environment.
+for arg ; do export "${arg}" ; done
+
+bridge=${bridge:-xen-br0}
+netdev=${netdev:-eth0}
+antispoof=${antispoof:-yes}
+
+echo "*network $OP bridge=$bridge netdev=$netdev antispoof=$antispoof" >&2
+
+# Usage: transfer_addrs src dst
+# Copy all IP addresses (including aliases) from device $src to device $dst.
+transfer_addrs () {
+    local src=$1
+    local dst=$2
+    # Don't bother if $dst already has IP addresses.
+    if ip addr show dev ${dst} | egrep -q '^ *inet ' ; then
+        return
+    fi
+    # Address lines start with 'inet' and have the device in them.
+    # Replace 'inet' with 'ip addr add' and change the device name $src
+    # to 'dev $src'.
+    ip addr show dev ${src} | egrep '^ *inet ' | sed -e "
+s/inet/ip addr add/
+s@\([0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+/[0-9]\+\)@\1@
+s/${src}/dev ${dst}/
+" | sh -e
+    # Remove automatic routes on destionation device
+    ip route list | sed -ne "
+/dev ${dst}\( \|$\)/ {
+  s/^/ip route del /
+  p
+}" | sh -e
+}
+
+# Usage: del_addrs src
+del_addrs () {
+    local src=$1
+    ip addr show dev ${src} | egrep '^ *inet ' | sed -e "
+s/inet/ip addr del/
+s@\([0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+\)/[0-9]\+@\1@
+s/${src}/dev ${src}/
+" | sh -e
+}
+
+# Usage: transfer_routes src dst
+# Get all IP routes to device $src, delete them, and
+# add the same routes to device $dst.
+# The original routes have to be deleted, otherwise adding them
+# for $dst fails (duplicate routes).
+transfer_routes () {
+    local src=$1
+    local dst=$2
+    # List all routes and grep the ones with $src in.
+    # Stick 'ip route del' on the front to delete.
+    # Change $src to $dst and use 'ip route add' to add.
+    ip route list | sed -ne "
+/dev ${src}\( \|$\)/ {
+  h
+  s/^/ip route del /
+  P
+  g
+  s/${src}/${dst}/
+  s/^/ip route add /
+  P
+  d
+}" | sh -e
+}
+
+# Usage: create_bridge bridge
+create_bridge () {
+    local bridge=$1
+
+    # Don't create the bridge if it already exists.
+    if ! brctl show | grep -q ${bridge} ; then
+        brctl addbr ${bridge}
+        brctl stp ${bridge} off
+        brctl setfd ${bridge} 0
+    fi
+    ifconfig ${bridge} up
+}
+
+# Usage: add_to_bridge bridge dev
+add_to_bridge () {
+    local bridge=$1
+    local dev=$2
+    # Don't add $dev to $bridge if it's already on a bridge.
+    if ! brctl show | grep -q ${dev} ; then
+        brctl addif ${bridge} ${dev}
+    fi
+}
+
+# Usage: antispoofing dev bridge
+# Set the default forwarding policy for $dev to drop.
+# Allow forwarding to the bridge.
+antispoofing () {
+    local dev=$1
+    local bridge=$2
+
+    iptables -P FORWARD DROP
+    iptables -A FORWARD -m physdev --physdev-in ${dev} -j ACCEPT
+}
+
+# Usage: show_status dev bridge
+# Print ifconfig and routes.
+show_status () {
+    local dev=$1
+    local bridge=$2
+    
+    echo '============================================================'
+    ifconfig ${dev}
+    ifconfig ${bridge}
+    echo ' '
+    ip route list
+    echo ' '
+    route -n
+    echo '============================================================'
+}
+
+op_start () {
+    if [ "${bridge}" == "null" ] ; then
+        return
+    fi
+
+    create_bridge ${bridge}
+
+    if ifconfig 2>/dev/null | grep -q veth0 ; then
+        return
+    fi
+
+    if ifconfig veth0 2>/dev/null | grep -q veth0 ; then
+        # Propagate MAC address and ARP responsibilities to virtual interface.
+        mac=`ifconfig ${netdev} | grep HWadd | sed -e 's/.*\(..:..:..:..:..:..\).*/\1/'`
+        ifconfig veth0 down
+        ifconfig veth0 hw ether ${mac}
+        ifconfig veth0 arp up
+        transfer_addrs ${netdev} veth0
+        transfer_routes ${netdev} veth0
+        del_addrs ${netdev}
+        ifconfig ${netdev} -arp down
+        ifconfig ${netdev} hw ether fe:ff:ff:ff:ff:ff up
+        # Bring up second half of virtual device and attach it to the bridge.
+        ifconfig vif0.0 up
+        add_to_bridge ${bridge} vif0.0
+    else
+        transfer_addrs ${netdev} ${bridge}
+        transfer_routes ${netdev} ${bridge}
+    fi
+
+    # Attach the real interface to the bridge.
+    add_to_bridge ${bridge} ${netdev}
+    
+    if [ ${antispoof} == 'yes' ] ; then
+        antispoofing ${netdev} ${bridge}
+    fi
+}
+
+op_stop () {
+    if [ "${bridge}" == "null" ] ; then
+        return
+    fi
+
+    brctl delif ${bridge} ${netdev}
+
+    if ifconfig veth0 2>/dev/null | grep -q veth0 ; then
+        brctl delif ${bridge} vif0.0
+        ifconfig vif0.0 down
+        mac=`ifconfig veth0 | grep HWadd | sed -e 's/.*\(..:..:..:..:..:..\).*/\1/'`
+        ifconfig ${netdev} down
+        ifconfig ${netdev} hw ether ${mac}
+        ifconfig ${netdev} arp up
+        transfer_addrs veth0 ${netdev}
+        transfer_routes veth0 ${netdev}
+        del_addrs veth0
+        ifconfig veth0 -arp down
+        ifconfig veth0 hw ether 00:00:00:00:00:00
+    else
+        transfer_routes ${bridge} ${netdev}
+    fi
+}
+
+case ${OP} in
+  start)
+        op_start
+        ;;
+    
+    stop)
+        op_stop
+        ;;
+
+    status)
+        show_status ${netdev} ${bridge}
+       ;;
+
+    *)
+       echo 'Unknown command: ' ${OP} >&2
+       echo 'Valid commands are: start, stop, status' >&2
+       exit 1
+esac
diff -urN xen-unstable-0804/tools/examples/README xen-p1-0804/tools/examples/README
--- xen-unstable-0804/tools/examples/README	2005-08-03 20:53:24.000000000 -0700
+++ xen-p1-0804/tools/examples/README	2005-08-04 16:27:37.939395892 -0700
@@ -9,8 +9,18 @@
 send it (preferably with a little summary to go in this file) to
 <xen-devel@lists.sourceforge.net> so we can add it to this directory.
 
-network             - default network setup script called by xend at startup.
-vif-bridge          - default virtual network interface setup script.
+Network setup scripts called by xend on startup:
+------------------------------------------------
+network-bridge      - for bridging case 
+network-route       - for routing 
+network-nat         - for routing with NAT
+
+Vif setup script called by xen on startup:
+------------------------------------------
+vif-bridge          - for bridging case
+vif-route           - for routing
+vif-nat             - for routing with NAT
+
 xend-config.sxp     - default xend configuration file.
 xmexample1          - example configuration script for 'xm create'.
 xmexample2          - a more complex configuration script for 'xm create'.
diff -urN xen-unstable-0804/tools/examples/xend-config.sxp xen-p1-0804/tools/examples/xend-config.sxp
--- xen-unstable-0804/tools/examples/xend-config.sxp	2005-08-03 20:53:24.000000000 -0700
+++ xen-p1-0804/tools/examples/xend-config.sxp	2005-08-04 16:41:08.504696262 -0700
@@ -26,9 +26,15 @@
 # The default script used to control virtual interfaces.
 #(vif-script         vif-route)
 
+## Use the following if VIF traffic is routed/NAT.
+# The script used to start/stop networking for xend.
+#(network-script     network-nat)
+# The default script used to control virtual interfaces.
+#(vif-script         vif-nat)
+
 ## Use the following if VIF traffic is bridged.
 # The script used to start/stop networking for xend.
-(network-script    network)
+(network-script    network-bridge)
 # The default bridge that virtual interfaces should be connected to.
 (vif-bridge        xen-br0)
 # The default script used to control virtual interfaces.

[-- Attachment #3: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* RE: [PATCH] network -> network-bridge rename WAS: Re: RE: help with bugs
@ 2005-08-05  0:55 Ian Pratt
  2005-08-05 12:18 ` Sean Dague
  0 siblings, 1 reply; 7+ messages in thread
From: Ian Pratt @ 2005-08-05  0:55 UTC (permalink / raw)
  To: Nivedita Singhvi; +Cc: xen-devel, Sean Dague

> > Next, I'd make it such that it's possible to have multiple 
> > network-script lines, each with parameters e.g. something like:
> 
> I started this - but it became less than desirable to stick 
> all of this into xend. That is, what I was thinking was - we 
> simply point the tools to a configuration file that's a top 
> level script, and hide all of the meat of the work inside 
> those scripts. If we change the syntax, we wouldn't require a 
> change to the tools, would be one advantage.
> 
> > (network-script ( network-bridge ( bridge xen-br0 ) ( 
> netdev eth0 ) ) 
> > ) (network-script ( network-bridge ( bridge xen-br1 ) ( 
> netdev eth1 ) 
> > ) )

I guess we could just point it at a top-level script, but it seems a bit
of a cop out, and rather different to the way we configure and invoke
other helper scripts. 

I think at the very least we should allow the 'netdev' to be cloned and
added to the bridge to be specified in xend-config.sxp. I guess this
could be another top-level variable, or better specified as a parameter
to the network-script (as above).

I guess setups with multiple active NICs are relatively rare and can be
dealt with using a top-level script (or configured manually).

NB: The default for 'network-script' should be to run no script at all.


Ian 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] network -> network-bridge rename WAS: Re: RE: help with bugs
  2005-08-05  0:55 Ian Pratt
@ 2005-08-05 12:18 ` Sean Dague
  0 siblings, 0 replies; 7+ messages in thread
From: Sean Dague @ 2005-08-05 12:18 UTC (permalink / raw)
  To: Ian Pratt; +Cc: xen-devel


[-- Attachment #1.1: Type: text/plain, Size: 2401 bytes --]

On Fri, Aug 05, 2005 at 01:55:19AM +0100, Ian Pratt wrote:
> > > Next, I'd make it such that it's possible to have multiple 
> > > network-script lines, each with parameters e.g. something like:
> > 
> > I started this - but it became less than desirable to stick 
> > all of this into xend. That is, what I was thinking was - we 
> > simply point the tools to a configuration file that's a top 
> > level script, and hide all of the meat of the work inside 
> > those scripts. If we change the syntax, we wouldn't require a 
> > change to the tools, would be one advantage.
> > 
> > > (network-script ( network-bridge ( bridge xen-br0 ) ( 
> > netdev eth0 ) ) 
> > > ) (network-script ( network-bridge ( bridge xen-br1 ) ( 
> > netdev eth1 ) 
> > > ) )
> 
> I guess we could just point it at a top-level script, but it seems a bit
> of a cop out, and rather different to the way we configure and invoke
> other helper scripts. 
> 
> I think at the very least we should allow the 'netdev' to be cloned and
> added to the bridge to be specified in xend-config.sxp. I guess this
> could be another top-level variable, or better specified as a parameter
> to the network-script (as above).
> 
> I guess setups with multiple active NICs are relatively rare and can be
> dealt with using a top-level script (or configured manually).

I'd disagree with that (unless I am misunderstanding the definition of
active).  Every pizza box server I've seen ship in the last 3 years has had
dual onboard nics.  Dual nic setup for server (one for production and one
for administration) is best practice for any reasonable size server
environment.

> NB: The default for 'network-script' should be to run no script at all.
> 
> 
> Ian 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel
> 

-- 
__________________________________________________________________

Sean Dague                                       Mid-Hudson Valley
sean at dague dot net                            Linux Users Group
http://dague.net                                 http://mhvlug.org

There is no silver bullet.  Plus, werewolves make better neighbors
than zombies, and they tend to keep the vampire population down.
__________________________________________________________________

[-- Attachment #1.2: Type: application/pgp-signature, Size: 189 bytes --]

[-- Attachment #2: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* RE: [PATCH] network -> network-bridge rename WAS: Re: RE: help with bugs
@ 2005-08-05 14:13 Ian Pratt
  2005-08-09 13:00 ` Sean Dague
  0 siblings, 1 reply; 7+ messages in thread
From: Ian Pratt @ 2005-08-05 14:13 UTC (permalink / raw)
  To: Sean Dague; +Cc: xen-devel

> > I guess setups with multiple active NICs are relatively 
> rare and can 
> > be dealt with using a top-level script (or configured manually).
> 
> I'd disagree with that (unless I am misunderstanding the 
> definition of active).  Every pizza box server I've seen ship 
> in the last 3 years has had dual onboard nics.  Dual nic 
> setup for server (one for production and one for 
> administration) is best practice for any reasonable size 
> server environment.

I think you're actually agreeing with me.

Having a separate dom0 interface for administration is certainly good
practice. 
However, having multiple bridges is probably relatively rare, so we can
probably get away with not having multiple network-script lines.
However, I'd prefer that we could.

> > NB: The default for 'network-script' should be to run no 
> script at all.

That's true for versions shipped with a distro, but right now, having
the network-bridge script as the default when xend starts should
actually work for most people.

It probably won't if you're using NFS root or anything else fancy, but I
still think its worth having.

The current observed flakiness by some people is disturbing and we need
to understand why. Please can someone who is seeing this problem please
dig in to it. We've run the script on lots of different machines without
seeing problems.

Thanks,
Ian

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] network -> network-bridge rename WAS: Re: RE: help with bugs
  2005-08-05 14:13 Ian Pratt
@ 2005-08-09 13:00 ` Sean Dague
  0 siblings, 0 replies; 7+ messages in thread
From: Sean Dague @ 2005-08-09 13:00 UTC (permalink / raw)
  To: xen-devel


[-- Attachment #1.1: Type: text/plain, Size: 2193 bytes --]

On Fri, Aug 05, 2005 at 03:13:33PM +0100, Ian Pratt wrote:
> > > I guess setups with multiple active NICs are relatively 
> > rare and can 
> > > be dealt with using a top-level script (or configured manually).
> > 
> > I'd disagree with that (unless I am misunderstanding the 
> > definition of active).  Every pizza box server I've seen ship 
> > in the last 3 years has had dual onboard nics.  Dual nic 
> > setup for server (one for production and one for 
> > administration) is best practice for any reasonable size 
> > server environment.
> 
> I think you're actually agreeing with me.
> 
> Having a separate dom0 interface for administration is certainly good
> practice.  However, having multiple bridges is probably relatively rare,
> so we can probably get away with not having multiple network-script lines.
> However, I'd prefer that we could.

I was thinking about this over the weekend, and it occured to me that this
might not be the case.  Today, when we are all doing testing on
xen-unstable, we're pretty much always running test domUs so have something
like:

ethX -> bridged/routed to domUs
ethY -> dom0 only, in case ethX dies

However, in many production environment you need an administrative lan to
all servers to apply software updates and the like.  So you'd actually have.

ethX -> bridged/routed production lan for domUs
ethY -> bridged/routed admin lan for domUs

Hopefully ethY would be reliable enough that we wouldn't need a 3rd NIC to
be admin for dom0 in the event of xen network stack fall over, but we might.

Not proposing any solutions as yet, but it is worth noting that this might
not be as uncommon as first thought.

	-Sean

-- 
__________________________________________________________________

Sean Dague                                       Mid-Hudson Valley
sean at dague dot net                            Linux Users Group
http://dague.net                                 http://mhvlug.org

There is no silver bullet.  Plus, werewolves make better neighbors
than zombies, and they tend to keep the vampire population down.
__________________________________________________________________

[-- Attachment #1.2: Type: application/pgp-signature, Size: 189 bytes --]

[-- Attachment #2: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2005-08-09 13:00 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-08-04 21:48 help with bugs Ian Pratt
2005-08-04 22:21 ` Sean Dague
2005-08-05  0:07 ` [PATCH] network -> network-bridge rename WAS: Re: " Nivedita Singhvi
  -- strict thread matches above, loose matches on Subject: below --
2005-08-05  0:55 Ian Pratt
2005-08-05 12:18 ` Sean Dague
2005-08-05 14:13 Ian Pratt
2005-08-09 13:00 ` Sean Dague

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.