WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Xen

xen-devel

[Top] [All Lists]

[Xen-devel] [patch] xen bridged network setup fixes

To: Xen devel list <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] [patch] xen bridged network setup fixes
From: Gerd Hoffmann <kraxel@xxxxxxx>
Date: 2006年5月12日 12:24:18 +0200
Delivery-date: 2006年5月12日 03:24:44 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 1.5.0.2 (X11/20060411)
 Hi,
The attached patch fixes the setup of the bridge ports and the bridge
itself. Changes:
 * move some functions to xen-network-common.sh, so both vif-bridge
 and network-bridge can use them.
 * add a new function to configure bridge ports and use it.
 * make sure arp requests, ipv6 autoconfiguration and ipv6 router
 solicitations are disabled for the bridge ports and also for the
 bridge itself.
cheers,
 Gerd
-- 
Gerd Hoffmann <kraxel@xxxxxxx>
Erst mal heiraten, ein, zwei Kinder, und wenn alles läuft
geh' ich nach drei Jahren mit der Familie an die Börse.
http://www.suse.de/~kraxel/julika-dora.jpeg
--- /etc/xen/scripts/vif-bridge.ipv6 2006年05月11日 17:23:16.000000000 +0200
+++ /etc/xen/scripts/vif-bridge 2006年05月12日 09:12:12.000000000 +0200
@@ -48,16 +48,8 @@
 
 case "$command" in
 online)
- if brctl show | grep -q "$vif"
- then
- log debug "$vif already attached to a bridge"
- exit 0
- fi
-
- brctl addif "$bridge" "$vif" ||
- fatal "brctl addif $bridge $vif failed"
-
- ifconfig "$vif" up || fatal "ifconfig $vif up failed"
+ setup_bridge_port "$vif"
+ add_to_bridge "$bridge" "$vif"
 ;;
 
 offline)
--- /etc/xen/scripts/network-bridge.ipv6 2006年05月11日 17:23:30.000000000 
+0200
+++ /etc/xen/scripts/network-bridge 2006年05月12日 10:27:04.000000000 +0200
@@ -137,29 +137,6 @@
 }
 
 
-# Usage: create_bridge bridge
-create_bridge () {
- local bridge=1ドル
-
- # Don't create the bridge if it already exists.
- if [ ! -e "/sys/class/net/${bridge}/bridge" ]; then
- brctl addbr ${bridge}
- brctl stp ${bridge} off
- brctl setfd ${bridge} 0
- fi
- ip link set ${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 [ ! -e "/sys/class/net/${bridge}/brif/${dev}" ]; then
- brctl addif ${bridge} ${dev}
- fi
-}
-
 # Set the default forwarding policy for $dev to drop.
 # Allow forwarding to the bridge.
 antispoofing () {
@@ -220,15 +197,14 @@
 ifdown ${netdev}
 ip link set ${netdev} name ${pdev}
 ip link set ${vdev} name ${netdev}
- ip link set ${pdev} down arp off
- ip link set ${pdev} addr fe:ff:ff:ff:ff:ff
- ip addr flush ${pdev}
+
+ setup_bridge_port ${pdev}
+ setup_bridge_port ${vif0}
 ip link set ${netdev} addr ${mac} arp on
- add_to_bridge ${bridge} ${vif0}
 ip link set ${bridge} up
- ip link set ${vif0} up
- ip link set ${pdev} up
+ add_to_bridge ${bridge} ${vif0}
 add_to_bridge2 ${bridge} ${pdev}
+
 ip link set ${netdev} up
 ifup ${hwddev}
 else
@@ -286,6 +262,7 @@
 local maxtries=10
 
 echo -n "Waiting for ${dev} to negotiate link."
+ ip link set ${dev} up
 for i in `seq ${maxtries}` ; do
 if ifconfig ${dev} | grep -q RUNNING ; then
 break
--- /etc/xen/scripts/xen-network-common.sh.ipv6 2006年05月12日 08:58:19.000000000 
+0200
+++ /etc/xen/scripts/xen-network-common.sh 2006年05月12日 10:41:47.000000000 
+0200
@@ -67,3 +67,57 @@
 {
 first_file -x /etc/init.d/{dhcp3-server,dhcp,dhcpd}
 }
+
+# configure interfaces which act as pure bridge ports:
+# - make quiet: no arp, no ipv6 autoconf
+# - set mac address to fe:ff:ff:ff:ff:ff
+setup_bridge_port() {
+ local dev="1ドル"
+
+ # take interface down ...
+ ip link set ${dev} up # creates ipv6 conf dir
+ ip link set ${dev} down
+
+ # ... and configure
+ if test -f /proc/sys/net/ipv6/conf/${dev}/autoconf; then
+ echo 0 > /proc/sys/net/ipv6/conf/${dev}/autoconf
+ echo 0 > /proc/sys/net/ipv6/conf/${dev}/router_solicitations
+ fi
+ ip link set ${dev} arp off
+ ip link set ${dev} addr fe:ff:ff:ff:ff:ff
+ ip addr flush ${dev}
+}
+
+# Usage: create_bridge bridge
+create_bridge () {
+ local bridge=1ドル
+
+ # Don't create the bridge if it already exists.
+ if [ ! -e "/sys/class/net/${bridge}/bridge" ]; then
+ brctl addbr ${bridge}
+ brctl stp ${bridge} off
+ brctl setfd ${bridge} 0
+ ip link set ${bridge} arp off
+ ip link set ${bridge} up # creates ipv6 conf dir
+ if test -f /proc/sys/net/ipv6/conf/${bridge}/autoconf; then
+ echo 0 > /proc/sys/net/ipv6/conf/${bridge}/autoconf
+ echo 0 > /proc/sys/net/ipv6/conf/${bridge}/router_solicitations
+ fi
+ else
+ ip link set ${bridge} up
+ fi
+}
+
+# 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 [ -e "/sys/class/net/${bridge}/brif/${dev}" ]; then
+ return
+ fi
+ brctl addif ${bridge} ${dev}
+ ip link set ${dev} up
+}
+
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] [patch] xen bridged network setup fixes, Gerd Hoffmann <=
Previous by Date: Re: [Xen-devel] Xen Kernel (3.0.2) breaks b44 module , Keir Fraser
Next by Date: [Xen-devel] Re: [RFC PATCH 17/35] Segment register changes for Xen , Avi Kivity
Previous by Thread: [Xen-devel] Xen Kernel (3.0.2) breaks b44 module , xen
Next by Thread: [Xen-devel] question about foreign mapped page , schumi . han
Indexes: [Date] [Thread] [Top] [All Lists]

Copyright ©, Citrix Systems Inc. All rights reserved. Legal and Privacy
Citrix This site is hosted by Citrix

AltStyle によって変換されたページ (->オリジナル) /