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 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH] tools/hotplug/Linux: Ensure tap devices receive

To: John Weekes <lists.xen@xxxxxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] tools/hotplug/Linux: Ensure tap devices receive a dummy MAC address
From: Ian Campbell <Ian.Campbell@xxxxxxxxxx>
Date: Tue, 4 Jan 2011 10:53:26 +0000
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Tue, 04 Jan 2011 02:54:56 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <1294133746.3831.31.camel@xxxxxxxxxxxxxxxxxxxxxx>
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/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Organization: Citrix Systems, Inc.
References: <ca87e5178d11a91092a5.1291741833@xxxxxxxxxxxxxxxxxxxxxxxxx> <4D153803.8030908@xxxxxxxxxxxxxxxxxx> <1294133746.3831.31.camel@xxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
On Tue, 2011-01-04 at 09:35 +0000, Ian Campbell wrote:
> On Sat, 2010-12-25 at 00:17 +0000, John Weekes wrote:
> > Ian,
> > 
> > This appears to have the side effect on dom0 of also causing both eth0 
> > and peth0 to have MAC fe:ff:ff:ff:ff:ff. I had to revert it to make 
> > networking work properly again for me.
> 
> That's unexpected, to say the least! I'll take a look. Thanks for
> reporting.
> 
> Are you using xend or xl?
> 
> Do you rely on the network-bridge script to setup your host networking
> (the xend way) or are you using the distro network configuration (the xl
> way).

Nevermind, I reproduced with xend+network-bridge. This fixes it for me:

(BTW these days we would recommend that instead of relying on xend to
configure your bridges that you use the distro network configuration
facilities instead)

8<-----------------------------------------

# HG changeset patch
# User Ian Campbell <ian.campbell@xxxxxxxxxx>
# Date 1294136795 0
# Node ID d6a80e856d5bdb44d884adead46d1ed1556c1fe6
# Parent  8418dfcad441483000cc3965edf3ff090c9b3583
tools/hotplug/Linux: only apply dummy MAC address to virtual devices.

Avoid applying to the bridge and physical network device.

Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

diff -r 8418dfcad441 -r d6a80e856d5b tools/hotplug/Linux/network-bridge
--- a/tools/hotplug/Linux/network-bridge        Tue Jan 04 09:52:53 2011 +0000
+++ b/tools/hotplug/Linux/network-bridge        Tue Jan 04 10:26:35 2011 +0000
@@ -244,7 +244,7 @@ op_start () {
     ip link set ${netdev} name ${pdev}
     ip link set ${tdev} name ${bridge}
 
-    setup_bridge_port ${pdev}
+    setup_physical_bridge_port ${pdev}
 
     # Restore slaves
     if [ -n "${slaves}" ]; then
diff -r 8418dfcad441 -r d6a80e856d5b tools/hotplug/Linux/vif-bridge
--- a/tools/hotplug/Linux/vif-bridge    Tue Jan 04 09:52:53 2011 +0000
+++ b/tools/hotplug/Linux/vif-bridge    Tue Jan 04 10:26:35 2011 +0000
@@ -81,7 +81,7 @@ fi
 
 case "$command" in
     online)
-        setup_bridge_port "$dev"
+        setup_virtual_bridge_port "$dev"
         add_to_bridge "$bridge" "$dev"
         ;;
 
@@ -91,7 +91,7 @@ case "$command" in
         ;;
 
     add)
-        setup_bridge_port "$dev"
+        setup_virtual_bridge_port "$dev"
         add_to_bridge "$bridge" "$dev"
         ;;
 esac
diff -r 8418dfcad441 -r d6a80e856d5b tools/hotplug/Linux/vif2
--- a/tools/hotplug/Linux/vif2  Tue Jan 04 09:52:53 2011 +0000
+++ b/tools/hotplug/Linux/vif2  Tue Jan 04 10:26:35 2011 +0000
@@ -23,7 +23,7 @@ case "$command" in
     "online")
        if [ "$bridge" != "-" ]
            then
-           setup_bridge_port "$vif"
+           setup_virtual_bridge_port "$vif"
            add_to_bridge "$bridge" "$vif"
        else
            # Just let the normal udev rules for interfaces handle it.
diff -r 8418dfcad441 -r d6a80e856d5b tools/hotplug/Linux/xen-network-common.sh
--- a/tools/hotplug/Linux/xen-network-common.sh Tue Jan 04 09:52:53 2011 +0000
+++ b/tools/hotplug/Linux/xen-network-common.sh Tue Jan 04 10:26:35 2011 +0000
@@ -80,20 +80,30 @@ find_dhcpd_arg_file()
 }
 
 # configure interfaces which act as pure bridge ports:
-setup_bridge_port() {
+_setup_bridge_port() {
     local dev="$1"
+    local virtual="$2"
 
     # take interface down ...
     ip link set ${dev} down
 
-    # Initialise a dummy MAC address. We choose the numerically
-    # largest non-broadcast address to prevent the address getting
-    # stolen by an Ethernet bridge for STP purposes.
-    # (FE:FF:FF:FF:FF:FF)
-    ip link set ${dev} address fe:ff:ff:ff:ff:ff || true
+    if [ $virtual -ne 0 ] ; then
+        # Initialise a dummy MAC address. We choose the numerically
+        # largest non-broadcast address to prevent the address getting
+        # stolen by an Ethernet bridge for STP purposes.
+        # (FE:FF:FF:FF:FF:FF)
+        ip link set ${dev} address fe:ff:ff:ff:ff:ff || true
+    fi
 
     # ... and configure it
     ip addr flush ${dev}
+}
+
+setup_physical_bridge_port() {
+    _setup_bridge_port $1 0
+}
+setup_virtual_bridge_port() {
+    _setup_bridge_port $1 1
 }
 
 # Usage: create_bridge bridge



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

<Prev in Thread] Current Thread [Next in Thread>